0 txs
16k calls
constructor
constructor()
functions
claimingEnabled
viewfunction claimingEnabled() view returns (bool)
ERC20_CLAIM_MAINTAINER_ROLE
viewfunction ERC20_CLAIM_MAINTAINER_ROLE() view returns (bytes32)
ERC20_CLAIM_SIGNER_ROLE
viewfunction ERC20_CLAIM_SIGNER_ROLE() view returns (bytes32)
ERC20_CLAIM_TYPE_HASH
viewfunction ERC20_CLAIM_TYPE_HASH() view returns (bytes32)
erc20Token
viewfunction erc20Token() view returns (address)
getACL
viewfunction getACL() view returns (address)
processedClaimRequestIds
viewfunction processedClaimRequestIds(uint256) view returns (uint256)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
claimErc20Tokens
nonpayablefunction claimErc20Tokens(uint256[] claimIds, uint256[] amounts, uint256[] availableAt, bytes[] signatures)
initialize
nonpayablefunction initialize(address acl, address _erc20Token)
setACL
nonpayablefunction setACL(address acl)
setErc20Token
nonpayablefunction setErc20Token(address token)
toggleClaiming
nonpayablefunction toggleClaiming(bool enabled)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdrawErc20Tokens
nonpayablefunction withdrawErc20Tokens(uint256 amount, address receiver)
events
ACLSet
event ACLSet(address indexed acl)
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Erc20ClaimingToggled
event Erc20ClaimingToggled(bool enabled)
Erc20TokensClaimed
event Erc20TokensClaimed(address claimer, uint256 amount, uint256 requestId)
Erc20TokenSet
event Erc20TokenSet(address token)
Erc20TokensWithdrawn
event Erc20TokensWithdrawn(address receiver, uint256 amount)
Initialized
event Initialized(uint8 version)
Upgraded
event Upgraded(address indexed implementation)
errors
InvalidACLAddress
error InvalidACLAddress(address acl)
creation bytecode
0x60a0604052306080523480156200001557600080fd5b50600054610100900460ff1615808015620000375750600054600160ff909116105b8062000067575062000054306200014160201b62000c5d1760201c565b15801562000067575060005460ff166001145b620000cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000f3576000805461ff0019166101001790555b80156200013a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5062000150565b6001600160a01b03163b151590565b608051612073620001886000396000818161063c0152818161067c0152818161090f0152818161094f01526109cb01526120736000f3fe6080604052600436106100fe5760003560e01c8063485cc955116100955780638a13eea7116100645780638a13eea7146102ad5780638fef1e3c146102d257806393003c4f1461030657806399dc95a714610333578063a08ab0a21461035357600080fd5b8063485cc955146102455780634f1ef2861461026557806352d1902d1461027857806376aad6051461028d57600080fd5b8063365388a5116100d1578063365388a5146101a15780633659cfe6146101c15780633cc32fbe146101e1578063434e69491461022357600080fd5b806301ffc9a71461010357806308737695146101385780630e141a9b1461016557806326e5cb691461017f575b600080fd5b34801561010f57600080fd5b5061012361011e366004611aa6565b610373565b60405190151581526020015b60405180910390f35b34801561014457600080fd5b5061014d6103aa565b6040516001600160a01b03909116815260200161012f565b34801561017157600080fd5b5060fd546101239060ff1681565b34801561018b57600080fd5b5061019f61019a366004611aec565b6103b9565b005b3480156101ad57600080fd5b5061019f6101bc366004611b07565b61049c565b3480156101cd57600080fd5b5061019f6101dc366004611aec565b610632565b3480156101ed57600080fd5b506102157f7c28561e6ed69533137a0db8f48204c56eba87165fed70acd5637e0504ddcef681565b60405190815260200161012f565b34801561022f57600080fd5b50610215600080516020611fd783398151915281565b34801561025157600080fd5b5061019f610260366004611b33565b6106fa565b61019f610273366004611b73565b610905565b34801561028457600080fd5b506102156109be565b34801561029957600080fd5b5061019f6102a8366004611aec565b610a71565b3480156102b957600080fd5b5060fd5461014d9061010090046001600160a01b031681565b3480156102de57600080fd5b506102157f7a52eeacfb2fc3913b3c8a717e2502ca3d7799662bab3b7e63a5c44f719c092881565b34801561031257600080fd5b50610215610321366004611c35565b60fe6020526000908152604090205481565b34801561033f57600080fd5b5061019f61034e366004611c93565b610af0565b34801561035f57600080fd5b5061019f61036e366004611d65565b610b91565b60006001600160e01b031982166307ed9a0960e41b14806103a457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006103b4610c6c565b905090565b600080516020611fd78339815191526103d0610c6c565b6001600160a01b03166312d9a6ad82336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b15801561042557600080fd5b505afa158015610439573d6000803e3d6000fd5b505060fd8054610100600160a81b0319166101006001600160a01b038716908102919091179091556040519081527fc39d200e834b6a0921b363f1f3d3b53c7cb5f4d5da6946e328fc5aee73aeb4ff925060200190505b60405180910390a15050565b600080516020611fd78339815191526104b3610c6c565b6001600160a01b03166312d9a6ad82336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b15801561050857600080fd5b505afa15801561051c573d6000803e3d6000fd5b505060fd5460405163a9059cbb60e01b81526001600160a01b03868116600483015260248201889052610100909204909116925063a9059cbb91506044016020604051808303816000875af1158015610579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059d9190611d82565b6105ea5760405162461bcd60e51b81526020600482015260196024820152784661696c656420746f207472616e7366657220746f6b656e7360381b60448201526064015b60405180910390fd5b604080516001600160a01b0384168152602081018590527f09d330e49077b367d7d2aa2bd39f90c5cb7d6ca2f49ad6bff56d9a60caa3dbcc91015b60405180910390a1505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361067a5760405162461bcd60e51b81526004016105e190611d9f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106ac610cae565b6001600160a01b0316146106d25760405162461bcd60e51b81526004016105e190611deb565b6106db81610cc4565b604080516000808252602082019092526106f791839190610d3d565b50565b600054610100900460ff161580801561071a5750600054600160ff909116105b806107345750303b158015610734575060005460ff166001145b6107975760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105e1565b6000805460ff1916600117905580156107ba576000805461ff0019166101001790555b6001600160a01b0382166108065760405162461bcd60e51b8152602060048201526013602482015272115c98cc8c081d1bdad95b881b9bdd081cd95d606a1b60448201526064016105e1565b61080e610ea8565b61081783610ed1565b6108626040518060400160405280600f81526020016e4572633230546f6b656e436c61696d60881b81525060405180604001604052806002815260200161563160f01b815250610f01565b60fd8054610100600160a81b0319166101006001600160a01b038581168202929092179283905560405192041681527fc39d200e834b6a0921b363f1f3d3b53c7cb5f4d5da6946e328fc5aee73aeb4ff9060200160405180910390a18015610900576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610625565b505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361094d5760405162461bcd60e51b81526004016105e190611d9f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661097f610cae565b6001600160a01b0316146109a55760405162461bcd60e51b81526004016105e190611deb565b6109ae82610cc4565b6109ba82826001610d3d565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a5e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016105e1565b50600080516020611ff783398151915290565b610a79610c6c565b6001600160a01b03166312d9a6ad6000336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b158015610acf57600080fd5b505afa158015610ae3573d6000803e3d6000fd5b505050506106f781610f32565b8660005b81811015610b8557610b738a8a83818110610b1157610b11611e37565b90506020020135898984818110610b2a57610b2a611e37565b90506020020135888885818110610b4357610b43611e37565b90506020020135878786818110610b5c57610b5c611e37565b9050602002810190610b6e9190611e4d565b611042565b80610b7d81611eaa565b915050610af4565b50505050505050505050565b600080516020611fd7833981519152610ba8610c6c565b6001600160a01b03166312d9a6ad82336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b158015610bfd57600080fd5b505afa158015610c11573d6000803e3d6000fd5b505060fd805460ff191685151590811790915560405160ff909116151581527f27bc14b23353f7d38918db02f3345ce4ec62126d85bf3bf62ab36099d57c394c92506020019050610490565b6001600160a01b03163b151590565b6000610c9f610c9c60017f2f94117d2c26dd889e3bde9cad610be6ea59faa34cc016c7267596f75c87e376611ec3565b90565b546001600160a01b0316919050565b6000600080516020611ff7833981519152610c9f565b610ccc610c6c565b6001600160a01b03166312d9a6ad6000336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b158015610d2257600080fd5b505afa158015610d36573d6000803e3d6000fd5b5050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d70576109008361132e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610dca575060408051601f3d908101601f19168201909252610dc791810190611ed6565b60015b610e2d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105e1565b600080516020611ff78339815191528114610e9c5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105e1565b506109008383836113ca565b600054610100900460ff16610ecf5760405162461bcd60e51b81526004016105e190611eef565b565b600054610100900460ff16610ef85760405162461bcd60e51b81526004016105e190611eef565b6106f781610f32565b600054610100900460ff16610f285760405162461bcd60e51b81526004016105e190611eef565b6109ba82826113f5565b6040516301ffc9a760e01b815263d432a77560e01b60048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610f7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa19190611d82565b610fc9576040516320d2869360e11b81526001600160a01b03821660048201526024016105e1565b80610ff8610c9c60017f2f94117d2c26dd889e3bde9cad610be6ea59faa34cc016c7267596f75c87e376611ec3565b80546001600160a01b0319166001600160a01b03928316179055604051908216907fb682c047807b0e34dd5e7ec89aa8d43386ff4e25dbd12c98e2fbfd44b99936f990600090a250565b60fd5460ff166110945760405162461bcd60e51b815260206004820152601760248201527f436c61696d696e67206973206e6f7420656e61626c656400000000000000000060448201526064016105e1565b824210156110e45760405162461bcd60e51b815260206004820152601760248201527f436c61696d206e6f742079657420617661696c61626c6500000000000000000060448201526064016105e1565b600085815260fe6020526040902054156111405760405162461bcd60e51b815260206004820152601760248201527f436c61696d20616c72656164792070726f63657373656400000000000000000060448201526064016105e1565b604080517f7a52eeacfb2fc3913b3c8a717e2502ca3d7799662bab3b7e63a5c44f719c092860208201523391810191909152606081018590526080810186905260a081018490526000906111ac9060c00160405160208183030381529060405280519060200120611436565b905060006111f08285858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061148492505050565b90506111fa610c6c565b604051632474521560e21b81527f7c28561e6ed69533137a0db8f48204c56eba87165fed70acd5637e0504ddcef660048201526001600160a01b03838116602483015291909116906391d1485490604401602060405180830381865afa158015611268573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128c9190611d82565b6112c95760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b4b3b732b960911b60448201526064016105e1565b600087815260fe602052604090204290556112e433876114a8565b60408051338152602081018890529081018890527f85061a9cda8de5394e5b958b068b559d0360b121b2e7b053e30b7322b5ecde339060600160405180910390a150505050505050565b6001600160a01b0381163b61139b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105e1565b600080516020611ff783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6113d38361156d565b6000825111806113e05750805b15610900576113ef83836115ad565b50505050565b600054610100900460ff1661141c5760405162461bcd60e51b81526004016105e190611eef565b815160209283012081519190920120606591909155606655565b60006103a46114436116a1565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000611493858561171c565b915091506114a08161178a565b509392505050565b60fd5460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490526101009092049091169063a9059cbb906044016020604051808303816000875af1158015611501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115259190611d82565b6109ba5760405162461bcd60e51b81526020600482015260196024820152784661696c656420746f207472616e7366657220746f6b656e7360381b60448201526064016105e1565b6115768161132e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6116155760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016105e1565b600080846001600160a01b0316846040516116309190611f5e565b600060405180830381855af49150503d806000811461166b576040519150601f19603f3d011682016040523d82523d6000602084013e611670565b606091505b5091509150611698828260405180606001604052806027815260200161201760279139611940565b95945050505050565b60006103b47f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6116d060655490565b6066546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b60008082516041036117525760208301516040840151606085015160001a61174687828585611980565b94509450505050611783565b825160400361177b5760208301516040840151611770868383611a6d565b935093505050611783565b506000905060025b9250929050565b600081600481111561179e5761179e611f7a565b036117a65750565b60018160048111156117ba576117ba611f7a565b036118075760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016105e1565b600281600481111561181b5761181b611f7a565b036118685760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016105e1565b600381600481111561187c5761187c611f7a565b036118d45760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016105e1565b60048160048111156118e8576118e8611f7a565b036106f75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b60648201526084016105e1565b6060831561194f575081611979565b82511561195f5782518084602001fd5b8160405162461bcd60e51b81526004016105e19190611f90565b9392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156119b75750600090506003611a64565b8460ff16601b141580156119cf57508460ff16601c14155b156119e05750600090506004611a64565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611a34573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611a5d57600060019250925050611a64565b9150600090505b94509492505050565b6000806001600160ff1b03831681611a8a60ff86901c601b611fc3565b9050611a9887828885611980565b935093505050935093915050565b600060208284031215611ab857600080fd5b81356001600160e01b03198116811461197957600080fd5b80356001600160a01b0381168114611ae757600080fd5b919050565b600060208284031215611afe57600080fd5b61197982611ad0565b60008060408385031215611b1a57600080fd5b82359150611b2a60208401611ad0565b90509250929050565b60008060408385031215611b4657600080fd5b611b4f83611ad0565b9150611b2a60208401611ad0565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215611b8657600080fd5b611b8f83611ad0565b9150602083013567ffffffffffffffff80821115611bac57600080fd5b818501915085601f830112611bc057600080fd5b813581811115611bd257611bd2611b5d565b604051601f8201601f19908116603f01168101908382118183101715611bfa57611bfa611b5d565b81604052828152886020848701011115611c1357600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215611c4757600080fd5b5035919050565b60008083601f840112611c6057600080fd5b50813567ffffffffffffffff811115611c7857600080fd5b6020830191508360208260051b850101111561178357600080fd5b6000806000806000806000806080898b031215611caf57600080fd5b883567ffffffffffffffff80821115611cc757600080fd5b611cd38c838d01611c4e565b909a50985060208b0135915080821115611cec57600080fd5b611cf88c838d01611c4e565b909850965060408b0135915080821115611d1157600080fd5b611d1d8c838d01611c4e565b909650945060608b0135915080821115611d3657600080fd5b50611d438b828c01611c4e565b999c989b5096995094979396929594505050565b80151581146106f757600080fd5b600060208284031215611d7757600080fd5b813561197981611d57565b600060208284031215611d9457600080fd5b815161197981611d57565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6000808335601e19843603018112611e6457600080fd5b83018035915067ffffffffffffffff821115611e7f57600080fd5b60200191503681900382131561178357600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611ebc57611ebc611e94565b5060010190565b818103818111156103a4576103a4611e94565b600060208284031215611ee857600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015611f55578181015183820152602001611f3d565b50506000910152565b60008251611f70818460208701611f3a565b9190910192915050565b634e487b7160e01b600052602160045260246000fd5b6020815260008251806020840152611faf816040850160208701611f3a565b601f01601f19169190910160400192915050565b808201808211156103a4576103a4611e9456fe0b9d99b253427b03962e75f138abf131a475173758c0b4d74015d95e8c22ec51360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220abc6fe3fc452e714fe7ea24461b653aafc9878d6c4f337d8ccb418941a2afd8d64736f6c63430008110033