10 txs
12 calls
constructor
constructor(address _token)
functions
computeNextVestingScheduleIdForHolder
viewfunction computeNextVestingScheduleIdForHolder(address holder) view returns (bytes32)
computeReleasableAmount
viewfunction computeReleasableAmount(bytes32 vestingScheduleId) view returns (uint256)
computeVestedAmount
viewfunction computeVestedAmount(bytes32 vestingScheduleId) view returns (uint256)
computeVestingScheduleIdForAddressAndIndex
purefunction computeVestingScheduleIdForAddressAndIndex(address holder, uint256 index) pure returns (bytes32)
getTotalReleasableTokens
viewfunction getTotalReleasableTokens(address beneficiary) view returns (uint256)
getTotalReleasedTokens
viewfunction getTotalReleasedTokens(address beneficiary) view returns (uint256)
getVestingIdAtIndex
viewfunction getVestingIdAtIndex(address beneficiary, uint256 index) view returns (bytes32)
getVestingSchedule
viewfunction getVestingSchedule(bytes32 vestingScheduleId) view returns (tuple)
getVestingSchedulesCountByBeneficiary
viewfunction getVestingSchedulesCountByBeneficiary(address beneficiary) view returns (uint256)
getWithdrawableAmount
viewfunction getWithdrawableAmount() view returns (uint256)
owner
viewfunction owner() view returns (address)
token
viewfunction token() view returns (address)
vestingSchedulesCount
viewfunction vestingSchedulesCount() view returns (uint256)
vestingSchedulesTotalAmount
viewfunction vestingSchedulesTotalAmount() view returns (uint256)
createVestingSchedule
nonpayablefunction createVestingSchedule(address _beneficiary, uint256 _start, uint256 _cliff, uint256 _duration, uint256 _slicePeriodSeconds, bool _revocable, uint256 _amount)
emergencyWithdraw
nonpayablefunction emergencyWithdraw()
release
nonpayablefunction release(bytes32 vestingScheduleId, uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
revoke
nonpayablefunction revoke(bytes32 vestingScheduleId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(uint256 amount)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TokensReleased
event TokensReleased(bytes32 indexed vestingScheduleId, address indexed beneficiary, uint256 amount)
VestingScheduleCreated
event VestingScheduleCreated(bytes32 indexed vestingScheduleId, address indexed beneficiary, uint256 cliff, uint256 start, uint256 duration, uint256 slicePeriodSeconds, bool revocable, uint256 amount)
VestingScheduleRevoked
event VestingScheduleRevoked(bytes32 indexed vestingScheduleId, address indexed beneficiary, uint256 unvestedAmount)
errors
No errors.
creation bytecode
0x60a060405234801561000f575f80fd5b50604051620019953803806200199583398101604081905261003091610107565b610039336100b8565b600180556001600160a01b0381166100a75760405162461bcd60e51b815260206004820152602760248201527f546f6b656e56657374696e673a20746f6b656e20697320746865207a65726f206044820152666164647265737360c81b606482015260840160405180910390fd5b6001600160a01b0316608052610134565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610117575f80fd5b81516001600160a01b038116811461012d575f80fd5b9392505050565b608051611825620001705f395f81816103c401528181610abd01528181610d6401528181610f0e01528181611258015261132801526118255ff3fe608060405260043610610129575f3560e01c80638da5cb5b116100a8578063c741d92f1161006d578063c741d92f1461032d578063db2e21bc14610342578063ea1bb3d514610356578063f2fde38b14610375578063f7c469f014610394578063fc0c546a146103b3575f80fd5b80638da5cb5b1461028957806390be10cc146102b95780639d8535ad146102cd5780639ef346b4146102e2578063b75c7dc61461030e575f80fd5b80635a7bb69a116100ee5780635a7bb69a146101e457806366afd8ef14610218578063715018a6146102375780638874f9f51461024b5780638af104da1461026a575f80fd5b80631032381114610134578063170ccf9d1461016657806317e289e91461018557806319cf0a94146101a65780632e1a7d4d146101c5575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5061015361014e36600461154c565b6103e6565b6040519081526020015b60405180910390f35b348015610171575f80fd5b5061015361018036600461157e565b6104b7565b348015610190575f80fd5b506101a461019f3660046115a4565b610546565b005b3480156101b1575f80fd5b506101536101c0366004611606565b61099b565b3480156101d0575f80fd5b506101a46101df36600461154c565b610a46565b3480156101ef575f80fd5b506101536101fe36600461157e565b6001600160a01b03165f9081526003602052604090205490565b348015610223575f80fd5b506101a461023236600461162e565b610b6d565b348015610242575f80fd5b506101a4610e22565b348015610256575f80fd5b5061015361026536600461157e565b610e35565b348015610275575f80fd5b50610153610284366004611606565b610eab565b348015610294575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161015d565b3480156102c4575f80fd5b50610153610ef1565b3480156102d8575f80fd5b5061015360045481565b3480156102ed575f80fd5b506103016102fc36600461154c565b610f8e565b60405161015d919061164e565b348015610319575f80fd5b506101a461032836600461154c565b611087565b348015610338575f80fd5b5061015360055481565b34801561034d575f80fd5b506101a4611239565b348015610361575f80fd5b5061015361037036600461154c565b6113dc565b348015610380575f80fd5b506101a461038f36600461157e565b611408565b34801561039f575f80fd5b506101536103ae36600461157e565b611481565b3480156103be575f80fd5b506102a17f000000000000000000000000000000000000000000000000000000000000000081565b5f818152600260205260408120805460ff1661040457505f92915050565b600881015460ff161561041b576007015492915050565b6001810154429081101561043257505f9392505050565b8160030154826002015461044691906116ed565b811061045757506006015492915050565b5f8260020154826104689190611700565b60048401549091505f61047b8284611713565b90505f6104888383611732565b90505f86600301548288600601546104a09190611732565b6104aa9190611713565b9998505050505050505050565b6001600160a01b0381165f908152600360205260408120548190815b8181101561053d576001600160a01b0385165f90815260036020526040812080548390811061050457610504611749565b5f9182526020808320909101548083526002909152604090912060078101549192509061053190866116ed565b945050506001016104d3565b50909392505050565b61054e6114a4565b6001600160a01b0387166105bf5760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e56657374696e673a2062656e65666963696172792069732074686560448201526c207a65726f206164647265737360981b60648201526084015b60405180910390fd5b5f811161060e5760405162461bcd60e51b815260206004820181905260248201527f546f6b656e56657374696e673a20616d6f756e74206d757374206265203e203060448201526064016105b6565b5f84116106685760405162461bcd60e51b815260206004820152602260248201527f546f6b656e56657374696e673a206475726174696f6e206d757374206265203e604482015261020360f41b60648201526084016105b6565b60018310156106cf5760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e56657374696e673a20736c696365506572696f645365636f6e647360448201526c206d757374206265203e3d203160981b60648201526084016105b6565b8484101561072f5760405162461bcd60e51b815260206004820152602760248201527f546f6b656e56657374696e673a206475726174696f6e206d757374206265203e6044820152661e9031b634b33360c91b60648201526084016105b6565b80610738610ef1565b10156107905760405162461bcd60e51b815260206004820152602160248201527f546f6b656e56657374696e673a20696e73756666696369656e7420746f6b656e6044820152607360f81b60648201526084016105b6565b5f61079a88611481565b90505f6107a787896116ed565b90506040518061014001604052806001151581526020018a6001600160a01b0316815260200182815260200189815260200187815260200186815260200185151581526020018481526020015f81526020015f151581525060025f8481526020019081526020015f205f820151815f015f6101000a81548160ff0219169083151502179055506020820151815f0160016101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010155606082015181600201556080820151816003015560a0820151816004015560c0820151816005015f6101000a81548160ff02191690831515021790555060e082015181600601556101008201518160070155610120820151816008015f6101000a81548160ff0219169083151502179055509050508260045f8282546108e991906116ed565b90915550506001600160a01b0389165f908152600360209081526040822080546001810182559083529082200183905560058054916109278361175d565b909155505060408051828152602081018a905290810187905260608101869052841515608082015260a081018490526001600160a01b038a169083907f5dd2f0f5121d44031a18f4ec7685b97ce3bd9400feda582818aa28501f1fcf8c9060c00160405180910390a3505050505050505050565b6001600160a01b0382165f908152600360205260408120548210610a0b5760405162461bcd60e51b815260206004820152602160248201527f546f6b656e56657374696e673a20696e646578206f7574206f6620626f756e646044820152607360f81b60648201526084016105b6565b6001600160a01b0383165f908152600360205260409020805483908110610a3457610a34611749565b905f5260205f20015490505b92915050565b610a4e6114a4565b80610a57610ef1565b1015610abb5760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e56657374696e673a20696e73756666696369656e7420776974686460448201526c72617761626c652066756e647360981b60648201526084016105b6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb610afb5f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610b45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b699190611775565b5050565b600260015403610bbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016105b6565b600260018190555f83815260209190915260408120805491549091336001600160a01b03610100909204821681149291909116148180610bfc5750805b610c785760405162461bcd60e51b815260206004820152604160248201527f546f6b656e56657374696e673a206f6e6c792062656e6566696369617279206f60448201527f72206f776e65722063616e2072656c656173652076657374656420746f6b656e6064820152607360f81b608482015260a4016105b6565b825460ff16610c995760405162461bcd60e51b81526004016105b690611790565b5f610ca3866113dc565b905084811015610d065760405162461bcd60e51b815260206004820152602860248201527f546f6b656e56657374696e673a20696e73756666696369656e742076657374656044820152676420746f6b656e7360c01b60648201526084016105b6565b84846007015f828254610d1991906116ed565b925050819055508460045f828254610d319190611700565b9091555050835460405163a9059cbb60e01b81526101009091046001600160a01b039081166004830152602482018790527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015610daa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dce9190611775565b5083546040518681526101009091046001600160a01b03169087907f62eb4bd96d9a7a66875a9f46f9f9d8bf6cfed3fe0578671b752301427d2a4f669060200160405180910390a350506001805550505050565b610e2a6114a4565b610e335f6114fd565b565b6001600160a01b0381165f908152600360205260408120548190815b8181101561053d576001600160a01b0385165f908152600360205260408120805483908110610e8257610e82611749565b905f5260205f2001549050610e96816113dc565b610ea090856116ed565b935050600101610e51565b6040516bffffffffffffffffffffffff19606084901b166020820152603481018290525f9060540160405160208183030381529060405280519060200120905092915050565b600480546040516370a0823160e01b815230928101929092525f917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610f5b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f7f91906117d8565b610f899190611700565b905090565b610fe96040518061014001604052805f151581526020015f6001600160a01b031681526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f151581525090565b505f90815260026020818152604092839020835161014081018552815460ff808216151583526001600160a01b0361010092839004169483019490945260018301549582019590955292810154606084015260038101546080840152600481015460a084015260058101548216151560c0840152600681015460e0840152600781015493830193909352600890920154909116151561012082015290565b61108f6114a4565b5f818152600260205260409020805460ff166110bd5760405162461bcd60e51b81526004016105b690611790565b600581015460ff166111265760405162461bcd60e51b815260206004820152602c60248201527f546f6b656e56657374696e673a2076657374696e67207363686564756c65206e60448201526b6f74207265766f6361626c6560a01b60648201526084016105b6565b600881015460ff16156111925760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e56657374696e673a2076657374696e67207363686564756c65206160448201526d1b1c9958591e481c995d9bdad95960921b60648201526084016105b6565b5f61119c836113dc565b905080156111ae576111ae8382610b6d565b5f826007015483600601546111c39190611700565b90508060045f8282546111d69190611700565b9091555050600883018054600160ff1990911617905582546040518281526101009091046001600160a01b03169085907fdbfc1fbe382eed671971d1c491d4108e66995ded4191ef7271701a283f1b05c69060200160405180910390a350505050565b6112416114a4565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156112a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c991906117d8565b90505f81116113265760405162461bcd60e51b815260206004820152602360248201527f546f6b656e56657374696e673a206e6f20746f6b656e7320746f20776974686460448201526272617760e81b60648201526084016105b6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb6113665f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af11580156113b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113d49190611775565b50505f600455565b5f81815260026020526040812060078101546113f7846103e6565b6114019190611700565b9392505050565b6114106114a4565b6001600160a01b0381166114755760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105b6565b61147e816114fd565b50565b6001600160a01b0381165f90815260036020526040812054610a40908390610eab565b5f546001600160a01b03163314610e335760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105b6565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121561155c575f80fd5b5035919050565b80356001600160a01b0381168114611579575f80fd5b919050565b5f6020828403121561158e575f80fd5b61140182611563565b801515811461147e575f80fd5b5f805f805f805f60e0888a0312156115ba575f80fd5b6115c388611563565b96506020880135955060408801359450606088013593506080880135925060a08801356115ef81611597565b8092505060c0880135905092959891949750929550565b5f8060408385031215611617575f80fd5b61162083611563565b946020939093013593505050565b5f806040838503121561163f575f80fd5b50508035926020909101359150565b8151151581526101408101602083015161167360208401826001600160a01b03169052565b5060408301516040830152606083015160608301526080830151608083015260a083015160a083015260c08301516116af60c084018215159052565b5060e083810151908301526101008084015190830152610120928301511515929091019190915290565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610a4057610a406116d9565b81810381811115610a4057610a406116d9565b5f8261172d57634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610a4057610a406116d9565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161176e5761176e6116d9565b5060010190565b5f60208284031215611785575f80fd5b815161140181611597565b60208082526028908201527f546f6b656e56657374696e673a2076657374696e67207363686564756c65206e6040820152671bdd08199bdd5b9960c21b606082015260800190565b5f602082840312156117e8575f80fd5b505191905056fea2646970667358221220365ea9a0571d50ad74f612fd8346c68fff18d08e1dbedd88106fad354fe1050a64736f6c63430008180033000000000000000000000000ee334d750f343604533d446262b290d9f1c43336