0 txs
744 calls
constructor
No constructor.
functions
dcbAgreement
viewfunction dcbAgreement() view returns (address token, uint32 startDate, uint32 endDate, uint256 totalTokenOnSale, uint256 hardcap, uint256 totalInvestFund)
durations
viewfunction durations(uint256) view returns (uint32)
factory
viewfunction factory() view returns (address)
getInfo
viewfunction getInfo() view returns (uint256, uint256, uint256, uint256, uint256)
getParticipants
viewfunction getParticipants() view returns (address[])
merkleRoot
viewfunction merkleRoot() view returns (bytes32)
roundsMultipliers
viewfunction roundsMultipliers(uint256) view returns (uint256)
saleToken
viewfunction saleToken() view returns (address)
userInvestment
viewfunction userInvestment(address) view returns (uint256)
VERSION
viewfunction VERSION() view returns (uint8)
vesting
viewfunction vesting() view returns (address)
fundAgreement
nonpayablefunction fundAgreement(uint256 _investFund, uint256 allocation, uint256 refundFee, bytes32[] merkleProof) returns (bool)
initialize
nonpayablefunction initialize(tuple p)
setMerkleRoot
nonpayablefunction setMerkleRoot(bytes32 _merkleRoot)
setParams
nonpayablefunction setParams(tuple p)
setRoundsMultipliers
nonpayablefunction setRoundsMultipliers(uint256[3] _multipliers)
setToken
nonpayablefunction setToken(address _token)
events
CreateAgreement
event CreateAgreement((uint32 startDate, address factoryAddr, address vestingAddr, address paymentToken, address saleTokenAddr, uint256 totalTokenOnSale, uint256 hardcap, uint32[3] durations))
EditAgreement
event EditAgreement((uint32 startDate, address factoryAddr, address vestingAddr, address paymentToken, address saleTokenAddr, uint256 totalTokenOnSale, uint256 hardcap, uint32[3] durations) p)
Initialized
event Initialized(uint8 version)
NewInvestment
event NewInvestment(address wallet, uint256 amount)
errors
AmountExceedsAllocation
error AmountExceedsAllocation()
HardcapAchieved
error HardcapAchieved()
IDONotOpen
error IDONotOpen()
InvalidDuration
error InvalidDuration()
InvalidInput
error InvalidInput()
InvalidProof
error InvalidProof()
InvalidTokensReceived
error InvalidTokensReceived()
MerkleRootAlreadySet
error MerkleRootAlreadySet()
MerkleRootNotSet
error MerkleRootNotSet()
NotManager
error NotManager()
TokenNotRecived
error TokenNotRecived()
creation bytecode
0x6080604052348015600f57600080fd5b50611b9e8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c806361f8aa45116100b2578063c45a015511610081578063e985e36711610066578063e985e367146103bc578063fe94fb55146103dc578063ffa1ad74146103ef57600080fd5b8063c45a015514610383578063db2a4c29146103a957600080fd5b806361f8aa451461026d5780637cb64759146103285780638733cfd31461033b578063bc20a7af1461035b57600080fd5b80634823c696116100ee5780634823c696146101b9578063526e2eee146101cc5780635a9b0b89146101df5780635aa68ac01461025857600080fd5b8063144fa6d71461012057806322eb4a84146101355780632eb4a7ab1461015d57806344c63eec14610174575b600080fd5b61013361012e36600461181a565b610409565b005b610148610143366004611835565b6104a7565b60405190151581526020015b60405180910390f35b610166600a5481565b604051908152602001610154565b6001546101949073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610154565b6101666101c73660046118c5565b610b20565b6101336101da3660046118de565b610b37565b61023060045460025460055460085463ffffffff7401000000000000000000000000000000000000000084048116937801000000000000000000000000000000000000000000000000900416929394565b604080519586526020860194909452928401919091526060830152608082015260a001610154565b610260610c3b565b6040516101549190611906565b6002546003546004546005546102da9373ffffffffffffffffffffffffffffffffffffffff81169363ffffffff7401000000000000000000000000000000000000000083048116947801000000000000000000000000000000000000000000000000909304169290919086565b6040805173ffffffffffffffffffffffffffffffffffffffff97909716875263ffffffff958616602088015293909416928501929092526060840152608083015260a082015260c001610154565b6101336103363660046118c5565b610caa565b61016661034936600461181a565b60096020526000908152604090205481565b61036e6103693660046118c5565b610ddc565b60405163ffffffff9091168152602001610154565b6000546101949062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b6101336103b7366004611960565b610e0c565b6006546101949073ffffffffffffffffffffffffffffffffffffffff1681565b6101336103ea366004611960565b611337565b6103f7600281565b60405160ff9091168152602001610154565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff163314610460576040517fc0fc8a8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600a5460009081036104e5576040517f9f8a28f200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805133602082015290810186905260608101859052600090608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120908301520160405160208183030381529060405280519060200120905061059684848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600a549150849050611641565b6105cc576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546006546001546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116906370a0823190602401602060405180830381865afa158015610641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106659190611973565b101561069d576040517fb8e5d6b000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025474010000000000000000000000000000000000000000900463ffffffff164210806106ee57506002547801000000000000000000000000000000000000000000000000900463ffffffff1642115b15610724576040517e9be8df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546005546107359089906119bb565b111561076d576040517fdfa5e6ea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007546002546000916107a29163ffffffff9182169174010000000000000000000000000000000000000000909104166119fd565b63ffffffff164263ffffffff1610156107c357600b60005b0154905061082b565b60075460025463ffffffff6401000000008304811692610800929082169174010000000000000000000000000000000000000000909104166119fd565b61080a91906119fd565b63ffffffff164263ffffffff16101561082657600b60016107ba565b50600d545b6108358188611a21565b33600090815260096020526040902054610850908a906119bb565b1115610888576040517f17ba2feb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526009602052604081205490036108f957600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555b33600090815260096020526040812080548a92906109189084906119bb565b909155505060055461092b9089906119bb565b600555336000908152600960205260408120546004546003549192916109519084611a21565b61095b9190611a38565b905080600003610997576040517fdd8201bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517f4db80fb7000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490526201000090910473ffffffffffffffffffffffffffffffffffffffff1690634db80fb7906064016020604051808303816000875af1158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3d9190611a73565b506001546040517ff8969f110000000000000000000000000000000000000000000000000000000081523360048201526024810183905260448101849052606481018a905273ffffffffffffffffffffffffffffffffffffffff9091169063f8969f1190608401600060405180830381600087803b158015610abe57600080fd5b505af1158015610ad2573d6000803e3d6000fd5b505060408051338152602081018e90527f8a7eaad672c52c2966090bc8f26a335bf67d8d1d442189f2f7e430c26aab99ec935001905060405180910390a15060019998505050505050505050565b600b8160038110610b3057600080fd5b0154905081565b6000546040517f91d148540000000000000000000000000000000000000000000000000000000081527f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0860048201523360248201526201000090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015610bd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf49190611a73565b610c2a576040517fc0fc8a8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c37600b8260036116ce565b5050565b60606008805480602002602001604051908101604052809291908181526020018280548015610ca057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c75575b5050505050905090565b6000546040517f91d148540000000000000000000000000000000000000000000000000000000081527f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0860048201523360248201526201000090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015610d43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d679190611a73565b610d9d576040517fc0fc8a8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a5415610dd7576040517f6006d96400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a55565b60078160038110610dec57600080fd5b60089182820401919006600402915054906101000a900463ffffffff1681565b600054610100900460ff1615808015610e2c5750600054600160ff909116105b80610e465750303b158015610e46575060005460ff166001145b610ed6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840160405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f3457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b60a08201351580610f47575060c0820135155b80610f63575042610f5b6020840184611aa9565b63ffffffff16105b15610f9a576040517fb4fa3fb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610faa604083016020840161181a565b6000805473ffffffffffffffffffffffffffffffffffffffff9290921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055611006606083016040840161181a565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905561105b60a083016080840161181a565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556110b0600760e08401600361170c565b5060006110c561014084016101208501611aa9565b6110d761012085016101008601611aa9565b6110e8610100860160e08701611aa9565b6110f291906119fd565b6110fc91906119fd565b90508063ffffffff1660000361113e576040517f7616640100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a083013560035560c083013560045561115b6020840184611aa9565b6002805463ffffffff9290921674010000000000000000000000000000000000000000027fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff909216919091179055806111b76020850185611aa9565b6111c191906119fd565b6002805463ffffffff929092167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff909216919091179055611223608084016060850161181a565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091178155600060055560408051606081018252600181526020810192909252600a9082015261129790600b9060036117a9565b507fa8553c1db93eeff4c24c163f67b29bcef5237507ce267399b835bb2b2dadddac836040516112c79190611ac4565b60405180910390a1508015610c3757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff16331461138e576040517fc0fc8a8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a081013515806113a1575060c0810135155b806113bd5750426113b56020830183611aa9565b63ffffffff16105b156113f4576040517fb4fa3fb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61140460a082016080830161181a565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055611459600760e08301600361170c565b50600061146e61014083016101208401611aa9565b61148061012084016101008501611aa9565b611491610100850160e08601611aa9565b61149b91906119fd565b6114a591906119fd565b90508063ffffffff166000036114e7576040517f7616640100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a082013560035560c08201356004556115046020830183611aa9565b6002805463ffffffff9290921674010000000000000000000000000000000000000000027fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff909216919091179055806115606020840184611aa9565b61156a91906119fd565b6002805463ffffffff929092167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff9092169190911790556115cc608083016060840161181a565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556040517f09fc2bc3b8316c0dcb62d2f7919840ae844f8b683ba8ec4d7dd13032d01da9b89061132b908490611ac4565b60008261164e8584611657565b14949350505050565b600081815b8451811015611692576116888286838151811061167b5761167b6119ce565b602002602001015161169c565b915060010161165c565b5090505b92915050565b60008183106116b85760008281526020849052604090206116c7565b60008381526020839052604090205b9392505050565b82600381019282156116fc579160200282015b828111156116fc5782358255916020019190600101906116e1565b506117089291506117dc565b5090565b6001830191839082156116fc5791602002820160005b8382111561176c57833563ffffffff1683826101000a81548163ffffffff021916908363ffffffff1602179055509260200192600401602081600301049283019260010302611722565b801561179c5782816101000a81549063ffffffff021916905560040160208160030104928301926001030261176c565b50506117089291506117dc565b82600381019282156116fc579160200282015b828111156116fc578251829060ff169055916020019190600101906117bc565b5b8082111561170857600081556001016117dd565b803573ffffffffffffffffffffffffffffffffffffffff8116811461181557600080fd5b919050565b60006020828403121561182c57600080fd5b6116c7826117f1565b60008060008060006080868803121561184d57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8082111561187a57600080fd5b818801915088601f83011261188e57600080fd5b81358181111561189d57600080fd5b8960208260051b85010111156118b257600080fd5b9699959850939650602001949392505050565b6000602082840312156118d757600080fd5b5035919050565b6000606082840312156118f057600080fd5b8260608301111561190057600080fd5b50919050565b6020808252825182820181905260009190848201906040850190845b8181101561195457835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101611922565b50909695505050505050565b6000610140828403121561190057600080fd5b60006020828403121561198557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156116965761169661198c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b63ffffffff818116838216019080821115611a1a57611a1a61198c565b5092915050565b80820281158282048414176116965761169661198c565b600082611a6e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600060208284031215611a8557600080fd5b815180151581146116c757600080fd5b803563ffffffff8116811461181557600080fd5b600060208284031215611abb57600080fd5b6116c782611a95565b610140810163ffffffff80611ad885611a95565b1683526020611ae9602086016117f1565b73ffffffffffffffffffffffffffffffffffffffff808216602087015280611b13604089016117f1565b16604087015280611b26606089016117f1565b16606087015280611b39608089016117f1565b166080870152505060a085013560a085015260c085013560c085015260e0840160e0860160005b6003811015611b865784611b7383611a95565b1683529183019190830190600101611b60565b50505050509291505056fea164736f6c6343000819000a