22 txs
24 calls
constructor
constructor(address initialOwner)
functions
getVestingSchedule
viewfunction getVestingSchedule(address beneficiary, address token) view returns (tuple)
owner
viewfunction owner() view returns (address)
releasable
viewfunction releasable(address beneficiary, address token) view returns (uint256)
released
viewfunction released(address beneficiary, address token) view returns (uint256)
totalCommitted
viewfunction totalCommitted(address) view returns (uint256)
vestedAmount
viewfunction vestedAmount(address beneficiary, address token, uint64 timestamp) view returns (uint256)
addVestingSchedule
nonpayablefunction addVestingSchedule(address beneficiary, address token, uint64 startTimestamp, uint64 durationSeconds, uint256 totalAmount)
batchAddVestingSchedule
nonpayablefunction batchAddVestingSchedule(address[] beneficiaries, address[] tokens, uint64[] startTimestamps, uint64[] durationSeconds, uint256[] totalAmounts)
release
nonpayablefunction release(address token)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawAllEther
nonpayablefunction withdrawAllEther()
withdrawEther
nonpayablefunction withdrawEther(uint256 amount)
withdrawExcessToken
nonpayablefunction withdrawExcessToken(address token, uint256 amount)
events
ERC20Released
event ERC20Released(address indexed beneficiary, address indexed token, uint256 amount)
EtherWithdrawn
event EtherWithdrawn(address indexed to, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
VestingScheduleCreated
event VestingScheduleCreated(address indexed beneficiary, address indexed token, uint64 startTimestamp, uint64 durationSeconds, uint256 totalAmount)
errors
FailedCall
error FailedCall()
InsufficientBalance
error InsufficientBalance(uint256 balance, uint256 needed)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x608060405234801561001057600080fd5b5060405161178138038061178183398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b611684806100fd6000396000f3fe6080604052600436106100e15760003560e01c8063715018a61161007f578063c08a1fb411610059578063c08a1fb414610241578063c45ac05014610261578063e16dd93614610281578063f2fde38b1461036b57600080fd5b8063715018a6146101e45780637fc09e11146101f95780638da5cb5b1461021957600080fd5b8063406072a9116100bb578063406072a914610144578063504a7d6c1461017757806350750641146101975780636f217a16146101c457600080fd5b806319165587146100ed57806331c911171461010f5780633bed33ce1461012457600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5061010d610108366004611277565b61038b565b005b34801561011b57600080fd5b5061010d6105e8565b34801561013057600080fd5b5061010d61013f366004611292565b6106aa565b34801561015057600080fd5b5061016461015f3660046112ab565b6107c0565b6040519081526020015b60405180910390f35b34801561018357600080fd5b5061010d6101923660046112f5565b6107f0565b3480156101a357600080fd5b506101646101b2366004611277565b60026020526000908152604090205481565b3480156101d057600080fd5b506101646101df366004611351565b610b9d565b3480156101f057600080fd5b5061010d610c0c565b34801561020557600080fd5b5061010d610214366004611394565b610c20565b34801561022557600080fd5b506000546040516001600160a01b03909116815260200161016e565b34801561024d57600080fd5b5061010d61025c366004611409565b610dce565b34801561026d57600080fd5b5061016461027c3660046112ab565b610f23565b34801561028d57600080fd5b5061032161029c3660046112ab565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160a01b03968716825260018082528583209690971682529485528390208351918201845280546001600160401b038082168452600160401b909104169482019490945293830154918401919091526002909101549082015290565b60405161016e919060006080820190506001600160401b0383511682526001600160401b036020840151166020830152604083015160408301526060830151606083015292915050565b34801561037757600080fd5b5061010d610386366004611277565b610f83565b3360008181526001602081815260408084206001600160a01b0387168552909152909120908101546104045760405162461bcd60e51b815260206004820181905260248201527f4d4256573a204e6f207363686564756c6520666f72207468697320746f6b656e60448201526064015b60405180910390fd5b60006104108385610f23565b90506000811161046e5760405162461bcd60e51b8152602060048201526024808201527f4d4256573a204e6f20746f6b656e7320617661696c61626c6520746f2072656c6044820152636561736560e01b60648201526084016103fb565b808260020160008282546104829190611525565b90915550506001600160a01b038416600090815260026020526040812080548392906104af908490611538565b90915550506040516370a0823160e01b815230600482015281906001600160a01b038616906370a0823190602401602060405180830381865afa1580156104fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051e919061154b565b10156105815760405162461bcd60e51b815260206004820152602c60248201527f4d4256573a20496e73756666696369656e7420746f6b656e2062616c616e636560448201526b081a5b8818dbdb9d1c9858dd60a21b60648201526084016103fb565b836001600160a01b0316836001600160a01b03167f1998e30db89daf293a52c4fc4c4470cd506aafc3f9683e8e5daddad80cd6f4a4836040516105c691815260200190565b60405180910390a36105e26001600160a01b0385168483610fbe565b50505050565b6105f0611015565b478061063e5760405162461bcd60e51b815260206004820152601a60248201527f4d4256573a204e6f20457468657220746f20776974686472617700000000000060448201526064016103fb565b6000546001600160a01b03166001600160a01b03167f06097061aeda806b5e9cb4133d9899f332ff0913956567fc0f7ea15e3d19947c8260405161068491815260200190565b60405180910390a26106a76106a16000546001600160a01b031690565b82611042565b50565b6106b2611015565b600081116107025760405162461bcd60e51b815260206004820152601860248201527f4d4256573a20416d6f756e74206d757374206265203e2030000000000000000060448201526064016103fb565b47818110156107535760405162461bcd60e51b815260206004820181905260248201527f4d4256573a20496e73756666696369656e742045746865722062616c616e636560448201526064016103fb565b6000546001600160a01b03166001600160a01b03167f06097061aeda806b5e9cb4133d9899f332ff0913956567fc0f7ea15e3d19947c8360405161079991815260200190565b60405180910390a26107bc6107b66000546001600160a01b031690565b83611042565b5050565b6001600160a01b038083166000908152600160209081526040808320938516835292905220600201545b92915050565b6107f8611015565b6001600160a01b03851661085f5760405162461bcd60e51b815260206004820152602860248201527f4d4256573a2042656e65666963696172792063616e6e6f74206265207a65726f604482015267206164647265737360c01b60648201526084016103fb565b6001600160a01b0384166108855760405162461bcd60e51b81526004016103fb90611564565b600081116108e75760405162461bcd60e51b815260206004820152602960248201527f4d4256573a20546f74616c20616d6f756e74206d75737420626520677265617460448201526806572207468616e20360bc1b60648201526084016103fb565b42836001600160401b0316101561094f5760405162461bcd60e51b815260206004820152602660248201527f4d4256573a2073746172742074696d65206d75737420626520696e207468652060448201526566757475726560d01b60648201526084016103fb565b6001600160a01b0380861660009081526001602090815260408083209388168352929052206002810154156109e05760405162461bcd60e51b815260206004820152603160248201527f4d4256573a2043616e6e6f74206d6f64696679207363686564756c6520776974604482015270682072656c656173656420746f6b656e7360781b60648201526084016103fb565b60018101546001600160a01b0386166000908152600260205260408120548490610a0b908490611538565b610a159190611525565b6040516370a0823160e01b815230600482015290915081906001600160a01b038916906370a0823190602401602060405180830381865afa158015610a5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a82919061154b565b1015610af65760405162461bcd60e51b815260206004820152603a60248201527f4d4256573a20696e73756666696369656e742062616c616e636520746f20636f60448201527f766572206e65772f7570646174656420636f6d6d69746d656e7400000000000060648201526084016103fb565b6001600160a01b0387811660008181526002602090815260409182902085905586546001600160401b038b81166fffffffffffffffffffffffffffffffff199092168217600160401b918c16918202178955600189018a905583519182529181019190915290810187905290918a16907f49cfea04cc5d8322985a11ab400b077d157bd1b52cfb8cfc770640fd7f30a1a49060600160405180910390a35050505050505050565b6001600160a01b0380841660009081526001602081815260408084209487168452939052918120918201549091908203610bdb576000915050610c05565b60018101548154610c0191906001600160401b0380821691600160401b900416866110d2565b9150505b9392505050565b610c14611015565b610c1e6000611171565b565b610c28611015565b6001600160a01b038216610c4e5760405162461bcd60e51b81526004016103fb90611564565b60008111610caa5760405162461bcd60e51b815260206004820152602360248201527f4d4256573a20416d6f756e74206d75737420626520677265617465722074686160448201526206e20360ec1b60648201526084016103fb565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d15919061154b565b6001600160a01b03841660009081526002602052604081205491925090610d3c9083611538565b905080831115610da85760405162461bcd60e51b815260206004820152603160248201527f4d4256573a205769746864726177616c20616d6f756e742065786365656473206044820152706e6f6e2d76657374656420746f6b656e7360781b60648201526084016103fb565b6105e2610dbd6000546001600160a01b031690565b6001600160a01b0386169085610fbe565b610dd6611015565b8887148015610de457508685145b8015610def57508483145b8015610dfa57508281145b610e465760405162461bcd60e51b815260206004820152601b60248201527f4d4256573a206172726179206c656e677468206d69736d61746368000000000060448201526064016103fb565b60005b89811015610f1657610f0e8b8b83818110610e6657610e666115a6565b9050602002016020810190610e7b9190611277565b8a8a84818110610e8d57610e8d6115a6565b9050602002016020810190610ea29190611277565b898985818110610eb457610eb46115a6565b9050602002016020810190610ec991906115bc565b888886818110610edb57610edb6115a6565b9050602002016020810190610ef091906115bc565b878787818110610f0257610f026115a6565b905060200201356107f0565b600101610e49565b5050505050505050505050565b6001600160a01b0380831660009081526001602081815260408084209486168452939052918120918201549091908203610f615760009150506107ea565b8060020154610f71858542610b9d565b610f7b9190611538565b949350505050565b610f8b611015565b6001600160a01b038116610fb557604051631e4fbdf760e01b8152600060048201526024016103fb565b6106a781611171565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526110109084906111c1565b505050565b6000546001600160a01b03163314610c1e5760405163118cdaa760e01b81523360048201526024016103fb565b8047101561106c5760405163cf47918160e01b8152476004820152602481018290526044016103fb565b600080836001600160a01b03168360405160006040518083038185875af1925050503d80600081146110ba576040519150601f19603f3d011682016040523d82523d6000602084013e6110bf565b606091505b5091509150816105e2576105e281611232565b6000836001600160401b0316826001600160401b031610156110f657506000610f7b565b61110083856115d7565b6001600160401b0316826001600160401b03161061111f575083610f7b565b826001600160401b0316600003611137575083610f7b565b6001600160401b03831661114b85846115f6565b61115e906001600160401b031687611615565b611168919061162c565b95945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080602060008451602086016000885af1806111e4576040513d6000823e3d81fd5b50506000513d915081156111fc578060011415611209565b6001600160a01b0384163b155b156105e257604051635274afe760e01b81526001600160a01b03851660048201526024016103fb565b8051156112425780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b80356001600160a01b038116811461127257600080fd5b919050565b60006020828403121561128957600080fd5b610c058261125b565b6000602082840312156112a457600080fd5b5035919050565b600080604083850312156112be57600080fd5b6112c78361125b565b91506112d56020840161125b565b90509250929050565b80356001600160401b038116811461127257600080fd5b600080600080600060a0868803121561130d57600080fd5b6113168661125b565b94506113246020870161125b565b9350611332604087016112de565b9250611340606087016112de565b949793965091946080013592915050565b60008060006060848603121561136657600080fd5b61136f8461125b565b925061137d6020850161125b565b915061138b604085016112de565b90509250925092565b600080604083850312156113a757600080fd5b6113b08361125b565b946020939093013593505050565b60008083601f8401126113d057600080fd5b5081356001600160401b038111156113e757600080fd5b6020830191508360208260051b850101111561140257600080fd5b9250929050565b60008060008060008060008060008060a08b8d03121561142857600080fd5b8a356001600160401b0381111561143e57600080fd5b61144a8d828e016113be565b909b5099505060208b01356001600160401b0381111561146957600080fd5b6114758d828e016113be565b90995097505060408b01356001600160401b0381111561149457600080fd5b6114a08d828e016113be565b90975095505060608b01356001600160401b038111156114bf57600080fd5b6114cb8d828e016113be565b90955093505060808b01356001600160401b038111156114ea57600080fd5b6114f68d828e016113be565b915080935050809150509295989b9194979a5092959850565b634e487b7160e01b600052601160045260246000fd5b808201808211156107ea576107ea61150f565b818103818111156107ea576107ea61150f565b60006020828403121561155d57600080fd5b5051919050565b60208082526022908201527f4d4256573a20546f6b656e2063616e6e6f74206265207a65726f206164647265604082015261737360f01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156115ce57600080fd5b610c05826112de565b6001600160401b0381811683821601908111156107ea576107ea61150f565b6001600160401b0382811682821603908111156107ea576107ea61150f565b80820281158282048414176107ea576107ea61150f565b60008261164957634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220a7f00ec2bdc28a60640ba526badc2a3f09f1085fb4e855360e9c5d111b1c1d0864736f6c634300081c0033000000000000000000000000ba4010dce175c703102396faa827b1508e4119f2