Encoding Function Call Parameters
In order to not overflow smart contract bytecode size limits, Payment Processor is split into smaller library modules. When making calls to Payment Processor, these calls are forwarded to the corresponding module and implementation function using DELEGATECALL. For gas efficiency purposes, the function calldata must be passed in as a raw calldata byte array. Payment Processor is deployed with a helper contract called the PaymentProcessorEncoder. It accepts the expected function implementation parameters and encodes them as a single calldata byte array that should be passed into Payment Processor when making calls to fill orders. The subsections below detail each PaymentProcessorEncoder function.
encodeCreatePaymentMethodWhitelistCalldata
Used to encode calldata for Payment Processor createPaymentMethodWhitelist function.
function encodeCreatePaymentMethodWhitelistCalldata(
address paymentProcessorAddress,
string calldata whitelistName
) external view returns (bytes memory);
encodeReassignOwnershipOfPaymentMethodWhitelistCalldata
Used to encode calldata for Payment Processor reassignOwnershipOfPaymentMethodWhitelist function.
function encodeReassignOwnershipOfPaymentMethodWhitelistCalldata(
address paymentProcessorAddress,
uint32 id,
address newOwner
) external view returns (bytes memory)
encodeRenounceOwnershipOfPaymentMethodWhitelistCalldata
Used to encode calldata for Payment Processor renounceOwnershipOfPaymentMethodWhitelist function.
function encodeRenounceOwnershipOfPaymentMethodWhitelistCalldata(
address paymentProcessorAddress,
uint32 id
) external view returns (bytes memory)
encodeWhitelistPaymentMethodCalldata
Used to encode calldata for Payment Processor whitelistPaymentMethod function.
function encodeWhitelistPaymentMethodCalldata(
address paymentProcessorAddress,
uint32 paymentMethodWhitelistId,
address paymentMethod
) external view returns (bytes memory);
encodeUnwhitelistPaymentMethodCalldata
Used to encode calldata for Payment Processor unwhitelistPaymentMethod function.
function encodeUnwhitelistPaymentMethodCalldata(
address paymentProcessorAddress,
uint32 paymentMethodWhitelistId,
address paymentMethod
) external view returns (bytes memory);
encodeSetCollectionPaymentSettingsCalldata
Used to encode calldata for Payment Processor setCollectionPaymentSettings function.
function encodeSetCollectionPaymentSettingsCalldata(
address paymentProcessorAddress,
address tokenAddress,
PaymentSettings paymentSettings,
uint32 paymentMethodWhitelistId,
address constrainedPricingPaymentMethod,
uint16 royaltyBackfillNumerator,
address royaltyBackfillReceiver,
uint16 royaltyBountyNumerator,
address exclusiveBountyReceiver,
bool blockTradesFromUntrustedChannels,
bool blockBannedAccounts
);
encodeSetCollectionPricingBoundsCalldata
Used to encode calldata for Payment Processor setCollectionPricingBounds function.
function encodeSetCollectionPricingBoundsCalldata(
address paymentProcessorAddress,
address tokenAddress,
PricingBounds calldata pricingBounds
);
encodeSetTokenPricingBoundsCalldata
Used to encode calldata for Payment Processor setTokenPricingBounds function.
function encodeSetTokenPricingBoundsCalldata(
address paymentProcessorAddress,
address tokenAddress,
uint256[] calldata tokenIds,
PricingBounds[] calldata pricingBounds
);
encodeAddTrustedChannelForCollectionCalldata
Used to encode calldata for Payment Processor addTrustedChannelForCollection function.
function encodeAddTrustedChannelForCollectionCalldata(
address paymentProcessorAddress,
address tokenAddress,
address channel
) external view returns (bytes memory);
encodeRemoveTrustedChannelForCollectionCalldata
Used to encode calldata for Payment Processor removeTrustedChannelForCollection function.
function encodeRemoveTrustedChannelForCollectionCalldata(
address paymentProcessorAddress,
address tokenAddress,
address channel
) external view returns (bytes memory);
encodeAddBannedAccountForCollectionCalldata
Used to encode calldata for Payment Processor addBannedAccountForCollection function.
function encodeAddBannedAccountForCollectionCalldata(
address paymentProcessorAddress,
address tokenAddress,
address account
) external view returns (bytes memory);
encodeRemoveBannedAccountForCollectionCalldata
Used to encode calldata for Payment Processor removeBannedAccountForCollection function.
function encodeRemoveBannedAccountForCollectionCalldata(
address paymentProcessorAddress,
address tokenAddress,
address account
) external view returns (bytes memory);
