0 txs
0 calls
constructor
constructor(address host, string registrationKey)
functions
beforeAgreementCreated
viewfunction beforeAgreementCreated(address, address, bytes32, bytes, bytes) view returns (bytes)
beforeAgreementTerminated
viewfunction beforeAgreementTerminated(address, address, bytes32, bytes, bytes) view returns (bytes)
beforeAgreementUpdated
viewfunction beforeAgreementUpdated(address, address, bytes32, bytes, bytes) view returns (bytes)
cfaV1
viewfunction cfaV1() view returns (address host, address cfa)
END_DATE_VALID_BEFORE
viewfunction END_DATE_VALID_BEFORE() view returns (uint32)
getVestingSchedule
viewfunction getVestingSchedule(address supertoken, address sender, address receiver) view returns (tuple)
MIN_VESTING_DURATION
viewfunction MIN_VESTING_DURATION() view returns (uint32)
START_DATE_VALID_AFTER
viewfunction START_DATE_VALID_AFTER() view returns (uint32)
vestingSchedules
viewfunction vestingSchedules(bytes32) view returns (uint32 cliffAndFlowDate, uint32 endDate, int96 flowRate, uint256 cliffAmount)
afterAgreementCreated
nonpayablefunction afterAgreementCreated(address, address, bytes32, bytes, bytes, bytes) returns (bytes)
afterAgreementTerminated
nonpayablefunction afterAgreementTerminated(address, address, bytes32, bytes, bytes, bytes) returns (bytes)
afterAgreementUpdated
nonpayablefunction afterAgreementUpdated(address, address, bytes32, bytes, bytes, bytes) returns (bytes)
createVestingSchedule
nonpayablefunction createVestingSchedule(address superToken, address receiver, uint32 startDate, uint32 cliffDate, int96 flowRate, uint256 cliffAmount, uint32 endDate, bytes ctx) returns (bytes newCtx)
deleteVestingSchedule
nonpayablefunction deleteVestingSchedule(address superToken, address receiver, bytes ctx) returns (bytes newCtx)
executeCliffAndFlow
nonpayablefunction executeCliffAndFlow(address superToken, address sender, address receiver) returns (bool success)
executeEndVesting
nonpayablefunction executeEndVesting(address superToken, address sender, address receiver) returns (bool success)
updateVestingSchedule
nonpayablefunction updateVestingSchedule(address superToken, address receiver, uint32 endDate, bytes ctx) returns (bytes newCtx)
events
VestingCliffAndFlowExecuted
event VestingCliffAndFlowExecuted(address indexed superToken, address indexed sender, address indexed receiver, uint32 cliffAndFlowDate, int96 flowRate, uint256 cliffAmount, uint256 flowDelayCompensation)
VestingEndExecuted
event VestingEndExecuted(address indexed superToken, address indexed sender, address indexed receiver, uint32 endDate, uint256 earlyEndCompensation, bool didCompensationFail)
VestingEndFailed
event VestingEndFailed(address indexed superToken, address indexed sender, address indexed receiver, uint32 endDate)
VestingScheduleCreated
event VestingScheduleCreated(address indexed superToken, address indexed sender, address indexed receiver, uint32 startDate, uint32 cliffDate, int96 flowRate, uint32 endDate, uint256 cliffAmount)
VestingScheduleDeleted
event VestingScheduleDeleted(address indexed superToken, address indexed sender, address indexed receiver)
VestingScheduleUpdated
event VestingScheduleUpdated(address indexed superToken, address indexed sender, address indexed receiver, uint32 oldEndDate, uint32 endDate)
errors
AccountInvalid
error AccountInvalid()
CliffInvalid
error CliffInvalid()
FlowRateInvalid
error FlowRateInvalid()
HostInvalid
error HostInvalid()
ScheduleAlreadyExists
error ScheduleAlreadyExists()
ScheduleDoesNotExist
error ScheduleDoesNotExist()
ScheduleNotFlowing
error ScheduleNotFlowing()
TimeWindowInvalid
error TimeWindowInvalid()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60806040523480156200001157600080fd5b50604051620020e3380380620020e38339810160408190526200003491620001cc565b6040805180820182526001600160a01b0384168082529151635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201529091602083019163b6d200de90602401602060405180830381865afa158015620000aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d091906200029c565b6001600160a01b039081169091528151600080549183166001600160a01b031992831617905560209092015160018054918316919093161790915560405163bd1c448b60e01b8152643f000000019184169063bd1c448b906200013a9084908690600401620002c3565b600060405180830381600087803b1580156200015557600080fd5b505af11580156200016a573d6000803e3d6000fd5b50505050505050620002ff565b6001600160a01b03811681146200018d57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620001c3578181015183820152602001620001a9565b50506000910152565b60008060408385031215620001e057600080fd5b8251620001ed8162000177565b60208401519092506001600160401b03808211156200020b57600080fd5b818501915085601f8301126200022057600080fd5b81518181111562000235576200023562000190565b604051601f8201601f19908116603f0116810190838211818310171562000260576200026062000190565b816040528281528860208487010111156200027a57600080fd5b6200028d836020830160208801620001a6565b80955050505050509250929050565b600060208284031215620002af57600080fd5b8151620002bc8162000177565b9392505050565b8281526040602082015260008251806040840152620002ea816060850160208701620001a6565b601f01601f1916919091016060019392505050565b611dd4806200030f6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80637648e965116100a25780639223d9c1116100715780639223d9c1146102c7578063ac42347a146102da578063d3112b2e146102ed578063d86ed3e514610327578063f67b5c7e1461033a57600080fd5b80637648e96514610236578063835942d714610249578063884d1f401461025c57806389a1976f1461026f57600080fd5b806353c11f99116100de57806353c11f99146101755780635f9e7d7714610188578063604178871461019b57806371de407e1461021357600080fd5b8063230dbd29146101105780632719e010146101395780633011071e1461015857806330d9c91514610162575b600080fd5b61012361011e36600461152a565b610344565b6040516101309190611645565b60405180910390f35b6101436203f48081565b60405163ffffffff9091168152602001610130565b61014362093a8081565b61012361017036600461165f565b6103ab565b61012361018336600461152a565b61040e565b61012361019636600461165f565b610473565b6101e26101a93660046116fe565b6002602052600090815260409020805460019091015463ffffffff80831692600160201b810490911691600160401b909104600b0b9084565b6040805163ffffffff9586168152949093166020850152600b9190910b918301919091526060820152608001610130565b610226610221366004611717565b6104da565b6040519015158152602001610130565b610123610244366004611874565b61078c565b610123610257366004611925565b610b0d565b61012361026a36600461165f565b610c82565b61028261027d366004611717565b610ce5565b6040516101309190600060808201905063ffffffff808451168352806020850151166020840152506040830151600b0b60408301526060830151606083015292915050565b6102266102d5366004611717565b610d91565b6101236102e8366004611998565b610fe3565b600054600154610307916001600160a01b03908116911682565b604080516001600160a01b03938416815292909116602083015201610130565b61012361033536600461152a565b6110c5565b6101436201518081565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b60648201526060906084016103a2565b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b60648201526060906084016103a2565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b60648201526060906084016103a2565b6000808484846040516020016104f2939291906119fa565b60408051601f198184030181528282528051602091820120600081815260028352839020608085018452805463ffffffff8082168752600160201b820416938601849052600160401b9004600b0b9385019390935260019092015460608401529092504290610565906201518090611a3f565b63ffffffff16111561058a57604051633a230cd960e01b815260040160405180910390fd5b600082815260026020526040812080546001600160a01b0319168155600101556105b5868686611127565b1561071a576105c760008686896111ba565b50600042826020015163ffffffff16116105e2576000610610565b81604001516001600160601b031642836020015163ffffffff166106069190611a63565b6106109190611a7c565b90506000811561069b576040516323b872dd60e01b81526001600160a01b0388811660048301528781166024830152604482018490528916906323b872dd906064016020604051808303816000875af192505050801561068d575060408051601f3d908101601f1916820190925261068a91810190611a93565b60015b6106995750600161069b565b505b856001600160a01b0316876001600160a01b0316896001600160a01b03167f18c0f95c8f947c789fc5b704b2f1299671614639c64bf6af260bd210bc184ba28660200151868660405161070b9392919063ffffffff93909316835260208301919091521515604082015260600190565b60405180910390a45050610780565b836001600160a01b0316856001600160a01b0316876001600160a01b03167fcb5ed4b0fc620b552fbd3a82d5fb0f9a57eb30a7ef218f4a4974b871f648f6e88460200151604051610777919063ffffffff91909116815260200190565b60405180910390a45b50600195945050505050565b806000610798826111e6565b90506001600160a01b03891615806107c15750806001600160a01b0316896001600160a01b0316145b156107df5760405163a9c6791d60e01b815260040160405180910390fd5b6001600160a01b038a166108065760405163d92e233d60e01b815260040160405180910390fd5b600086600b0b1361082a576040516308bea1af60e41b815260040160405180910390fd5b63ffffffff87161580159061084a57508663ffffffff168863ffffffff16115b1561086857604051633a230cd960e01b815260040160405180910390fd5b63ffffffff871615801561087b57508415155b1561089957604051635357da6360e01b815260040160405180910390fd5b600063ffffffff8816156108ad57876108af565b885b9050428163ffffffff161115806108d257508463ffffffff168163ffffffff1610155b8061090157506108e56201518086611a3f565b63ffffffff166108f86203f48083611ab5565b63ffffffff1610155b8061091d575062093a806109158287611a3f565b63ffffffff16105b1561093b57604051633a230cd960e01b815260040160405180910390fd5b60008b838c604051602001610952939291906119fa565b60408051808303601f19018152918152815160209283012060008181526002909352912054909150600160201b900463ffffffff16156109a55760405163e109c26360e01b815260040160405180910390fd5b60405180608001604052808363ffffffff1681526020018763ffffffff16815260200189600b0b8152602001888152506002600083815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160086101000a8154816001600160601b030219169083600b0b6001600160601b03160217905550606082015181600101559050508a6001600160a01b0316836001600160a01b03168d6001600160a01b03167fff14b28ed767437ab23fdd4d479cc5ab6784d392145c3197ce1e8e953a33b5d68d8d8d8c8e604051610af695949392919063ffffffff95861681529385166020850152600b9290920b60408401529092166060820152608081019190915260a00190565b60405180910390a450505098975050505050505050565b806000610b19826111e6565b90506000868287604051602001610b32939291906119fa565b60408051601f198184030181528282528051602091820120600081815260028352839020608085018452805463ffffffff8082168752600160201b8204811694870194909452600160401b9004600b0b9385019390935260019092015460608401529092504290871611610bb957604051633a230cd960e01b815260040160405180910390fd5b805163ffffffff16151580610bd65750602081015163ffffffff16155b15610bf45760405163e23d21e760e01b815260040160405180910390fd5b600082815260026020908152604091829020805467ffffffff000000001916600160201b63ffffffff8b81169182029290921790925584830151845191168152918201526001600160a01b038981169286821692918c16917f5656285dd3a31235e7b67252cd44c997ee7a3d1b7656497c444212a7caa30c3e910160405180910390a4505050949350505050565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b60648201526060906084016103a2565b60408051608081018252600080825260208201819052918101829052606081019190915260026000858585604051602001610d22939291906119fa565b60408051808303601f1901815291815281516020928301208352828201939093529082016000208251608081018452815463ffffffff8082168352600160201b82041693820193909352600160401b909204600b0b928201929092526001909101546060820152949350505050565b600080848484604051602001610da9939291906119fa565b60408051601f198184030181528282528051602091820120600081815260028352839020608085018452805463ffffffff808216808852600160201b830490911694870194909452600160401b9004600b0b938501939093526001909201546060840152909250421080610e32575080514290610e2a906203f48090611ab5565b63ffffffff16105b15610e5057604051633a230cd960e01b815260040160405180910390fd5b600082815260026020526040808220805463ffffffff1916815560010182905582015182516001600160601b0390911690610e919063ffffffff1642611a63565b610e9b9190611a7c565b905081606001516000141580610eb057508015155b15610f5057866001600160a01b03166323b872dd8787848660600151610ed69190611ad2565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015610f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4e9190611a93565b505b6040820151610f6790600090889088908b906112ba565b508151604080840151606080860151835163ffffffff9095168552600b9290920b60208501529183015281018290526001600160a01b0380871691888216918a16907f55b5747e4a57fe6e94a7f59d179a30836f6f42c9b33d2aa3a8887107510952a49060800160405180910390a45060019695505050505050565b806000610fef826111e6565b90506000858286604051602001611008939291906119fa565b60408051808303601f19018152918152815160209283012060008181526002909352912054909150600160201b900463ffffffff16156110a35760008181526002602052604080822080546001600160a01b0319168155600101829055516001600160a01b038088169285821692918a16917fffdbd3e70c7da1df271588aaf77ca99625058da916f9d29cdc13d6f8e4f900ab9190a46110bc565b6040516319cfbfcd60e11b815260040160405180910390fd5b50509392505050565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d0810dc99585d195960921b60648201526060906084016103a2565b600154604051631cd43d1160e31b81526001600160a01b03858116600483015284811660248301528381166044830152600092839291169063e6a1e88890606401608060405180830381865afa158015611185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a99190611ae5565b5050600b0b15159695505050505050565b6040805160008152602081019091526060906111dd9086908690869086906112e9565b95945050505050565b6000815160001461129c576000546001600160a01b0316331461121c57604051632772d7f360e21b815260040160405180910390fd5b600054604051631fb6491d60e11b81526001600160a01b0390911690633f6c923a9061124c908590600401611645565b600060405180830381865afa158015611269573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112919190810190611ba4565b60600151905061129f565b50335b6001600160a01b0381166112b5576112b5611cab565b919050565b6040805160008152602081019091526060906112df90879087908790879087906113c4565b9695505050505050565b845460018601546040805160008152602081019091526060926001600160a01b03908116926339255d5b929116908190634c8b181f906113329089908c908c9060448101611cc1565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b031916825261137d939250908790600401611cf5565b6000604051808303816000875af115801561139c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112df9190810190611d2b565b855460018701546060916001600160a01b03908116916339255d5b9116806394229ecb888b8b8a60006040519080825280601f01601f191660200182016040528015611417576020820181803683370190505b5060405160240161142c959493929190611d60565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252611477939250908790600401611cf5565b6000604051808303816000875af1158015611496573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114be9190810190611d2b565b979650505050505050565b6001600160a01b03811681146114de57600080fd5b50565b60008083601f8401126114f357600080fd5b50813567ffffffffffffffff81111561150b57600080fd5b60208301915083602082850101111561152357600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561154857600080fd5b8935611553816114c9565b985060208a0135611563816114c9565b975060408a0135965060608a013567ffffffffffffffff8082111561158757600080fd5b6115938d838e016114e1565b909850965060808c01359150808211156115ac57600080fd5b6115b88d838e016114e1565b909650945060a08c01359150808211156115d157600080fd5b506115de8c828d016114e1565b915080935050809150509295985092959850929598565b60005b838110156116105781810151838201526020016115f8565b50506000910152565b600081518084526116318160208601602086016115f5565b601f01601f19169290920160200192915050565b6020815260006116586020830184611619565b9392505050565b600080600080600080600060a0888a03121561167a57600080fd5b8735611685816114c9565b96506020880135611695816114c9565b955060408801359450606088013567ffffffffffffffff808211156116b957600080fd5b6116c58b838c016114e1565b909650945060808a01359150808211156116de57600080fd5b506116eb8a828b016114e1565b989b979a50959850939692959293505050565b60006020828403121561171057600080fd5b5035919050565b60008060006060848603121561172c57600080fd5b8335611737816114c9565b92506020840135611747816114c9565b91506040840135611757816114c9565b809150509250925092565b803563ffffffff811681146112b557600080fd5b80600b0b81146114de57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff811182821017156117bf576117bf611785565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156117ee576117ee611785565b604052919050565b600067ffffffffffffffff82111561181057611810611785565b50601f01601f191660200190565b600082601f83011261182f57600080fd5b813561184261183d826117f6565b6117c5565b81815284602083860101111561185757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600080610100898b03121561189157600080fd5b883561189c816114c9565b975060208901356118ac816114c9565b96506118ba60408a01611762565b95506118c860608a01611762565b945060808901356118d881611776565b935060a089013592506118ed60c08a01611762565b915060e089013567ffffffffffffffff81111561190957600080fd5b6119158b828c0161181e565b9150509295985092959890939650565b6000806000806080858703121561193b57600080fd5b8435611946816114c9565b93506020850135611956816114c9565b925061196460408601611762565b9150606085013567ffffffffffffffff81111561198057600080fd5b61198c8782880161181e565b91505092959194509250565b6000806000606084860312156119ad57600080fd5b83356119b8816114c9565b925060208401356119c8816114c9565b9150604084013567ffffffffffffffff8111156119e457600080fd5b6119f08682870161181e565b9150509250925092565b6bffffffffffffffffffffffff19606094851b8116825292841b83166014820152921b166028820152603c0190565b634e487b7160e01b600052601160045260246000fd5b63ffffffff828116828216039080821115611a5c57611a5c611a29565b5092915050565b81810381811115611a7657611a76611a29565b92915050565b8082028115828204841417611a7657611a76611a29565b600060208284031215611aa557600080fd5b8151801515811461165857600080fd5b63ffffffff818116838216019080821115611a5c57611a5c611a29565b80820180821115611a7657611a76611a29565b60008060008060808587031215611afb57600080fd5b845193506020850151611b0d81611776565b6040860151606090960151949790965092505050565b805160ff811681146112b557600080fd5b80516112b5816114c9565b80516001600160e01b0319811681146112b557600080fd5b600082601f830112611b6857600080fd5b8151611b7661183d826117f6565b818152846020838601011115611b8b57600080fd5b611b9c8260208301602087016115f5565b949350505050565b600060208284031215611bb657600080fd5b815167ffffffffffffffff80821115611bce57600080fd5b908301906101608286031215611be357600080fd5b611beb61179b565b611bf483611b23565b8152611c0260208401611b23565b602082015260408301516040820152611c1d60608401611b34565b6060820152611c2e60808401611b3f565b608082015260a083015182811115611c4557600080fd5b611c5187828601611b57565b60a08301525060c083015160c082015260e083015160e0820152610100915081830151828201526101209150611c88828401611b34565b828201526101409150611c9c828401611b34565b91810191909152949350505050565b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0385811682528481166020830152831660408201526080606082018190526000906112df90830184611619565b6001600160a01b0384168152606060208201819052600090611d1990830185611619565b82810360408401526112df8185611619565b600060208284031215611d3d57600080fd5b815167ffffffffffffffff811115611d5457600080fd5b611b9c84828501611b57565b6001600160a01b038681168252858116602083015284166040820152600b83900b606082015260a0608082018190526000906114be9083018461161956fea26469706673582212203c3e1776dbb0eda2dfbb2eb0287b72f687ec35f4baa0e903d3c1d8e3a3a7de0364736f6c63430008110033000000000000000000000000d1e2cfb6441680002eb7a44223160ab9b67d7e6e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000026b31000000000000000000000000000000000000000000000000000000000000