UNPKG

@zoralabs/openzeppelin-contracts-upgradeable

Version:
247 lines (246 loc) 21.1 kB
{ "_format": "hh-sol-artifact-1", "contractName": "VestingWalletUpgradeable", "sourceName": "contracts/finance/VestingWalletUpgradeable.sol", "abi": [ { "inputs": [], "name": "ADDRESS_CALL_TO_NON_CONTRACT", "type": "error" }, { "inputs": [], "name": "ADDRESS_INSUFFICIENT_BALANCE", "type": "error" }, { "inputs": [], "name": "ADDRESS_LOW_LEVEL_CALL_FAILED", "type": "error" }, { "inputs": [], "name": "ADDRESS_UNABLE_TO_SEND_VALUE", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "ERC20Released", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "EtherReleased", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "inputs": [], "name": "beneficiary", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "duration", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "releasable", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "releasable", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "release", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "release", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "released", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "released", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "start", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "timestamp", "type": "uint64" } ], "name": "vestedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint64", "name": "timestamp", "type": "uint64" } ], "name": "vestedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ], "bytecode": "0x608060405234801561001057600080fd5b50610fbe806100206000396000f3fe6080604052600436106100c05760003560e01c806386d1a69f11610074578063a3f8eace1161004e578063a3f8eace14610244578063be9a655514610281578063fbccedae146102ac576100c7565b806386d1a69f146101c557806396132521146101dc5780639852595c14610207576100c7565b806319165587116100a5578063191655871461013457806338af3eed1461015d578063810ec23b14610188576100c7565b80630a17b06b146100cc5780630fb5a6b414610109576100c7565b366100c757005b600080fd5b3480156100d857600080fd5b506100f360048036038101906100ee9190610a69565b6102d7565b6040516101009190610aaf565b60405180910390f35b34801561011557600080fd5b5061011e6102fc565b60405161012b9190610aaf565b60405180910390f35b34801561014057600080fd5b5061015b60048036038101906101569190610b28565b610324565b005b34801561016957600080fd5b506101726103eb565b60405161017f9190610b64565b60405180910390f35b34801561019457600080fd5b506101af60048036038101906101aa9190610b7f565b610415565b6040516101bc9190610aaf565b60405180910390f35b3480156101d157600080fd5b506101da6104b5565b005b3480156101e857600080fd5b506101f1610525565b6040516101fe9190610aaf565b60405180910390f35b34801561021357600080fd5b5061022e60048036038101906102299190610b28565b61052f565b60405161023b9190610aaf565b60405180910390f35b34801561025057600080fd5b5061026b60048036038101906102669190610b28565b610578565b6040516102789190610aaf565b60405180910390f35b34801561028d57600080fd5b5061029661059e565b6040516102a39190610aaf565b60405180910390f35b3480156102b857600080fd5b506102c16105c6565b6040516102ce9190610aaf565b60405180910390f35b60006102f56102e4610525565b476102ef9190610bee565b836105e8565b9050919050565b6000603660009054906101000a900467ffffffffffffffff1667ffffffffffffffff16905090565b600061032f82610578565b905080603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103809190610bee565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167fc0e523490dd523c33b1878c9eb14ff46991e3f5b2cd33710918618f2a39cba1b826040516103cd9190610aaf565b60405180910390a26103e7826103e16103eb565b83610682565b5050565b6000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006104ad6104238461052f565b8473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161045c9190610b64565b602060405180830381865afa158015610479573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049d9190610c70565b6104a79190610bee565b836105e8565b905092915050565b60006104bf6105c6565b905080603360008282546104d39190610bee565b925050819055507fda9d4e5f101b8b9b1c5b76d0c5a9f7923571acfc02376aa076b75a8c080c956b816040516105099190610aaf565b60405180910390a161052261051c6103eb565b82610708565b50565b6000603354905090565b6000603460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006105838261052f565b61058d8342610415565b6105979190610c9d565b9050919050565b6000603560149054906101000a900467ffffffffffffffff1667ffffffffffffffff16905090565b60006105d0610525565b6105d9426102d7565b6105e39190610c9d565b905090565b60006105f261059e565b8267ffffffffffffffff16101561060c576000905061067c565b6106146102fc565b61061c61059e565b6106269190610bee565b8267ffffffffffffffff16111561063f5782905061067c565b6106476102fc565b61064f61059e565b8367ffffffffffffffff166106649190610c9d565b8461066f9190610cd1565b6106799190610d5a565b90505b92915050565b6107038363a9059cbb60e01b84846040516024016106a1929190610d8b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506107ea565b505050565b80471115610742576040517f9fbd983c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161076890610de5565b60006040518083038185875af1925050503d80600081146107a5576040519150601f19603f3d011682016040523d82523d6000602084013e6107aa565b606091505b50509050806107e5576040517f549b67fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000610815828473ffffffffffffffffffffffffffffffffffffffff1661087a90919063ffffffff16565b905060008151111561087557808060200190518101906108359190610e32565b610874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086b90610ee2565b60405180910390fd5b5b505050565b606061088883836000610890565b905092915050565b6060814710156108cc576040517f9fbd983c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1684866040516108f59190610f71565b60006040518083038185875af1925050503d8060008114610932576040519150601f19603f3d011682016040523d82523d6000602084013e610937565b606091505b5091509150610947868383610952565b925050509392505050565b606082156109ab5760008251036109a35761096c846109bc565b6109a2576040517f652f4b6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b8190506109b5565b6109b4826109df565b5b9392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000815111156109f25780518082602001fd5b6040517fa145193600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080fd5b600067ffffffffffffffff82169050919050565b610a4681610a29565b8114610a5157600080fd5b50565b600081359050610a6381610a3d565b92915050565b600060208284031215610a7f57610a7e610a24565b5b6000610a8d84828501610a54565b91505092915050565b6000819050919050565b610aa981610a96565b82525050565b6000602082019050610ac46000830184610aa0565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610af582610aca565b9050919050565b610b0581610aea565b8114610b1057600080fd5b50565b600081359050610b2281610afc565b92915050565b600060208284031215610b3e57610b3d610a24565b5b6000610b4c84828501610b13565b91505092915050565b610b5e81610aea565b82525050565b6000602082019050610b796000830184610b55565b92915050565b60008060408385031215610b9657610b95610a24565b5b6000610ba485828601610b13565b9250506020610bb585828601610a54565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610bf982610a96565b9150610c0483610a96565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610c3957610c38610bbf565b5b828201905092915050565b610c4d81610a96565b8114610c5857600080fd5b50565b600081519050610c6a81610c44565b92915050565b600060208284031215610c8657610c85610a24565b5b6000610c9484828501610c5b565b91505092915050565b6000610ca882610a96565b9150610cb383610a96565b925082821015610cc657610cc5610bbf565b5b828203905092915050565b6000610cdc82610a96565b9150610ce783610a96565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610d2057610d1f610bbf565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610d6582610a96565b9150610d7083610a96565b925082610d8057610d7f610d2b565b5b828204905092915050565b6000604082019050610da06000830185610b55565b610dad6020830184610aa0565b9392505050565b600081905092915050565b50565b6000610dcf600083610db4565b9150610dda82610dbf565b600082019050919050565b6000610df082610dc2565b9150819050919050565b60008115159050919050565b610e0f81610dfa565b8114610e1a57600080fd5b50565b600081519050610e2c81610e06565b92915050565b600060208284031215610e4857610e47610a24565b5b6000610e5684828501610e1d565b91505092915050565b600082825260208201905092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000610ecc602a83610e5f565b9150610ed782610e70565b604082019050919050565b60006020820190508181036000830152610efb81610ebf565b9050919050565b600081519050919050565b60005b83811015610f2b578082015181840152602081019050610f10565b83811115610f3a576000848401525b50505050565b6000610f4b82610f02565b610f558185610db4565b9350610f65818560208601610f0d565b80840191505092915050565b6000610f7d8284610f40565b91508190509291505056fea26469706673582212207b977c6f3a8e9821238c3cdfc1b376e722f4371a26c315cbf3794ef96db6850a64736f6c634300080d0033", "deployedBytecode": "0x6080604052600436106100c05760003560e01c806386d1a69f11610074578063a3f8eace1161004e578063a3f8eace14610244578063be9a655514610281578063fbccedae146102ac576100c7565b806386d1a69f146101c557806396132521146101dc5780639852595c14610207576100c7565b806319165587116100a5578063191655871461013457806338af3eed1461015d578063810ec23b14610188576100c7565b80630a17b06b146100cc5780630fb5a6b414610109576100c7565b366100c757005b600080fd5b3480156100d857600080fd5b506100f360048036038101906100ee9190610a69565b6102d7565b6040516101009190610aaf565b60405180910390f35b34801561011557600080fd5b5061011e6102fc565b60405161012b9190610aaf565b60405180910390f35b34801561014057600080fd5b5061015b60048036038101906101569190610b28565b610324565b005b34801561016957600080fd5b506101726103eb565b60405161017f9190610b64565b60405180910390f35b34801561019457600080fd5b506101af60048036038101906101aa9190610b7f565b610415565b6040516101bc9190610aaf565b60405180910390f35b3480156101d157600080fd5b506101da6104b5565b005b3480156101e857600080fd5b506101f1610525565b6040516101fe9190610aaf565b60405180910390f35b34801561021357600080fd5b5061022e60048036038101906102299190610b28565b61052f565b60405161023b9190610aaf565b60405180910390f35b34801561025057600080fd5b5061026b60048036038101906102669190610b28565b610578565b6040516102789190610aaf565b60405180910390f35b34801561028d57600080fd5b5061029661059e565b6040516102a39190610aaf565b60405180910390f35b3480156102b857600080fd5b506102c16105c6565b6040516102ce9190610aaf565b60405180910390f35b60006102f56102e4610525565b476102ef9190610bee565b836105e8565b9050919050565b6000603660009054906101000a900467ffffffffffffffff1667ffffffffffffffff16905090565b600061032f82610578565b905080603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103809190610bee565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167fc0e523490dd523c33b1878c9eb14ff46991e3f5b2cd33710918618f2a39cba1b826040516103cd9190610aaf565b60405180910390a26103e7826103e16103eb565b83610682565b5050565b6000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006104ad6104238461052f565b8473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161045c9190610b64565b602060405180830381865afa158015610479573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049d9190610c70565b6104a79190610bee565b836105e8565b905092915050565b60006104bf6105c6565b905080603360008282546104d39190610bee565b925050819055507fda9d4e5f101b8b9b1c5b76d0c5a9f7923571acfc02376aa076b75a8c080c956b816040516105099190610aaf565b60405180910390a161052261051c6103eb565b82610708565b50565b6000603354905090565b6000603460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006105838261052f565b61058d8342610415565b6105979190610c9d565b9050919050565b6000603560149054906101000a900467ffffffffffffffff1667ffffffffffffffff16905090565b60006105d0610525565b6105d9426102d7565b6105e39190610c9d565b905090565b60006105f261059e565b8267ffffffffffffffff16101561060c576000905061067c565b6106146102fc565b61061c61059e565b6106269190610bee565b8267ffffffffffffffff16111561063f5782905061067c565b6106476102fc565b61064f61059e565b8367ffffffffffffffff166106649190610c9d565b8461066f9190610cd1565b6106799190610d5a565b90505b92915050565b6107038363a9059cbb60e01b84846040516024016106a1929190610d8b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506107ea565b505050565b80471115610742576040517f9fbd983c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161076890610de5565b60006040518083038185875af1925050503d80600081146107a5576040519150601f19603f3d011682016040523d82523d6000602084013e6107aa565b606091505b50509050806107e5576040517f549b67fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000610815828473ffffffffffffffffffffffffffffffffffffffff1661087a90919063ffffffff16565b905060008151111561087557808060200190518101906108359190610e32565b610874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086b90610ee2565b60405180910390fd5b5b505050565b606061088883836000610890565b905092915050565b6060814710156108cc576040517f9fbd983c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1684866040516108f59190610f71565b60006040518083038185875af1925050503d8060008114610932576040519150601f19603f3d011682016040523d82523d6000602084013e610937565b606091505b5091509150610947868383610952565b925050509392505050565b606082156109ab5760008251036109a35761096c846109bc565b6109a2576040517f652f4b6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b8190506109b5565b6109b4826109df565b5b9392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000815111156109f25780518082602001fd5b6040517fa145193600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080fd5b600067ffffffffffffffff82169050919050565b610a4681610a29565b8114610a5157600080fd5b50565b600081359050610a6381610a3d565b92915050565b600060208284031215610a7f57610a7e610a24565b5b6000610a8d84828501610a54565b91505092915050565b6000819050919050565b610aa981610a96565b82525050565b6000602082019050610ac46000830184610aa0565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610af582610aca565b9050919050565b610b0581610aea565b8114610b1057600080fd5b50565b600081359050610b2281610afc565b92915050565b600060208284031215610b3e57610b3d610a24565b5b6000610b4c84828501610b13565b91505092915050565b610b5e81610aea565b82525050565b6000602082019050610b796000830184610b55565b92915050565b60008060408385031215610b9657610b95610a24565b5b6000610ba485828601610b13565b9250506020610bb585828601610a54565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610bf982610a96565b9150610c0483610a96565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610c3957610c38610bbf565b5b828201905092915050565b610c4d81610a96565b8114610c5857600080fd5b50565b600081519050610c6a81610c44565b92915050565b600060208284031215610c8657610c85610a24565b5b6000610c9484828501610c5b565b91505092915050565b6000610ca882610a96565b9150610cb383610a96565b925082821015610cc657610cc5610bbf565b5b828203905092915050565b6000610cdc82610a96565b9150610ce783610a96565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610d2057610d1f610bbf565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610d6582610a96565b9150610d7083610a96565b925082610d8057610d7f610d2b565b5b828204905092915050565b6000604082019050610da06000830185610b55565b610dad6020830184610aa0565b9392505050565b600081905092915050565b50565b6000610dcf600083610db4565b9150610dda82610dbf565b600082019050919050565b6000610df082610dc2565b9150819050919050565b60008115159050919050565b610e0f81610dfa565b8114610e1a57600080fd5b50565b600081519050610e2c81610e06565b92915050565b600060208284031215610e4857610e47610a24565b5b6000610e5684828501610e1d565b91505092915050565b600082825260208201905092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000610ecc602a83610e5f565b9150610ed782610e70565b604082019050919050565b60006020820190508181036000830152610efb81610ebf565b9050919050565b600081519050919050565b60005b83811015610f2b578082015181840152602081019050610f10565b83811115610f3a576000848401525b50505050565b6000610f4b82610f02565b610f558185610db4565b9350610f65818560208601610f0d565b80840191505092915050565b6000610f7d8284610f40565b91508190509291505056fea26469706673582212207b977c6f3a8e9821238c3cdfc1b376e722f4371a26c315cbf3794ef96db6850a64736f6c634300080d0033", "linkReferences": {}, "deployedLinkReferences": {} }