0 txs
33 calls
constructor
constructor()
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
claimedAmounts
viewfunction claimedAmounts(address, address) view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
merkleRoot
viewfunction merkleRoot() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokens
viewfunction tokens(uint256) view returns (address)
claim
nonpayablefunction claim(uint256[] _amounts, bytes32[] _proof)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _owner)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setMerkleRootAndFund
payablefunction setMerkleRootAndFund(bytes32 _merkleRoot, address[] _tokens, uint256[] _amounts) payable
events
Claimed
event Claimed(address _user, address _token, uint256 _amount)
Initialized
event Initialized(uint8 version)
MerkleRootUpdatedAndFunded
event MerkleRootUpdatedAndFunded(bytes32 _merkleRoot, address[] _tokens, uint256[] _amounts)
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)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611a11806100ed6000396000f3fe6080604052600436106100dd5760003560e01c806363aa27681161007f578063a217fddf11610059578063a217fddf14610292578063c253b5da146102a7578063c4d66de8146102df578063d547741f146102ff57600080fd5b806363aa27681461020557806375b238fc1461021857806391d148541461024c57600080fd5b80632f2ff15d116100bb5780632f2ff15d1461016b57806331afeb311461018d57806336568abe146101ad5780634f64b2be146101cd57600080fd5b806301ffc9a7146100e2578063248a9ca3146101175780632eb4a7ab14610155575b600080fd5b3480156100ee57600080fd5b506101026100fd366004611519565b61031f565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b5061014761013236600461155b565b60009081526065602052604090206001015490565b60405190815260200161010e565b34801561016157600080fd5b5061014760975481565b34801561017757600080fd5b5061018b610186366004611590565b6103b8565b005b34801561019957600080fd5b5061018b6101a8366004611608565b6103e2565b3480156101b957600080fd5b5061018b6101c8366004611590565b61057a565b3480156101d957600080fd5b506101ed6101e836600461155b565b610606565b6040516001600160a01b03909116815260200161010e565b61018b610213366004611674565b610630565b34801561022457600080fd5b506101477fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b34801561025857600080fd5b50610102610267366004611590565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561029e57600080fd5b50610147600081565b3480156102b357600080fd5b506101476102c23660046116ee565b609960209081526000928352604080842090915290825290205481565b3480156102eb57600080fd5b5061018b6102fa366004611718565b610854565b34801561030b57600080fd5b5061018b61031a366004611590565b6109a9565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806103b257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6000828152606560205260409020600101546103d3816109ce565b6103dd83836109db565b505050565b6103ef3385858585610a7d565b6104405760405162461bcd60e51b815260206004820152600d60248201527f696e76616c69642070726f6f660000000000000000000000000000000000000060448201526064015b60405180910390fd5b60005b6098548110156105735760006098828154811061046257610462611733565b60009182526020808320909101543383526099825260408084206001600160a01b0390921680855291909252908220549092508787858181106104a7576104a7611733565b905060200201356104b8919061175f565b9050806000036104c9575050610561565b8686848181106104db576104db611733565b3360008181526099602090815260408083206001600160a01b038a1680855290835292209302949094013590915561051592915083610b16565b604080513381526001600160a01b03841660208201529081018290527ff7a40077ff7a04c7e61f6f26fb13774259ddf1b6bce9ecf26a8276cdd39926839060600160405180910390a150505b8061056b81611772565b915050610443565b5050505050565b6001600160a01b03811633146105f85760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610437565b6106028282610b4f565b5050565b6098818154811061061657600080fd5b6000918252602090912001546001600160a01b0316905081565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561065a816109ce565b8382146106a95760405162461bcd60e51b815260206004820152600d60248201527f696e76616c696420696e707574000000000000000000000000000000000000006044820152606401610437565b836106f65760405162461bcd60e51b815260206004820152600f60248201527f696e76616c6964205f746f6b656e7300000000000000000000000000000000006044820152606401610437565b60005b848110156107fa57600086868381811061071557610715611733565b905060200201602081019061072a9190611718565b9050600085858481811061074057610740611733565b905060200201359050806000036107585750506107e8565b73efefefefefefefefefefefefefefefefefefefef6001600160a01b038316036107d0573481146107cb5760405162461bcd60e51b815260206004820152600e60248201527f696e76616c696420616d6f756e740000000000000000000000000000000000006044820152606401610437565b6107e5565b6107e56001600160a01b038316333084610bd2565b50505b806107f281611772565b9150506106f9565b50609786905561080c60988686611489565b507fb5c8fc4b4a99a3f53e1ad12d66b6fac7057879dd8e0895ab718594f9c66967a186868686866040516108449594939291906117d6565b60405180910390a1505050505050565b600054610100900460ff16158080156108745750600054600160ff909116105b8061088e5750303b15801561088e575060005460ff166001145b6109005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610437565b6000805460ff191660011790558015610923576000805461ff0019166101001790555b61092b610c60565b6109366000836109db565b6109607fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775836109db565b8015610602576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000828152606560205260409020600101546109c4816109ce565b6103dd8383610b4f565b6109d88133610cdf565b50565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff166106025760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610a393390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600080868686604051602001610a9593929190611842565b60408051601f1981840301815282825280516020918201209083015201604051602081830303815290604052805190602001209050610b0b848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506097549150849050610d5f565b979650505050505050565b73efefefefefefefefefefefefefefefefefefefef6001600160a01b03841603610b44576103dd8282610d75565b6103dd838383610e3e565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16156106025760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610c5a908590610fa6565b50505050565b600054610100900460ff16610cdd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610437565b565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1661060257610d1d816001600160a01b0316601461108e565b610d2883602061108e565b604051602001610d39929190611892565b60408051601f198184030181529082905262461bcd60e51b825261043791600401611913565b600082610d6c8584611276565b14949350505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610dc2576040519150601f19603f3d011682016040523d82523d6000602084013e610dc7565b606091505b50509050806103dd5760405162461bcd60e51b815260206004820152602260248201527f5472616e7366657248656c7065723a2053656e64696e6720455448206661696c60448201527f65640000000000000000000000000000000000000000000000000000000000006064820152608401610437565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790529151600092839290871691610ec89190611946565b6000604051808303816000865af19150503d8060008114610f05576040519150601f19603f3d011682016040523d82523d6000602084013e610f0a565b606091505b5091509150818015610f34575080511580610f34575080806020019051810190610f349190611962565b6105735760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201527f616e73666572206661696c6564000000000000000000000000000000000000006064820152608401610437565b6000610ffb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166112c39092919063ffffffff16565b905080516000148061101c57508080602001905181019061101c9190611962565b6103dd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610437565b6060600061109d836002611984565b6110a890600261199b565b67ffffffffffffffff8111156110c0576110c06119ae565b6040519080825280601f01601f1916602001820160405280156110ea576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061112157611121611733565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061116c5761116c611733565b60200101906001600160f81b031916908160001a9053506000611190846002611984565b61119b90600161199b565b90505b6001811115611220577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106111dc576111dc611733565b1a60f81b8282815181106111f2576111f2611733565b60200101906001600160f81b031916908160001a90535060049490941c93611219816119c4565b905061119e565b50831561126f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610437565b9392505050565b600081815b84518110156112bb576112a78286838151811061129a5761129a611733565b60200260200101516112da565b9150806112b381611772565b91505061127b565b509392505050565b60606112d28484600085611309565b949350505050565b60008183106112f657600082815260208490526040902061126f565b600083815260208390526040902061126f565b6060824710156113815760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610437565b600080866001600160a01b0316858760405161139d9190611946565b60006040518083038185875af1925050503d80600081146113da576040519150601f19603f3d011682016040523d82523d6000602084013e6113df565b606091505b5091509150610b0b878383876060831561145a578251600003611453576001600160a01b0385163b6114535760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610437565b50816112d2565b6112d2838381511561146f5781518083602001fd5b8060405162461bcd60e51b81526004016104379190611913565b8280548282559060005260206000209081019282156114f4579160200282015b828111156114f45781547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038435161782556020909201916001909101906114a9565b50611500929150611504565b5090565b5b808211156115005760008155600101611505565b60006020828403121561152b57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461126f57600080fd5b60006020828403121561156d57600080fd5b5035919050565b80356001600160a01b038116811461158b57600080fd5b919050565b600080604083850312156115a357600080fd5b823591506115b360208401611574565b90509250929050565b60008083601f8401126115ce57600080fd5b50813567ffffffffffffffff8111156115e657600080fd5b6020830191508360208260051b850101111561160157600080fd5b9250929050565b6000806000806040858703121561161e57600080fd5b843567ffffffffffffffff8082111561163657600080fd5b611642888389016115bc565b9096509450602087013591508082111561165b57600080fd5b50611668878288016115bc565b95989497509550505050565b60008060008060006060868803121561168c57600080fd5b85359450602086013567ffffffffffffffff808211156116ab57600080fd5b6116b789838a016115bc565b909650945060408801359150808211156116d057600080fd5b506116dd888289016115bc565b969995985093965092949392505050565b6000806040838503121561170157600080fd5b61170a83611574565b91506115b360208401611574565b60006020828403121561172a57600080fd5b61126f82611574565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156103b2576103b2611749565b60006001820161178457611784611749565b5060010190565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156117bd57600080fd5b8260051b80836020870137939093016020019392505050565b85815260606020808301829052908201859052600090869060808401835b88811015611820576001600160a01b0361180d85611574565b16825292820192908201906001016117f4565b50848103604086015261183481878961178b565b9a9950505050505050505050565b6001600160a01b038416815260406020820152600061186560408301848661178b565b95945050505050565b60005b83811015611889578181015183820152602001611871565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516118ca81601785016020880161186e565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161190781602884016020880161186e565b01602801949350505050565b602081526000825180602084015261193281604085016020870161186e565b601f01601f19169190910160400192915050565b6000825161195881846020870161186e565b9190910192915050565b60006020828403121561197457600080fd5b8151801515811461126f57600080fd5b80820281158282048414176103b2576103b2611749565b808201808211156103b2576103b2611749565b634e487b7160e01b600052604160045260246000fd5b6000816119d3576119d3611749565b50600019019056fea26469706673582212207e811a7aa7f3df5b44f27ace762ccf85c94e60814fac195d831a3db91607792064736f6c63430008110033