0 txs
0 calls
constructor
constructor(uint256 _scale, uint256 _max)
functions
calculate
viewfunction calculate(uint256 score, address token) view returns (uint256 amount)
calculateMultiple
viewfunction calculateMultiple(uint256 score, address[] tokens) view returns (uint256[] outputAmounts)
claimed
viewfunction claimed(bytes32, address) view returns (bool)
max
viewfunction max() view returns (uint256)
owner
viewfunction owner() view returns (address)
roots
viewfunction roots(bytes32) view returns (bool)
scale
viewfunction scale() view returns (uint256)
verify
viewfunction verify(address participant, bytes32 root, uint256 score, bytes32[] proof) view returns (bool valid)
drainTo
nonpayablefunction drainTo(address[] tokens, address dest)
enable
nonpayablefunction enable(bytes32 root)
renounceOwnership
nonpayablefunction renounceOwnership()
setMax
nonpayablefunction setMax(uint256 _max)
setScale
nonpayablefunction setScale(uint256 _scale)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(tuple[] claims, address token)
withdrawProtected
nonpayablefunction withdrawProtected(tuple[] claims, address token, uint256 minimumAmount)
events
DrainTo
event DrainTo(address[] tokens, address dest)
Enable
event Enable(bytes32 root)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SetMax
event SetMax(uint256 max)
SetScale
event SetScale(uint256 scale)
Withdraw
event Withdraw(bytes32[] roots, address account, address token, uint256 amount)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162001e6b38038062001e6b8339810160408190526200003491620000ee565b600062000040620000ea565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506064811115620000b75760405162461bcd60e51b8152600401620000ae906200013a565b60405180910390fd5b604d821115620000db5760405162461bcd60e51b8152600401620000ae9062000112565b60019190915560025562000160565b3390565b6000806040838503121562000101578182fd5b505080516020909101519092909150565b6020808252600e908201526d0a68682988abea89e9ebe90928e960931b604082015260600190565b6020808252600c908201526b09a82b0bea89e9ebe90928e960a31b604082015260600190565b611cfb80620001706000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063b09013a211610066578063b09013a214610207578063dfcae6221461021a578063f2fde38b1461022d578063f51e181a1461024057610100565b8063715018a6146101c45780638da5cb5b146101cc578063a1533808146101e1578063ae6dead7146101f457610100565b80633edc3519116100d35780633edc3519146101765780634eef70e4146101895780635a1d249d1461019c5780636ac5db19146101bc57610100565b80631059171e146101055780631fe9eabc1461011a578063227abf3b1461012d578063249da60514610156575b600080fd5b610118610113366004611573565b610248565b005b610118610128366004611573565b610368565b61014061013b3660046115c7565b610434565b60405161014d91906117b1565b60405180910390f35b6101696101643660046113f5565b6104d7565b60405161014d91906117f5565b610118610184366004611573565b61051a565b6101186101973660046114fb565b6105e6565b6101af6101aa366004611611565b6108b3565b60405161014d9190611800565b6101af610996565b61011861099c565b6101d4610a67565b60405161014d9190611682565b6101186101ef3660046114ab565b610a83565b610169610202366004611573565b610a93565b610118610215366004611456565b610aa8565b61016961022836600461158b565b610c49565b61011861023b3660046113d9565b610c69565b6101af610d9f565b610250610da5565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146102ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611abb565b60405180910390fd5b60008181526003602052604090205460ff16156102f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a49061185a565b6000818152600360205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517fcdd1cc409c793230ef04810ec632004067886415b590b182c07b885f5ece98629061035d908390611800565b60405180910390a150565b610370610da5565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146103c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611abb565b60648111156103ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611a27565b60028190556040517fc2c862cda8964d16d060904e01f55bf7e4ea5e59759ca1c20db551079e0d5eed9061035d908390611800565b60608167ffffffffffffffff8111801561044d57600080fd5b50604051908082528060200260200182016040528015610477578160200160208202803683370190505b50905060005b828110156104cf5760006104ac8686868581811061049757fe5b90506020020160208101906101aa91906113d9565b9050808383815181106104bb57fe5b60209081029190910101525060010161047d565b509392505050565b60008085846040516020016104ed929190611623565b604051602081830303815290604052805190602001209050610510838683610da9565b9695505050505050565b610522610da5565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610576576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611abb565b604d8111156105b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a4906119f0565b60018190556040517fb7f1dd786998967316283c7e129a0bbeaf046b77f2f51afe39bb89a10f29a00e9061035d908390611800565b6000835111610621576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a49061195c565b60006060845167ffffffffffffffff8111801561063d57600080fd5b50604051908082528060200260200182016040528015610667578160200160208202803683370190505b50905061067261123c565b60005b86518110156108035786818151811061068a57fe5b60209081029190910181015180516000908152600390925260409091205490925060ff166106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611af0565b8151600090815260046020908152604080832033845290915290205460ff161561073a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611925565b610752338360000151846020015185604001516104d7565b610788576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611bf2565b6020820151610798908590610e48565b82516000908152600460209081526040808320338452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905582518451919550908490839081106107f057fe5b6020908102919091010152600101610675565b50600061081084876108b3565b90508481101561084c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611bbb565b61086d73ffffffffffffffffffffffffffffffffffffffff87163383610e87565b7fb070fac757fb531d419321caeefc5021bec452da381c12e16c67fbd8ee46a583833388846040516108a294939291906116c9565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016108ef9190611682565b60206040518083038186803b15801561090757600080fd5b505afa15801561091b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093f91906115af565b9050600061095b85600154600a0a610e4890919063ffffffff16565b905061098b6064610985836109858661097f8b600254610f2d90919063ffffffff16565b90610f2d565b90610f81565b925050505b92915050565b60025481565b6109a4610da5565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146109f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611abb565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b610a8f828260006105e6565b5050565b60036020526000908152604090205460ff1681565b610ab0610da5565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610b04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611abb565b60005b82811015610c08576000848483818110610b1d57fe5b9050602002016020810190610b3291906113d9565b73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b6a9190611682565b60206040518083038186803b158015610b8257600080fd5b505afa158015610b96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bba91906115af565b9050610bff8382878786818110610bcd57fe5b9050602002016020810190610be291906113d9565b73ffffffffffffffffffffffffffffffffffffffff169190610e87565b50600101610b07565b507f4b713dd63c7c270b811762a754d42e5d79ea1ba9d3a0899d73eab3e38b50cd6f838383604051610c3c93929190611737565b60405180910390a1505050565b600460209081526000928352604080842090915290825290205460ff1681565b610c71610da5565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610cc5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611abb565b73ffffffffffffffffffffffffffffffffffffffff8116610d12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611891565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015481565b3390565b600081815b8551811015610e3b576000868281518110610dc557fe5b60200260200101519050808311610e06578281604051602001610de9929190611658565b604051602081830303815290604052805190602001209250610e32565b8083604051602001610e19929190611658565b6040516020818303038152906040528051906020012092505b50600101610dae565b50831490505b9392505050565b600082820183811015610e41576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a4906118ee565b610f288363a9059cbb60e01b8484604051602401610ea69291906116a3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610fc3565b505050565b600082610f3c57506000610990565b82820282848281610f4957fe5b0414610e41576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611a5e565b6000610e4183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611079565b6060611025826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166110ca9092919063ffffffff16565b805190915015610f2857808060200190518101906110439190611553565b610f28576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611b5e565b600081836110b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a49190611809565b5060008385816110c057fe5b0495945050505050565b60606110d984846000856110e1565b949350505050565b60608247101561111d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611993565b611126856111e3565b61115c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a490611b27565b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040516111869190611666565b60006040518083038185875af1925050503d80600081146111c3576040519150601f19603f3d011682016040523d82523d6000602084013e6111c8565b606091505b50915091506111d88282866111e9565b979650505050505050565b3b151590565b606083156111f8575081610e41565b8251156112085782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a49190611809565b6040805160608082018352600080835260208301529181019190915290565b600082601f83011261126b578081fd5b813561127e61127982611c50565b611c29565b81815291506020808301908481018184028601820187101561129f57600080fd5b60005b848110156112be578135845292820192908201906001016112a2565b505050505092915050565b60008083601f8401126112da578081fd5b50813567ffffffffffffffff8111156112f1578182fd5b602083019150836020808302850101111561130b57600080fd5b9250929050565b600082601f830112611322578081fd5b813561133061127982611c50565b818152915060208083019084810160005b848110156112be57813587016060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c0301121561138057600080fd5b61138981611c29565b82860135815260408084013582880152918301359167ffffffffffffffff8311156113b357600080fd5b6113c18c888587010161125b565b90820152865250509282019290820190600101611341565b6000602082840312156113ea578081fd5b8135610e4181611ca0565b6000806000806080858703121561140a578283fd5b843561141581611ca0565b93506020850135925060408501359150606085013567ffffffffffffffff81111561143e578182fd5b61144a8782880161125b565b91505092959194509250565b60008060006040848603121561146a578283fd5b833567ffffffffffffffff811115611480578384fd5b61148c868287016112c9565b90945092505060208401356114a081611ca0565b809150509250925092565b600080604083850312156114bd578182fd5b823567ffffffffffffffff8111156114d3578283fd5b6114df85828601611312565b92505060208301356114f081611ca0565b809150509250929050565b60008060006060848603121561150f578283fd5b833567ffffffffffffffff811115611525578384fd5b61153186828701611312565b935050602084013561154281611ca0565b929592945050506040919091013590565b600060208284031215611564578081fd5b81518015158114610e41578182fd5b600060208284031215611584578081fd5b5035919050565b6000806040838503121561159d578182fd5b8235915060208301356114f081611ca0565b6000602082840312156115c0578081fd5b5051919050565b6000806000604084860312156115db578283fd5b83359250602084013567ffffffffffffffff8111156115f8578283fd5b611604868287016112c9565b9497909650939450505050565b6000806040838503121561159d578081fd5b60609290921b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000168252601482015260340190565b918252602082015260400190565b60008251611678818460208701611c70565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b6080808252855190820181905260009060209060a0840190828901845b82811015611702578151845292840192908401906001016116e6565b50505073ffffffffffffffffffffffffffffffffffffffff968716918401919091529390941660408201526060015292915050565b6040808252810183905260008460608301825b86811015611787576020833561175f81611ca0565b73ffffffffffffffffffffffffffffffffffffffff168352928301929091019060010161174a565b50809250505073ffffffffffffffffffffffffffffffffffffffff83166020830152949350505050565b6020808252825182820181905260009190848201906040850190845b818110156117e9578351835292840192918401916001016117cd565b50909695505050505050565b901515815260200190565b90815260200190565b6000602082528251806020840152611828816040850160208701611c70565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6020808252600b908201527f524f4f545f455849535453000000000000000000000000000000000000000000604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201527f6464726573730000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526012908201527f434c41494d5f414c52454144595f4d4144450000000000000000000000000000604082015260600190565b60208082526017908201527f434c41494d535f4d5553545f42455f50524f5649444544000000000000000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60408201527f722063616c6c0000000000000000000000000000000000000000000000000000606082015260800190565b6020808252600e908201527f5343414c455f544f4f5f48494748000000000000000000000000000000000000604082015260600190565b6020808252600c908201527f4d41585f544f4f5f484947480000000000000000000000000000000000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60408201527f7700000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526010908201527f524f4f545f4e4f545f454e41424c454400000000000000000000000000000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b60208082526013908201527f494e53554646494349454e545f414d4f554e5400000000000000000000000000604082015260600190565b6020808252600d908201527f50524f4f465f494e56414c494400000000000000000000000000000000000000604082015260600190565b60405181810167ffffffffffffffff81118282101715611c4857600080fd5b604052919050565b600067ffffffffffffffff821115611c66578081fd5b5060209081020190565b60005b83811015611c8b578181015183820152602001611c73565b83811115611c9a576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611cc257600080fd5b5056fea2646970667358221220c707f4bfe72870d767f12f656dfaf101e1c5f78a4ae50ef250a630bd5f6072fe64736f6c634300060c0033000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000064