Module Permit2

Module Permit2 

Source
Expand description

Generated by the following Solidity interface…

library IAllowanceTransfer {
    struct AllowanceTransferDetails {
        address from;
        address to;
        uint160 amount;
        address token;
    }
    struct PermitBatch {
        PermitDetails[] details;
        address spender;
        uint256 sigDeadline;
    }
    struct PermitDetails {
        address token;
        uint160 amount;
        uint48 expiration;
        uint48 nonce;
    }
    struct PermitSingle {
        PermitDetails details;
        address spender;
        uint256 sigDeadline;
    }
    struct TokenSpenderPair {
        address token;
        address spender;
    }
}

library ISignatureTransfer {
    struct PermitBatchTransferFrom {
        TokenPermissions[] permitted;
        uint256 nonce;
        uint256 deadline;
    }
    struct PermitTransferFrom {
        TokenPermissions permitted;
        uint256 nonce;
        uint256 deadline;
    }
    struct SignatureTransferDetails {
        address to;
        uint256 requestedAmount;
    }
    struct TokenPermissions {
        address token;
        uint256 amount;
    }
}

interface Permit2 {
    error AllowanceExpired(uint256 deadline);
    error ExcessiveInvalidation();
    error InsufficientAllowance(uint256 amount);
    error InvalidAmount(uint256 maxAmount);
    error InvalidContractSignature();
    error InvalidNonce();
    error InvalidSignature();
    error InvalidSignatureLength();
    error InvalidSigner();
    error LengthMismatch();
    error SignatureExpired(uint256 signatureDeadline);

    event Approval(address indexed owner, address indexed token, address indexed spender, uint160 amount, uint48 expiration);
    event Lockdown(address indexed owner, address token, address spender);
    event NonceInvalidation(address indexed owner, address indexed token, address indexed spender, uint48 newNonce, uint48 oldNonce);
    event Permit(address indexed owner, address indexed token, address indexed spender, uint160 amount, uint48 expiration, uint48 nonce);
    event UnorderedNonceInvalidation(address indexed owner, uint256 word, uint256 mask);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function allowance(address, address, address) external view returns (uint160 amount, uint48 expiration, uint48 nonce);
    function approve(address token, address spender, uint160 amount, uint48 expiration) external;
    function invalidateNonces(address token, address spender, uint48 newNonce) external;
    function invalidateUnorderedNonces(uint256 wordPos, uint256 mask) external;
    function lockdown(IAllowanceTransfer.TokenSpenderPair[] memory approvals) external;
    function nonceBitmap(address, uint256) external view returns (uint256);
    function permit(address owner, IAllowanceTransfer.PermitBatch memory permitBatch, bytes memory signature) external;
    function permit(address owner, IAllowanceTransfer.PermitSingle memory permitSingle, bytes memory signature) external;
    function permitTransferFrom(ISignatureTransfer.PermitTransferFrom memory permit, ISignatureTransfer.SignatureTransferDetails memory transferDetails, address owner, bytes memory signature) external;
    function permitTransferFrom(ISignatureTransfer.PermitBatchTransferFrom memory permit, ISignatureTransfer.SignatureTransferDetails[] memory transferDetails, address owner, bytes memory signature) external;
    function permitWitnessTransferFrom(ISignatureTransfer.PermitTransferFrom memory permit, ISignatureTransfer.SignatureTransferDetails memory transferDetails, address owner, bytes32 witness, string memory witnessTypeString, bytes memory signature) external;
    function permitWitnessTransferFrom(ISignatureTransfer.PermitBatchTransferFrom memory permit, ISignatureTransfer.SignatureTransferDetails[] memory transferDetails, address owner, bytes32 witness, string memory witnessTypeString, bytes memory signature) external;
    function transferFrom(IAllowanceTransfer.AllowanceTransferDetails[] memory transferDetails) external;
    function transferFrom(address from, address to, uint160 amount, address token) external;
}

…which was generated by the following JSON ABI:

