0 txs
7 calls
constructor
constructor()
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
eip712Domain
viewfunction eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
owner
viewfunction owner() view returns (address)
paid
viewfunction paid(bytes32 intentId_) view returns (bool)
pendingOwner
viewfunction pendingOwner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
token
viewfunction token() view returns (address)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
__TokenPayBurnable_init_unchained
nonpayablefunction __TokenPayBurnable_init_unchained(address token_)
__TokenPayBurnable_init
nonpayablefunction __TokenPayBurnable_init(address token_, string name_, string version_)
acceptOwnership
nonpayablefunction acceptOwnership()
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address owner_, address token_)
pay
nonpayablefunction pay(bytes32 intentId_, address recipient_, uint256 amount_, uint256 fee_, uint256 deadline_, address signer_, bytes signature_)
renounceOwnership
nonpayablefunction renounceOwnership()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
EIP712DomainChanged
event EIP712DomainChanged()
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Pay
event Pay(bytes32 indexed intentId, address indexed recipient, address indexed account, uint256 received, uint256 burned)
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)
Upgraded
event Upgraded(address indexed implementation)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60c0604052306080527f206c86479030164b9bd420e000cf05594b7b0d49e8a7bd332201ebee6a932f4660a05234801561003857600080fd5b50610041610046565b6100f8565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100965760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100f55780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805160a051611fbe61012b600039600061059d015260008181610efe01528181610f2701526110680152611fbe6000f3fe6080604052600436106101355760003560e01c80638568a9c5116100ab578063add89bb21161006f578063add89bb214610359578063d547741f14610389578063e30c3978146103a9578063e71e1d8e146103be578063f2fde38b146103de578063fc0c546a146103fe57600080fd5b80638568a9c5146102995780638da5cb5b146102b957806391d14854146102e6578063a217fddf14610306578063ad3cb1cc1461031b57600080fd5b8063485cc955116100fd578063485cc955146101ff5780634f1ef2861461021f57806352d1902d14610232578063715018a61461024757806379ba50971461025c57806384b0196e1461027157600080fd5b806301ffc9a71461013a578063248a9ca31461016f5780632f2ff15d1461019d57806336568abe146101bf578063381a4236146101df575b600080fd5b34801561014657600080fd5b5061015a61015536600461193d565b61041c565b60405190151581526020015b60405180910390f35b34801561017b57600080fd5b5061018f61018a366004611967565b610453565b604051908152602001610166565b3480156101a957600080fd5b506101bd6101b836600461199c565b610475565b005b3480156101cb57600080fd5b506101bd6101da36600461199c565b610497565b3480156101eb57600080fd5b506101bd6101fa366004611a6b565b6104cf565b34801561020b57600080fd5b506101bd61021a366004611af0565b6107bb565b6101bd61022d366004611b1a565b610932565b34801561023e57600080fd5b5061018f610951565b34801561025357600080fd5b506101bd61096e565b34801561026857600080fd5b506101bd610982565b34801561027d57600080fd5b506102866109ca565b6040516101669796959493929190611bb8565b3480156102a557600080fd5b506101bd6102b4366004611c4e565b610a76565b3480156102c557600080fd5b506102ce610a91565b6040516001600160a01b039091168152602001610166565b3480156102f257600080fd5b5061015a61030136600461199c565b610ac6565b34801561031257600080fd5b5061018f600081565b34801561032757600080fd5b5061034c604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101669190611cc2565b34801561036557600080fd5b5061015a610374366004611967565b60009081526001602052604090205460ff1690565b34801561039557600080fd5b506101bd6103a436600461199c565b610afe565b3480156103b557600080fd5b506102ce610b1a565b3480156103ca57600080fd5b506101bd6103d9366004611cd5565b610b43565b3480156103ea57600080fd5b506101bd6103f9366004611cd5565b610b6d565b34801561040a57600080fd5b506000546001600160a01b03166102ce565b60006001600160e01b03198216637965db0b60e01b148061044d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000908152600080516020611f69833981519152602052604090206001015490565b61047e82610453565b61048781610bf2565b6104918383610bfc565b50505050565b6001600160a01b03811633146104c05760405163334bd91960e11b815260040160405180910390fd5b6104ca8282610ca1565b505050565b6104d882610d1d565b60008781526001602052604090205460ff161561053c5760405162461bcd60e51b815260206004820152601e60248201527f546f6b656e5061794275726e61626c653a20616c72656164792070616964000060448201526064015b60405180910390fd5b428310156105975760405162461bcd60e51b815260206004820152602260248201527f546f6b656e5061794275726e61626c653a206578706972656420646561646c696044820152616e6560f01b6064820152608401610533565b604080517f000000000000000000000000000000000000000000000000000000000000000060208201529081018890526001600160a01b03871660608201526080810186905260a0810185905260c0810184905260009060e001604051602081830303815290604052805190602001209050600061061482610d8a565b90506000610623858386610db7565b90508061067e5760405162461bcd60e51b815260206004820152602360248201527f546f6b656e5061794275726e61626c653a20696e76616c6964207369676e617460448201526275726560e81b6064820152608401610533565b50505060008781526001602081905260408220805460ff191690911790555433906001600160a01b03166106b48183308a610e1b565b600086156107445768056bc75e2d631000006106d0888a611d06565b6106da9190611d1d565b90506106e68189611d3f565b604051630852cd8d60e31b8152600481018390529098506001600160a01b038316906342966c6890602401600060405180830381600087803b15801561072b57600080fd5b505af115801561073f573d6000803e3d6000fd5b505050505b6107586001600160a01b0383168a8a610e82565b826001600160a01b0316896001600160a01b03168b7f137626589fed6c7be301115f2a07cf1135b345baee436b42eb3c5389ef3ed0168b856040516107a7929190918252602082015260400190565b60405180910390a450505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108015750825b905060008267ffffffffffffffff16600114801561081e5750303b155b90508115801561082c575080155b1561084a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561087457845460ff60401b1916600160401b1785555b61087c610eb3565b610884610eb3565b61088c610eb3565b6108ce86604051806040016040528060068152602001655a485450617960d01b815250604051806040016040528060018152602001603160f81b815250610a76565b6108d787610ebb565b6108e2600088610bfc565b50831561092957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61093a610ef3565b61094382610f98565b61094d8282610fa0565b5050565b600061095b61105d565b50600080516020611f4983398151915290565b6109766110a6565b6109806000610ebb565b565b338061098c610b1a565b6001600160a01b0316146109be5760405163118cdaa760e01b81526001600160a01b0382166004820152602401610533565b6109c781610ebb565b50565b60006060808280808381600080516020611f2983398151915280549091501580156109f757506001810154155b610a3b5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606401610533565b610a436110d8565b610a4b61119b565b60408051600080825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b610a7e6111da565b610a888282611223565b6104ca83610b43565b6000807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b546001600160a01b031692915050565b6000918252600080516020611f69833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b610b0782610453565b610b1081610bf2565b6104918383610ca1565b6000807f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00610ab6565b610b4b6111da565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b610b756110a6565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319166001600160a01b0383169081178255610bb9610a91565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a35050565b6109c78133611235565b6000600080516020611f69833981519152610c178484610ac6565b610c97576000848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055610c4d3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600191505061044d565b600091505061044d565b6000600080516020611f69833981519152610cbc8484610ac6565b15610c97576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4600191505061044d565b610d477ffbf1ae88311b0406390205556c6b7a80901408aed8d7e144fa75ad984877a00c82610ac6565b6109c75760405162461bcd60e51b81526020600482015260146024820152732d242a2830bc9d103bb937b7339039b4b3b732b960611b6044820152606401610533565b600061044d610d9761126e565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000610dc6858561127d565b5090925090506000816003811115610de057610de0611d52565b148015610dfe5750856001600160a01b0316826001600160a01b0316145b80610e0f5750610e0f8686866112ca565b925050505b9392505050565b6040516001600160a01b0384811660248301528381166044830152606482018390526104919186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506113a5565b6040516001600160a01b038381166024830152604482018390526104ca91859182169063a9059cbb90606401610e50565b6109806111da565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b031916815561094d82611408565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610f7a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f6e600080516020611f49833981519152546001600160a01b031690565b6001600160a01b031614155b156109805760405163703e46dd60e11b815260040160405180910390fd5b6109c76110a6565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610ffa575060408051601f3d908101601f19168201909252610ff791810190611d68565b60015b61102257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610533565b600080516020611f49833981519152811461105357604051632a87526960e21b815260048101829052602401610533565b6104ca8383611479565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109805760405163703e46dd60e11b815260040160405180910390fd5b336110af610a91565b6001600160a01b0316146109805760405163118cdaa760e01b8152336004820152602401610533565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1028054606091600080516020611f298339815191529161111790611d81565b80601f016020809104026020016040519081016040528092919081815260200182805461114390611d81565b80156111905780601f1061116557610100808354040283529160200191611190565b820191906000526020600020905b81548152906001019060200180831161117357829003601f168201915b505050505091505090565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1038054606091600080516020611f298339815191529161111790611d81565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661098057604051631afcd79f60e31b815260040160405180910390fd5b61122b6111da565b61094d82826114cf565b61123f8282610ac6565b61094d5760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610533565b6000611278611530565b905090565b600080600083516041036112b75760208401516040850151606086015160001a6112a9888285856115a4565b9550955095505050506112c3565b50508151600091506002905b9250925092565b6000806000856001600160a01b031685856040516024016112ec929190611dbb565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b179052516113219190611ddc565b600060405180830381855afa9150503d806000811461135c576040519150601f19603f3d011682016040523d82523d6000602084013e611361565b606091505b509150915081801561137557506020815110155b8015610e0f57508051630b135d3f60e11b9061139a9083016020908101908401611d68565b149695505050505050565b60006113ba6001600160a01b03841683611673565b905080516000141580156113df5750808060200190518101906113dd9190611df8565b155b156104ca57604051635274afe760e01b81526001600160a01b0384166004820152602401610533565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b61148282611681565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156114c7576104ca82826116e6565b61094d61175c565b6114d76111da565b600080516020611f298339815191527fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1026115118482611e68565b50600381016115208382611e68565b5060008082556001909101555050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61155b61177b565b6115636117e5565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156115df5750600091506003905082611669565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611633573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661165f57506000925060019150829050611669565b9250600091508190505b9450945094915050565b6060610e1483836000611829565b806001600160a01b03163b6000036116b757604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610533565b600080516020611f4983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516117039190611ddc565b600060405180830381855af49150503d806000811461173e576040519150601f19603f3d011682016040523d82523d6000602084013e611743565b606091505b50915091506117538583836118b8565b95945050505050565b34156109805760405163b398979f60e01b815260040160405180910390fd5b6000600080516020611f29833981519152816117956110d8565b8051909150156117ad57805160209091012092915050565b815480156117bc579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b6000600080516020611f29833981519152816117ff61119b565b80519091501561181757805160209091012092915050565b600182015480156117bc579392505050565b60608147101561184e5760405163cd78605960e01b8152306004820152602401610533565b600080856001600160a01b0316848660405161186a9190611ddc565b60006040518083038185875af1925050503d80600081146118a7576040519150601f19603f3d011682016040523d82523d6000602084013e6118ac565b606091505b5091509150610e0f8683835b6060826118cd576118c882611914565b610e14565b81511580156118e457506001600160a01b0384163b155b1561190d57604051639996b31560e01b81526001600160a01b0385166004820152602401610533565b5080610e14565b8051156119245780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006020828403121561194f57600080fd5b81356001600160e01b031981168114610e1457600080fd5b60006020828403121561197957600080fd5b5035919050565b80356001600160a01b038116811461199757600080fd5b919050565b600080604083850312156119af57600080fd5b823591506119bf60208401611980565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126119ef57600080fd5b813567ffffffffffffffff80821115611a0a57611a0a6119c8565b604051601f8301601f19908116603f01168101908282118183101715611a3257611a326119c8565b81604052838152866020858801011115611a4b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a031215611a8657600080fd5b87359650611a9660208901611980565b9550604088013594506060880135935060808801359250611ab960a08901611980565b915060c088013567ffffffffffffffff811115611ad557600080fd5b611ae18a828b016119de565b91505092959891949750929550565b60008060408385031215611b0357600080fd5b611b0c83611980565b91506119bf60208401611980565b60008060408385031215611b2d57600080fd5b611b3683611980565b9150602083013567ffffffffffffffff811115611b5257600080fd5b611b5e858286016119de565b9150509250929050565b60005b83811015611b83578181015183820152602001611b6b565b50506000910152565b60008151808452611ba4816020860160208601611b68565b601f01601f19169290920160200192915050565b60ff60f81b881681526000602060e081840152611bd860e084018a611b8c565b8381036040850152611bea818a611b8c565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015611c3c57835183529284019291840191600101611c20565b50909c9b505050505050505050505050565b600080600060608486031215611c6357600080fd5b611c6c84611980565b9250602084013567ffffffffffffffff80821115611c8957600080fd5b611c95878388016119de565b93506040860135915080821115611cab57600080fd5b50611cb8868287016119de565b9150509250925092565b602081526000610e146020830184611b8c565b600060208284031215611ce757600080fd5b610e1482611980565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761044d5761044d611cf0565b600082611d3a57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561044d5761044d611cf0565b634e487b7160e01b600052602160045260246000fd5b600060208284031215611d7a57600080fd5b5051919050565b600181811c90821680611d9557607f821691505b602082108103611db557634e487b7160e01b600052602260045260246000fd5b50919050565b828152604060208201526000611dd46040830184611b8c565b949350505050565b60008251611dee818460208701611b68565b9190910192915050565b600060208284031215611e0a57600080fd5b81518015158114610e1457600080fd5b601f8211156104ca57600081815260208120601f850160051c81016020861015611e415750805b601f850160051c820191505b81811015611e6057828155600101611e4d565b505050505050565b815167ffffffffffffffff811115611e8257611e826119c8565b611e9681611e908454611d81565b84611e1a565b602080601f831160018114611ecb5760008415611eb35750858301515b600019600386901b1c1916600185901b178555611e60565b600085815260208120601f198616915b82811015611efa57888601518255948401946001909101908401611edb565b5085821015611f185787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a264697066735822122017a39c6e7b418ce4ef23558111dfb975667f77aa7e37297272d3626b178ce1c364736f6c63430008140033