96 txs
127 calls
constructor
constructor(address multisigWallet, address[] operators, address[] tokenLimitManagers, address _trustedForwarder, address _treasury, address _permit2, address _gaslessTxSupplier, address[] tokens, uint256[] limits)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
gaslessTxSupplier
viewfunction gaslessTxSupplier() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
OPERATOR_ROLE
viewfunction OPERATOR_ROLE() view returns (bytes32)
paymentTokenLimit
viewfunction paymentTokenLimit(address) view returns (uint256)
permit2
viewfunction permit2() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
TOKEN_LIMIT_MANAGER_ROLE
viewfunction TOKEN_LIMIT_MANAGER_ROLE() view returns (bytes32)
treasury
viewfunction treasury() view returns (address)
trustedForwarder
viewfunction trustedForwarder() view returns (address)
changeTokenLimit
nonpayablefunction changeTokenLimit(address[] tokens, uint256[] limits)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
relayCall
nonpayablefunction relayCall(tuple request, tuple paymentData)
relayCallWithPermit
nonpayablefunction relayCallWithPermit(tuple request, tuple paymentData, tuple permitSignatureDetails, bytes permitSingleSignature)
relayCallWithTwoPermits
nonpayablefunction relayCallWithTwoPermits(tuple request, tuple paymentData, tuple permitSignatureDetails, bytes permitSingleSignature, tuple tokenPermitSignatureDetails)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
events
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
TokenLimitChanged
event TokenLimitChanged(address indexed token, uint256 limit)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
ArraysLengthMismatch
error ArraysLengthMismatch()
NotEnoughAllowanceInPermit
error NotEnoughAllowanceInPermit()
PaymentAmountExceedsLimit
error PaymentAmountExceedsLimit()
SignerAndSupplierMismatch
error SignerAndSupplierMismatch()
ZeroAddress
error ZeroAddress()
ZeroAmount
error ZeroAmount()
ZeroLimit
error ZeroLimit()
creation bytecode
0x6101006040523480156200001257600080fd5b5060405162001d7838038062001d788339810160408190526200003591620005d1565b888888868886866001600160a01b038416620000645760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038085166080528316620000925760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03831660a052815181518114620000c3576040516307e11acb60e51b815260040160405180910390fd5b60005b81811015620001c05760006001600160a01b0316848281518110620000ef57620000ef620006e9565b60200260200101516001600160a01b0316036200011f5760405163d92e233d60e01b815260040160405180910390fd5b828181518110620001345762000134620006e9565b60200260200101516000036200015d576040516396cb8a7f60e01b815260040160405180910390fd5b828181518110620001725762000172620006e9565b602002602001015160016000868481518110620001935762000193620006e9565b6020908102919091018101516001600160a01b0316825281019190915260400160002055600101620000c6565b505050505050620001d98383836200023b60201b60201c565b5050506001600160a01b0386161580620001fa57506001600160a01b038316155b15620002195760405163d92e233d60e01b815260040160405180910390fd5b50506001600160a01b0393841660c05290921660e05250620006ff9350505050565b62000248600084620003b0565b50815160005b81811015620003025760006001600160a01b0316848281518110620002775762000277620006e9565b60200260200101516001600160a01b031603620002a75760405163d92e233d60e01b815260040160405180910390fd5b620002f87f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960001b858381518110620002e457620002e4620006e9565b6020026020010151620003b060201b60201c565b506001016200024e565b5050805160005b81811015620003a95760006001600160a01b0316838281518110620003325762000332620006e9565b60200260200101516001600160a01b031603620003625760405163d92e233d60e01b815260040160405180910390fd5b6200039f7f4686484b15e172a401b231a2ed3b8588c6c98d0cb8e2680650da6b7ba087f00a60001b848381518110620002e457620002e4620006e9565b5060010162000309565b5050505050565b6000828152602081815260408083206001600160a01b038516845290915281205460ff1662000455576000838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556200040c3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600162000459565b5060005b92915050565b80516001600160a01b03811681146200047757600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715620004bd57620004bd6200047c565b604052919050565b60006001600160401b03821115620004e157620004e16200047c565b5060051b60200190565b600082601f830112620004fd57600080fd5b81516020620005166200051083620004c5565b62000492565b8083825260208201915060208460051b8701019350868411156200053957600080fd5b602086015b84811015620005605762000552816200045f565b83529183019183016200053e565b509695505050505050565b600082601f8301126200057d57600080fd5b81516020620005906200051083620004c5565b8083825260208201915060208460051b870101935086841115620005b357600080fd5b602086015b84811015620005605780518352918301918301620005b8565b60008060008060008060008060006101208a8c031215620005f157600080fd5b620005fc8a6200045f565b60208b01519099506001600160401b03808211156200061a57600080fd5b620006288d838e01620004eb565b995060408c01519150808211156200063f57600080fd5b6200064d8d838e01620004eb565b98506200065d60608d016200045f565b97506200066d60808d016200045f565b96506200067d60a08d016200045f565b95506200068d60c08d016200045f565b945060e08c0151915080821115620006a457600080fd5b620006b28d838e01620004eb565b93506101008c0151915080821115620006ca57600080fd5b50620006d98c828d016200056b565b9150509295985092959850929598565b634e487b7160e01b600052603260045260246000fd5b60805160a05160c05160e0516115eb6200078d600039600081816102dc015281816103ae015281816106990152610821015260008181610240015281816104240152818161071001526108940152600081816102190152610e9f0152600081816101480152818161096301528181610a6301528181610c5601528181610cf30152610e6b01526115eb6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80637da0a877116100a2578063a217fddf11610071578063a217fddf146102bc578063d547741f146102c4578063e3bdd3cc146102d7578063f5b541a6146102fe578063faf56f111461031357600080fd5b80637da0a8771461023b5780638a7b706a1461026257806391d14854146102825780639df88d4c1461029557600080fd5b806326658001116100e957806326658001146101c85780632f2ff15d146101db57806336568abe146101ee5780633d60a0791461020157806361d027b31461021457600080fd5b806301ffc9a71461011b57806312261ee7146101435780631b5c3e6614610182578063248a9ca314610197575b600080fd5b61012e610129366004610f80565b610326565b60405190151581526020015b60405180910390f35b61016a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161013a565b610195610190366004611036565b61035d565b005b6101ba6101a53660046110c6565b60009081526020819052604090206001015490565b60405190815260200161013a565b6101956101d6366004611124565b610495565b6101956101e93660046111a5565b6105e5565b6101956101fc3660046111a5565b610610565b61019561020f3660046111d5565b610648565b61016a7f000000000000000000000000000000000000000000000000000000000000000081565b61016a7f000000000000000000000000000000000000000000000000000000000000000081565b6101ba610270366004611281565b60016020526000908152604090205481565b61012e6102903660046111a5565b610782565b6101ba7f4686484b15e172a401b231a2ed3b8588c6c98d0cb8e2680650da6b7ba087f00a81565b6101ba600081565b6101956102d23660046111a5565b6107ab565b61016a7f000000000000000000000000000000000000000000000000000000000000000081565b6101ba60008051602061159683398151915281565b61019561032136600461129e565b6107d0565b60006001600160e01b03198216637965db0b60e01b148061035757506301ffc9a760e01b6001600160e01b03198316145b92915050565b60008051602061159683398151915261037581610902565b6103826020870187611281565b61038f6020870187611281565b806001600160a01b0316826001600160a01b0316141580156103e357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b1561040157604051630eeb58e160e21b815260040160405180910390fd5b61040d8787878761090f565b60405163df905caf60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063df905caf90610459908b90600401611380565b600060405180830381600087803b15801561047357600080fd5b505af1158015610487573d6000803e3d6000fd5b505050505050505050505050565b7f4686484b15e172a401b231a2ed3b8588c6c98d0cb8e2680650da6b7ba087f00a6104bf81610902565b838281146104e0576040516307e11acb60e51b815260040160405180910390fd5b60005b818110156105dc5760008787838181106104ff576104ff611442565b90506020020160208101906105149190611281565b9050600086868481811061052a5761052a611442565b60200291909101359150506001600160a01b03821661055c5760405163d92e233d60e01b815260040160405180910390fd5b8060000361057d576040516396cb8a7f60e01b815260040160405180910390fd5b6001600160a01b03821660008181526001602052604090819020839055517fce80fab9f5839c2af35764d51e8a00ba01de25470c6c7d7a61bed6eddb7f5132906105ca9084815260200190565b60405180910390a250506001016104e3565b50505050505050565b60008281526020819052604090206001015461060081610902565b61060a8383610afb565b50505050565b6001600160a01b03811633146106395760405163334bd91960e11b815260040160405180910390fd5b6106438282610b8d565b505050565b60008051602061159683398151915261066081610902565b61066d6020880188611281565b61067a6020880188611281565b806001600160a01b0316826001600160a01b0316141580156106ce57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b156106ec57604051630eeb58e160e21b815260040160405180910390fd5b6106f98888888888610bf8565b60405163df905caf60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063df905caf90610745908c90600401611380565b600060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b50505050505050505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6000828152602081905260409020600101546107c681610902565b61060a8383610b8d565b6000805160206115968339815191526107e881610902565b6107f56020840184611281565b6108026020840184611281565b806001600160a01b0316826001600160a01b03161415801561085657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b1561087457604051630eeb58e160e21b815260040160405180910390fd5b61087d84610dc5565b60405163df905caf60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063df905caf906108c9908890600401611380565b600060405180830381600087803b1580156108e357600080fd5b505af11580156108f7573d6000803e3d6000fd5b505050505050505050565b61090c8133610f3f565b50565b60408401351561060a576109296040840160208501611281565b6001600160a01b031684604001351115610956576040516324b52b1360e11b815260040160405180910390fd5b6000806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663927da1056109956020890189611281565b6109a26020890189611281565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152306044820152606401606060405180830381865afa1580156109f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a179190611458565b509092509050610a2d6040860160208701611281565b6001600160a01b0316826001600160a01b0316141580610a545750428165ffffffffffff16105b15610aea576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016632b67b570610a956020890189611281565b8787876040518563ffffffff1660e01b8152600401610ab794939291906114a5565b600060405180830381600087803b158015610ad157600080fd5b505af1158015610ae5573d6000803e3d6000fd5b505050505b610af386610dc5565b505050505050565b6000610b078383610782565b610b85576000838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055610b3d3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001610357565b506000610357565b6000610b998383610782565b15610b85576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4506001610357565b604085013515610dbe57600019610c156040870160208801611281565b6001600160a01b031663dd62ed3e610c306020890189611281565b60405160e083901b6001600160e01b03191681526001600160a01b0391821660048201527f00000000000000000000000000000000000000000000000000000000000000009091166024820152604401602060405180830381865afa158015610c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc19190611559565b14610db257610cd66040860160208701611281565b6001600160a01b031663d505accf610cf16020880188611281565b7f00000000000000000000000000000000000000000000000000000000000000006000198535610d276040880160208901611572565b604080516001600160e01b031960e089901b1681526001600160a01b0396871660048201529590941660248601526044850192909252606484015260ff16608483015284013560a4820152606084013560c482015260e401600060405180830381600087803b158015610d9957600080fd5b505af1158015610dad573d6000803e3d6000fd5b505050505b610dbe8585858561090f565b5050505050565b60408101351561090c576000610de16040830160208401611281565b6001600160a01b031603610e085760405163d92e233d60e01b815260040160405180910390fd5b60016000610e1c6040840160208501611281565b6001600160a01b03166001600160a01b031681526020019081526020016000205481604001351115610e61576040516344010aff60e01b815260040160405180910390fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166336c78516610e9d6020840184611281565b7f000000000000000000000000000000000000000000000000000000000000000060408501803590610ed29060208801611281565b60405160e086901b6001600160e01b03191681526001600160a01b039485166004820152928416602484015290831660448301529091166064820152608401600060405180830381600087803b158015610f2b57600080fd5b505af1158015610dbe573d6000803e3d6000fd5b610f498282610782565b610f7c5760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440160405180910390fd5b5050565b600060208284031215610f9257600080fd5b81356001600160e01b031981168114610faa57600080fd5b9392505050565b600060e08284031215610fc357600080fd5b50919050565b600060608284031215610fc357600080fd5b600060c08284031215610fc357600080fd5b60008083601f840112610fff57600080fd5b50813567ffffffffffffffff81111561101757600080fd5b60208301915083602082850101111561102f57600080fd5b9250929050565b6000806000806000610160868803121561104f57600080fd5b853567ffffffffffffffff8082111561106757600080fd5b61107389838a01610fb1565b96506110828960208a01610fc9565b95506110918960808a01610fdb565b94506101408801359150808211156110a857600080fd5b506110b588828901610fed565b969995985093965092949392505050565b6000602082840312156110d857600080fd5b5035919050565b60008083601f8401126110f157600080fd5b50813567ffffffffffffffff81111561110957600080fd5b6020830191508360208260051b850101111561102f57600080fd5b6000806000806040858703121561113a57600080fd5b843567ffffffffffffffff8082111561115257600080fd5b61115e888389016110df565b9096509450602087013591508082111561117757600080fd5b50611184878288016110df565b95989497509550505050565b6001600160a01b038116811461090c57600080fd5b600080604083850312156111b857600080fd5b8235915060208301356111ca81611190565b809150509250929050565b6000806000806000808688036101e08112156111f057600080fd5b873567ffffffffffffffff8082111561120857600080fd5b6112148b838c01610fb1565b98506112238b60208c01610fc9565b97506112328b60808c01610fdb565b96506101408a013591508082111561124957600080fd5b506112568a828b01610fed565b909550935050608061015f198201121561126f57600080fd5b50610160870190509295509295509295565b60006020828403121561129357600080fd5b8135610faa81611190565b600080608083850312156112b157600080fd5b823567ffffffffffffffff8111156112c857600080fd5b6112d485828601610fb1565b9250506112e48460208501610fc9565b90509250929050565b65ffffffffffff8116811461090c57600080fd5b803561130c816112ed565b919050565b6000808335601e1984360301811261132857600080fd5b830160208101925035905067ffffffffffffffff81111561134857600080fd5b80360382131561102f57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000823561139181611190565b6001600160a01b03166020838101919091528301356113af81611190565b6001600160a01b03811660408401525060408301356060830152606083013560808301526113df60808401611301565b65ffffffffffff811660a0840152506113fb60a0840184611311565b60e060c085015261141161010085018284611357565b91505061142160c0850185611311565b848303601f190160e0860152611438838284611357565b9695505050505050565b634e487b7160e01b600052603260045260246000fd5b60008060006060848603121561146d57600080fd5b835161147881611190565b6020850151909350611489816112ed565b604085015190925061149a816112ed565b809150509250925092565b6001600160a01b0385811682526000906101009086356114c481611190565b81811660208601525060208701356114db81611190565b81811660408601525060408701356114f2816112ed565b65ffffffffffff808216606087015260608901359150611511826112ed565b1660808581019190915287013561152781611190565b81811660a0860152505060a086013560c08401528060e084015261154e8184018587611357565b979650505050505050565b60006020828403121561156b57600080fd5b5051919050565b60006020828403121561158457600080fd5b813560ff81168114610faa57600080fdfe97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929a26469706673582212202cfe12943b7f013670b805b10cc010329360ab3571bf8309629aabf5c31537bb64736f6c634300081800330000000000000000000000004722a337b03f5252ab3c53b5c5399f489e467896000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000735023ec9a51eb41c9e298fa74bed454d581a4710000000000000000000000009099cffd388df26f5ff8060df2534d638df5730e000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba30000000000000000000000002aeba687471987e2edcb321f98e26e26394fb5a200000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000646169ae184d94cf0f632d94e3e08eca6163d63000000000000000000000000e90ccb778c8687cbecfa4b603a89fba39e303fbb000000000000000000000000395cbd8c42bb04dd5ed3c786c81bf5e063e1630d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000646169ae184d94cf0f632d94e3e08eca6163d630000000000000000000000000000000000000000000000000000000000000006000000000000000000000000c3a85901ca900cc91467bec95ea22d50cdcefe980000000000000000000000007f985691b98c6874257eba1d8732d60eec1dccde0000000000000000000000007a24358fe50195c55e85840983a2486069d4efce0000000000000000000000000f19a77bd5670022b041b703c5be657c59b4f3490000000000000000000000001d0c1ef072493bb0e8ccd164370394bd294bdb90000000000000000000000000833723cfb394b643e8013aca00bcc2a6affdaeab000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000001b1ae4d6e2ef50000000000000000000000000000000000000000000000000001b1ae4d6e2ef50000000000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000000000000000000000000000024150e39800400000000000000000000000000000000000000000000000000000012d452694f40000000000000000000000000000000000000000000000000000214e8348c4f0000