[
  {
    "type": "function",
    "name": "DOMAIN_SEPARATOR",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "allowance",
    "inputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "amount",
        "type": "uint160",
        "internalType": "uint160"
      },
      {
        "name": "expiration",
        "type": "uint48",
        "internalType": "uint48"
      },
      {
        "name": "nonce",
        "type": "uint48",
        "internalType": "uint48"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "approve",
    "inputs": [
      {
        "name": "token",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "spender",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "amount",
        "type": "uint160",
        "internalType": "uint160"
      },
      {
        "name": "expiration",
        "type": "uint48",
        "internalType": "uint48"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "invalidateNonces",
    "inputs": [
      {
        "name": "token",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "spender",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "newNonce",
        "type": "uint48",
        "internalType": "uint48"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "invalidateUnorderedNonces",
    "inputs": [
      {
        "name": "wordPos",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "mask",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "lockdown",
    "inputs": [
      {
        "name": "approvals",
        "type": "tuple[]",
        "internalType": "struct IAllowanceTransfer.TokenSpenderPair[]",
        "components": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "spender",
            "type": "address",
            "internalType": "address"
          }
        ]
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "nonceBitmap",
    "inputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "permit",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "permitBatch",
        "type": "tuple",
        "internalType": "struct IAllowanceTransfer.PermitBatch",
        "components": [
          {
            "name": "details",
            "type": "tuple[]",
            "internalType": "struct IAllowanceTransfer.PermitDetails[]",
            "components": [
              {
                "name": "token",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "amount",
                "type": "uint160",
                "internalType": "uint160"
              },
              {
                "name": "expiration",
                "type": "uint48",
                "internalType": "uint48"
              },
              {
                "name": "nonce",
                "type": "uint48",
                "internalType": "uint48"
              }
            ]
          },
          {
            "name": "spender",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "sigDeadline",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "name": "signature",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "permit",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "permitSingle",
        "type": "tuple",
        "internalType": "struct IAllowanceTransfer.PermitSingle",
        "components": [
          {
            "name": "details",
            "type": "tuple",
            "internalType": "struct IAllowanceTransfer.PermitDetails",
            "components": [
              {
                "name": "token",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "amount",
                "type": "uint160",
                "internalType": "uint160"
              },
              {
                "name": "expiration",
                "type": "uint48",
                "internalType": "uint48"
              },
              {
                "name": "nonce",
                "type": "uint48",
                "internalType": "uint48"
              }
            ]
          },
          {
            "name": "spender",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "sigDeadline",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "name": "signature",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "permitTransferFrom",
    "inputs": [
      {
        "name": "permit",
        "type": "tuple",
        "internalType": "struct ISignatureTransfer.PermitTransferFrom",
        "components": [
          {
            "name": "permitted",
            "type": "tuple",
            "internalType": "struct ISignatureTransfer.TokenPermissions",
            "components": [
              {
                "name": "token",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "amount",
                "type": "uint256",
                "internalType": "uint256"
              }
            ]
          },
          {
            "name": "nonce",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "deadline",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "name": "transferDetails",
        "type": "tuple",
        "internalType": "struct ISignatureTransfer.SignatureTransferDetails",
        "components": [
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "requestedAmount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "name": "owner",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "signature",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "permitTransferFrom",
    "inputs": [
      {
        "name": "permit",
        "type": "tuple",
        "internalType": "struct ISignatureTransfer.PermitBatchTransferFrom",
        "components": [
          {
            "name": "permitted",
            "type": "tuple[]",
            "internalType": "struct ISignatureTransfer.TokenPermissions[]",
            "components": [
              {
                "name": "token",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "amount",
                "type": "uint256",
                "internalType": "uint256"
              }
            ]
          },
          {
            "name": "nonce",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "deadline",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "name": "transferDetails",
        "type": "tuple[]",
        "internalType": "struct ISignatureTransfer.SignatureTransferDetails[]",
        "components": [
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "requestedAmount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "name": "owner",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "signature",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "permitWitnessTransferFrom",
    "inputs": [
      {
        "name": "permit",
        "type": "tuple",
        "internalType": "struct ISignatureTransfer.PermitTransferFrom",
        "components": [
          {
            "name": "permitted",
            "type": "tuple",
            "internalType": "struct ISignatureTransfer.TokenPermissions",
            "components": [
              {
                "name": "token",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "amount",
                "type": "uint256",
                "internalType": "uint256"
              }
            ]
          },
          {
            "name": "nonce",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "deadline",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "name": "transferDetails",
        "type": "tuple",
        "internalType": "struct ISignatureTransfer.SignatureTransferDetails",
        "components": [
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "requestedAmount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "name": "owner",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "witness",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "witnessTypeString",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "signature",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "permitWitnessTransferFrom",
    "inputs": [
      {
        "name": "permit",
        "type": "tuple",
        "internalType": "struct ISignatureTransfer.PermitBatchTransferFrom",
        "components": [
          {
            "name": "permitted",
            "type": "tuple[]",
            "internalType": "struct ISignatureTransfer.TokenPermissions[]",
            "components": [
              {
                "name": "token",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "amount",
                "type": "uint256",
                "internalType": "uint256"
              }
            ]
          },
          {
            "name": "nonce",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "deadline",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "name": "transferDetails",
        "type": "tuple[]",
        "internalType": "struct ISignatureTransfer.SignatureTransferDetails[]",
        "components": [
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "requestedAmount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "name": "owner",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "witness",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "witnessTypeString",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "signature",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "transferFrom",
    "inputs": [
      {
        "name": "transferDetails",
        "type": "tuple[]",
        "internalType": "struct IAllowanceTransfer.AllowanceTransferDetails[]",
        "components": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint160",
            "internalType": "uint160"
          },
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          }
        ]
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "transferFrom",
    "inputs": [
      {
        "name": "from",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "to",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "amount",
        "type": "uint160",
        "internalType": "uint160"
      },
      {
        "name": "token",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "event",
    "name": "Approval",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "token",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "spender",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "amount",
        "type": "uint160",
        "indexed": false,
        "internalType": "uint160"
      },
      {
        "name": "expiration",
        "type": "uint48",
        "indexed": false,
        "internalType": "uint48"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "Lockdown",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "token",
        "type": "address",
        "indexed": false,
        "internalType": "address"
      },
      {
        "name": "spender",
        "type": "address",
        "indexed": false,
        "internalType": "address"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "NonceInvalidation",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "token",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "spender",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "newNonce",
        "type": "uint48",
        "indexed": false,
        "internalType": "uint48"
      },
      {
        "name": "oldNonce",
        "type": "uint48",
        "indexed": false,
        "internalType": "uint48"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "Permit",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "token",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "spender",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "amount",
        "type": "uint160",
        "indexed": false,
        "internalType": "uint160"
      },
      {
        "name": "expiration",
        "type": "uint48",
        "indexed": false,
        "internalType": "uint48"
      },
      {
        "name": "nonce",
        "type": "uint48",
        "indexed": false,
        "internalType": "uint48"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "UnorderedNonceInvalidation",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "word",
        "type": "uint256",
        "indexed": false,
        "internalType": "uint256"
      },
      {
        "name": "mask",
        "type": "uint256",
        "indexed": false,
        "internalType": "uint256"
      }
    ],
    "anonymous": false
  },
  {
    "type": "error",
    "name": "AllowanceExpired",
    "inputs": [
      {
        "name": "deadline",
        "type": "uint256",
        "internalType": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "ExcessiveInvalidation",
    "inputs": []
  },
  {
    "type": "error",
    "name": "InsufficientAllowance",
    "inputs": [
      {
        "name": "amount",
        "type": "uint256",
        "internalType": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "InvalidAmount",
    "inputs": [
      {
        "name": "maxAmount",
        "type": "uint256",
        "internalType": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "InvalidContractSignature",
    "inputs": []
  },
  {
    "type": "error",
    "name": "InvalidNonce",
    "inputs": []
  },
  {
    "type": "error",
    "name": "InvalidSignature",
    "inputs": []
  },
  {
    "type": "error",
    "name": "InvalidSignatureLength",
    "inputs": []
  },
  {
    "type": "error",
    "name": "InvalidSigner",
    "inputs": []
  },
  {
    "type": "error",
    "name": "LengthMismatch",
    "inputs": []
  },
  {
    "type": "error",
    "name": "SignatureExpired",
    "inputs": [
      {
        "name": "signatureDeadline",
        "type": "uint256",
        "internalType": "uint256"
      }
    ]
  }
]

Structs§

AllowanceExpired
Custom error with signature AllowanceExpired(uint256) and selector 0xd81b2f2e.
Approval
Event with signature Approval(address,address,address,uint160,uint48) and selector 0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b.
DOMAIN_SEPARATORCall
Function with signature DOMAIN_SEPARATOR() and selector 0x3644e515.
DOMAIN_SEPARATORReturn
Container type for the return parameters of the DOMAIN_SEPARATOR() function.
ExcessiveInvalidation
Custom error with signature ExcessiveInvalidation() and selector 0x24d35a26.
InsufficientAllowance
Custom error with signature InsufficientAllowance(uint256) and selector 0xf96fb071.
InvalidAmount
Custom error with signature InvalidAmount(uint256) and selector 0x3728b83d.
InvalidContractSignature
Custom error with signature InvalidContractSignature() and selector 0xb0669cbc.
InvalidNonce
Custom error with signature InvalidNonce() and selector 0x756688fe.
InvalidSignature
Custom error with signature InvalidSignature() and selector 0x8baa579f.
InvalidSignatureLength
Custom error with signature InvalidSignatureLength() and selector 0x4be6321b.
InvalidSigner
Custom error with signature InvalidSigner() and selector 0x815e1d64.
LengthMismatch
Custom error with signature LengthMismatch() and selector 0xff633a38.
Lockdown
Event with signature Lockdown(address,address,address) and selector 0x89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4.
NonceInvalidation
Event with signature NonceInvalidation(address,address,address,uint48,uint48) and selector 0x55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f3.
Permit
Event with signature Permit(address,address,address,uint160,uint48,uint48) and selector 0xc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec.
Permit2Instance
A Permit2 instance.
SignatureExpired
Custom error with signature SignatureExpired(uint256) and selector 0xcd21db4f.
UnorderedNonceInvalidation
Event with signature UnorderedNonceInvalidation(address,uint256,uint256) and selector 0x3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d.
allowanceCall
Function with signature allowance(address,address,address) and selector 0x927da105.
allowanceReturn
Container type for the return parameters of the allowance(address,address,address) function.
approveCall
Function with signature approve(address,address,uint160,uint48) and selector 0x87517c45.
approveReturn
Container type for the return parameters of the approve(address,address,uint160,uint48) function.
invalidateNoncesCall
Function with signature invalidateNonces(address,address,uint48) and selector 0x65d9723c.
invalidateNoncesReturn
Container type for the return parameters of the invalidateNonces(address,address,uint48) function.
invalidateUnorderedNoncesCall
Function with signature invalidateUnorderedNonces(uint256,uint256) and selector 0x3ff9dcb1.
invalidateUnorderedNoncesReturn
Container type for the return parameters of the invalidateUnorderedNonces(uint256,uint256) function.
lockdownCall
Function with signature lockdown((address,address)[]) and selector 0xcc53287f.
lockdownReturn
Container type for the return parameters of the lockdown((address,address)[]) function.
nonceBitmapCall
Function with signature nonceBitmap(address,uint256) and selector 0x4fe02b44.
nonceBitmapReturn
Container type for the return parameters of the nonceBitmap(address,uint256) function.
permitTransferFrom_0Call
Function with signature permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes) and selector 0x30f28b7a.
permitTransferFrom_0Return
Container type for the return parameters of the permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes) function.
permitTransferFrom_1Call
Function with signature permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes) and selector 0xedd9444b.
permitTransferFrom_1Return
Container type for the return parameters of the permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes) function.
permitWitnessTransferFrom_0Call
Function with signature permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes) and selector 0x137c29fe.
permitWitnessTransferFrom_0Return
Container type for the return parameters of the permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes) function.
permitWitnessTransferFrom_1Call
Function with signature permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes) and selector 0xfe8ec1a7.
permitWitnessTransferFrom_1Return
Container type for the return parameters of the permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes) function.
permit_0Call
Function with signature permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes) and selector 0x2a2d80d1.
permit_0Return
Container type for the return parameters of the permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes) function.
permit_1Call
Function with signature permit(address,((address,uint160,uint48,uint48),address,uint256),bytes) and selector 0x2b67b570.
permit_1Return
Container type for the return parameters of the permit(address,((address,uint160,uint48,uint48),address,uint256),bytes) function.
transferFrom_0Call
Function with signature transferFrom((address,address,uint160,address)[]) and selector 0x0d58b1db.
transferFrom_0Return
Container type for the return parameters of the transferFrom((address,address,uint160,address)[]) function.
transferFrom_1Call
Function with signature transferFrom(address,address,uint160,address) and selector 0x36c78516.
transferFrom_1Return
Container type for the return parameters of the transferFrom(address,address,uint160,address) function.

Enums§

Permit2Calls
Container for all the Permit2 function calls.
Permit2Errors
Container for all the Permit2 custom errors.
Permit2Events
Container for all the Permit2 events.

Statics§

BYTECODE
The creation / init bytecode of the contract.
DEPLOYED_BYTECODE
The runtime bytecode of the contract, as deployed on the network.

Functions§

deploy
Deploys this contract using the given provider and constructor arguments, if any.
deploy_builder
Creates a RawCallBuilder for deploying this contract using the given provider and constructor arguments, if any.
new
Creates a new wrapper around an on-chain Permit2 contract instance.