From f402c96053cd86cb1b757564a2e94b7592e6f30d Mon Sep 17 00:00:00 2001 From: Patrick Dowell Date: Sun, 5 Feb 2023 23:11:15 -0800 Subject: [PATCH] MetaTransactionData changes --- .../interfaces/IMetaTransactionsFeature.sol | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/contracts/zero-ex/contracts/src/features/interfaces/IMetaTransactionsFeature.sol b/contracts/zero-ex/contracts/src/features/interfaces/IMetaTransactionsFeature.sol index 33ec75bc18..c037f1949d 100644 --- a/contracts/zero-ex/contracts/src/features/interfaces/IMetaTransactionsFeature.sol +++ b/contracts/zero-ex/contracts/src/features/interfaces/IMetaTransactionsFeature.sol @@ -44,6 +44,30 @@ interface IMetaTransactionsFeature { uint256 feeAmount; } + struct MetaTransactionFeeData { + // ERC20 fee recipient + address recipient; + // ERC20 fee amount + uint256 amount; + } + + struct MetaTransactionDataV2 { + // Signer of meta-transaction. On whose behalf to execute the MTX. + address payable signer; + // Required sender, or NULL for anyone. + address sender; + // MTX is invalid after this time. + uint256 expirationTimeSeconds; + // Nonce to make this MTX unique. + uint256 salt; + // Encoded call data to a function on the exchange proxy. + bytes callData; + // ERC20 fee `signer` pays `sender`. + IERC20TokenV06 feeToken; + // ERC20 fees. + MetaTransactionFeeData[] fees; + } + /// @dev Emitted whenever a meta-transaction is executed via /// `executeMetaTransaction()` or `executeMetaTransactions()`. /// @param hash The meta-transaction hash.