14 txs
15 calls
constructor
constructor(address _olas, address _contributeManager, address _serviceRegistry, address _serviceRegistryTokenUtility, address _drainer, uint256 _refundFactor)
functions
contributeManager
viewfunction contributeManager() view returns (address)
drainer
viewfunction drainer() view returns (address)
mapAccountRefunds
viewfunction mapAccountRefunds(address) view returns (bool)
olas
viewfunction olas() view returns (address)
owner
viewfunction owner() view returns (address)
refundFactor
viewfunction refundFactor() view returns (uint256)
serviceRegistry
viewfunction serviceRegistry() view returns (address)
serviceRegistryTokenUtility
viewfunction serviceRegistryTokenUtility() view returns (address)
VERSION
viewfunction VERSION() view returns (string)
changeOwner
nonpayablefunction changeOwner(address newOwner)
drain
nonpayablefunction drain()
recover
nonpayablefunction recover(uint256 serviceId)
events
Drained
event Drained(address indexed drainer, uint256 amount)
OwnerUpdated
event OwnerUpdated(address indexed owner)
Refunded
event Refunded(address indexed account, uint256 amount)
errors
AlreadyRefunded
error AlreadyRefunded(address account)
OwnerOnly
error OwnerOnly(address sender, address owner)
ServiceNotSlashed
error ServiceNotSlashed(uint256 serviceId)
UnauthorizedAccount
error UnauthorizedAccount(address account)
WrongServiceState
error WrongServiceState(uint256 serviceId, uint8 state)
ZeroAddress
error ZeroAddress()
ZeroValue
error ZeroValue()
creation bytecode
0x610140604052348015610010575f5ffd5b5060405161154938038061154983398101604081905261002f9161011b565b6001600160a01b038616158061004c57506001600160a01b038516155b8061005e57506001600160a01b038416155b8061007057506001600160a01b038316155b8061008257506001600160a01b038216155b156100a05760405163d92e233d60e01b815260040160405180910390fd5b805f036100c057604051637c946ed760e01b815260040160405180910390fd5b6001600160a01b0395861660a05293851660c05291841660e052831661010052909116610120526080525f80546001600160a01b03191633179055610184565b80516001600160a01b0381168114610116575f5ffd5b919050565b5f5f5f5f5f5f60c08789031215610130575f5ffd5b61013987610100565b955061014760208801610100565b945061015560408801610100565b935061016360608801610100565b925061017160808801610100565b915060a087015190509295509295509295565b60805160a05160c05160e05161010051610120516113246102255f395f818161018b01528181610c550152610cf101525f818161013d0152818161079a015261090901525f818161021e0152818161033f01528181610431015261062701525f8181610164015281816106a9015261076b01525f818160d7015281816109fe01528181610b5f0152610c8401525f8181610245015261098001526113245ff3fe608060405234801561000f575f5ffd5b50600436106100ce575f3560e01c80638da5cb5b1161007d578063cbcf252a11610058578063cbcf252a14610219578063fb7926c714610240578063ffa1ad7414610275575f5ffd5b80638da5cb5b146101df5780639890220b146101fe578063a6f9dae114610206575f5ffd5b80634d2751bf116100ad5780634d2751bf1461015f57806357838e851461018657806360739c54146101ad575f5ffd5b806231d115146100d25780630ca35682146101235780632871405114610138575b5f5ffd5b6100f97f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b610136610131366004610e8c565b6102be565b005b6100f97f000000000000000000000000000000000000000000000000000000000000000081565b6100f97f000000000000000000000000000000000000000000000000000000000000000081565b6100f97f000000000000000000000000000000000000000000000000000000000000000081565b6101cf6101bb366004610ec7565b60016020525f908152604090205460ff1681565b604051901515815260200161011a565b5f546100f99073ffffffffffffffffffffffffffffffffffffffff1681565b610136610abe565b610136610214366004610ec7565b610d62565b6100f97f000000000000000000000000000000000000000000000000000000000000000081565b6102677f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161011a565b6102b16040518060400160405280600581526020017f302e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161011a9190610ee9565b335f9081526001602052604090205460ff161561030e576040517f086735f50000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018290525f907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015610399573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103bd9190610f3c565b90503373ffffffffffffffffffffffffffffffffffffffff82161461042c576040517fa43d6ada00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff82166024820152604401610305565b5f5f5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634236aff8866040518263ffffffff1660e01b815260040161048a91815260200190565b60e060405180830381865afa1580156104a5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c99190610f8a565b965096505050509350505f8373ffffffffffffffffffffffffffffffffffffffff1663a0e67e2b6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561051c573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610561919081019061108a565b90508263ffffffff1681511415806105be57503373ffffffffffffffffffffffffffffffffffffffff16815f8151811061059d5761059d61113e565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b156105f7576040517f32b2baa3000000000000000000000000000000000000000000000000000000008152336004820152602401610305565b6040517f4eb780da0000000000000000000000000000000000000000000000000000000081523360048201525f907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690634eb780da90602401602060405180830381865afa158015610681573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a59190610f3c565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461072e576040517f32b2baa3000000000000000000000000000000000000000000000000000000008152336004820152602401610305565b6040517f8a2bd86f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018990527f00000000000000000000000000000000000000000000000000000000000000001690638a2bd86f90604401602060405180830381865afa1580156107df573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610803919061116b565b1561083d576040517f130db41300000000000000000000000000000000000000000000000000000000815260048101889052602401610305565b600583600581111561085157610851611182565b1461088c5786836040517f8046d8450000000000000000000000000000000000000000000000000000000081526004016103059291906111af565b335f90815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155517f3cebfa4f0000000000000000000000000000000000000000000000000000000081526004810189905273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690633cebfa4f9060240160408051808303815f875af115801561094e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097291906111f8565b90505f670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000083602001516bffffffffffffffffffffffff166109bc9190611255565b6109c69190611297565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290529091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a9059cbb906044016020604051808303815f875af1158015610a59573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7d91906112cf565b5060405181815233907fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d06519060200160405180910390a2505050505050505050565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610b2f575f546040517fa43d6ada00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610305565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610bb9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdd919061116b565b9050805f03610c18576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015610cca573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee91906112cf565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167fb2559daa129ad136aac2133ac6a0c75920abbef7d6663a017a94e181b13786c382604051610d5791815260200190565b60405180910390a250565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610dd3575f546040517fa43d6ada00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610305565b73ffffffffffffffffffffffffffffffffffffffff8116610e20576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117825560405190917f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b91a250565b5f60208284031215610e9c575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610ec4575f5ffd5b50565b5f60208284031215610ed7575f5ffd5b8135610ee281610ea3565b9392505050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b5f60208284031215610f4c575f5ffd5b8151610ee281610ea3565b80516bffffffffffffffffffffffff81168114610f72575f5ffd5b919050565b805163ffffffff81168114610f72575f5ffd5b5f5f5f5f5f5f5f60e0888a031215610fa0575f5ffd5b610fa988610f57565b96506020880151610fb981610ea3565b60408901519096509450610fcf60608901610f77565b9350610fdd60808901610f77565b9250610feb60a08901610f77565b915060c088015160068110610ffe575f5ffd5b8091505092959891949750929550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156110825761108261100e565b604052919050565b5f6020828403121561109a575f5ffd5b815167ffffffffffffffff8111156110b0575f5ffd5b8201601f810184136110c0575f5ffd5b805167ffffffffffffffff8111156110da576110da61100e565b8060051b6110ea6020820161103b565b91825260208184018101929081019087841115611105575f5ffd5b6020850194505b83851015611133578451925061112183610ea3565b8282526020948501949091019061110c565b979650505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561117b575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b82815260408101600683106111eb577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b8260208301529392505050565b5f6040828403128015611209575f5ffd5b506040805190810167ffffffffffffffff8111828210171561122d5761122d61100e565b604052825161123b81610ea3565b815261124960208401610f57565b60208201529392505050565b8082028115828204841417611291577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b5f826112ca577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f602082840312156112df575f5ffd5b81518015158114610ee2575f5ffdfea264697066735822122058bd6ea474fe3438d1f88e8aa39ecee347a2ded0165690b01862bf1b0d995bd764736f6c634300081c003300000000000000000000000054330d28ca3357f294334bdc454a032e7f353416000000000000000000000000aea9ef993d8a1a164397642648df43f053d43d850000000000000000000000003c1ff68f5aa342d296d4dee4bb1cacca912d95fe00000000000000000000000034c895f302d0b5cf52ec0edd3945321eb0f83dd5000000000000000000000000e49cb081e8d96920c38aa7ab90cb0294ab4bc8ea000000000000000000000000000000000000000000000000120a871cc0020000