5 txs
35.5k calls
constructor
constructor(address _gda, address _stakedTokenImplementation, address _teamRecipient, address _superTokenFactory)
functions
config
viewfunction config() view returns (bool transferabilityForUnitsOwner, bool distributionFromAnyAddress)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
DEPLOYER_ROLE
viewfunction DEPLOYER_ROLE() view returns (bytes32)
gda
viewfunction gda() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
MANAGER_ROLE
viewfunction MANAGER_ROLE() view returns (bytes32)
percentageToValve
viewfunction percentageToValve() view returns (uint256)
predictStakedTokenAddress
viewfunction predictStakedTokenAddress(address stakeableToken) view returns (address)
stakedTokenImplementation
viewfunction stakedTokenImplementation() view returns (address)
superTokenFactory
viewfunction superTokenFactory() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
teamRecipient
viewfunction teamRecipient() view returns (address)
valveUnits
viewfunction valveUnits(address) view returns (uint128)
createStakedToken
nonpayablefunction createStakedToken(address stakeableToken, uint256 supply, uint256 stakingLockDuration, int96 stakingFlowDuration) returns (address stakedToken)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
receiveTokens
nonpayablefunction receiveTokens(address stakeableToken, address admin, uint256 supply, bytes data) returns (address stakedToken)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setGDA
nonpayablefunction setGDA(address _gda)
setPercentageToValve
nonpayablefunction setPercentageToValve(uint256 _percentageToValve)
setStakedTokenImplementation
nonpayablefunction setStakedTokenImplementation(address _stakedTokenImplementation)
updateMemberUnits
nonpayablefunction updateMemberUnits(address stakedToken, address memberAddr, uint128 newUnits)
events
LockDurationUpdated
event LockDurationUpdated(uint256 duration)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
StakedTokenCreated
event StakedTokenCreated(address stakeToken, address indexed depositToken, address pool, uint256 supply, uint256 lockDuration, int96 flowDuration)
WrappedSuperTokenCreated
event WrappedSuperTokenCreated(address indexed underlyingToken, address superToken)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
FailedDeployment
error FailedDeployment()
InsufficientBalance
error InsufficientBalance(uint256 balance, uint256 needed)
creation bytecode
0x60806040523461014657604051601f611bbc38819003918201601f19168301916001600160401b03831184841017610130578084926080946040528339810103126101465780516001600160a01b03811690819003610146576100646020830161014b565b9060606100736040850161014b565b9301516001600160a01b038116919082900361014657604080519081016001600160401b03811182821017610130576040526000815260016020909101526004805461ffff191661010017905560646007556100ce3361015f565b506100d8336101db565b50600180546001600160a01b0319908116929092179055600280548216929092179091556003805482166001600160a01b0393841617905560058054909116929091169190911790556040516118e890816102748239f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b51906001600160a01b038216820361014657565b6001600160a01b0381166000908152600080516020611b9c833981519152602052604090205460ff166101d5576001600160a01b03166000818152600080516020611b9c83398151915260205260408120805460ff19166001179055339190600080516020611b5c8339815191528180a4600190565b50600090565b6001600160a01b0381166000908152600080516020611b7c833981519152602052604090205460ff166101d5576001600160a01b03166000818152600080516020611b7c83398151915260205260408120805460ff191660011790553391907f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0890600080516020611b5c8339815191529080a460019056fe608080604052600436101561001357600080fd5b600090813560e01c90816301ffc9a714610817575080630881dd4414610775578063248a9ca31461073f5780632f2190fe146107215780632f2ff15d146106e057806336568abe1461068257806337259b7d1461065b57806337ad4d8b146106345780634ce6d77a146105d657806357dcff4e146104c05780635fbd36fa146104995780636ae65bfa1461047257806379502c55146104435780637e44136f146103e957806391d14854146103a2578063963a22ab1461034b578063a217fddf1461032f578063bc3b48b2146102e5578063d547741f1461029b578063ec87621c14610260578063ecd0026114610225578063ed1d1d2d146101435763f47f74c31461011e57600080fd5b3461014057602060031936011261014057610137610921565b60043560075580f35b80fd5b50346101405760606003193601126101405761015d6108b7565b816101666108d2565b604435926fffffffffffffffffffffffffffffffff84168403610221576001600160a01b0390610194610921565b1692833b15610221576040517f1b1677770000000000000000000000000000000000000000000000000000000081526001600160a01b039290921660048301526fffffffffffffffffffffffffffffffff1660248201529181908390604490829084905af18015610214576102065780f35b61020f916108e8565b388180f35b50604051903d90823e3d90fd5b8280fd5b503461014057806003193601126101405760206040517ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c8152f35b503461014057806003193601126101405760206040517f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b088152f35b5034610140576040600319360112610140576102e16004356102bb6108d2565b906102dc6102d782600052600060205260016040600020015490565b610993565b610a74565b5080f35b5034610140576020600319360112610140576fffffffffffffffffffffffffffffffff60406020926001600160a01b0361031d6108b7565b16815260068452205416604051908152f35b5034610140578060031936011261014057602090604051908152f35b5034610140576020600319360112610140576001600160a01b0361036d6108b7565b610375610921565b167fffffffffffffffffffffffff0000000000000000000000000000000000000000600354161760035580f35b50346101405760406003193601126101405760ff60406020926103c36108d2565b60043582528185526001600160a01b038383209116825284522054166040519015158152f35b5034610140576080600319360112610140576104036108b7565b6064359182600b0b8303610140576020610432848460443590602435906001600160a01b036005541690610bde565b6001600160a01b0360405191168152f35b5034610140578060031936011261014057604060045460ff8251918181161515835260081c1615156020820152f35b503461014057806003193601126101405760206001600160a01b0360025416604051908152f35b503461014057806003193601126101405760206001600160a01b0360015416604051908152f35b5034610140576080600319360112610140576104da6108b7565b6104e26108d2565b9060643567ffffffffffffffff8111610597573660238201121561059757806004013567ffffffffffffffff81116105d25781013660248201116105d2577ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c855284602052604085206001600160a01b033316865260205260ff6040862054161561059b57604090829003126105975760448101359384600b0b85036101405760206104328660248501356044358888610bde565b8380fd5b60448563e2517d3f60e01b8152336004527ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c602452fd5b8480fd5b5034610140576020600319360112610140576004356001600160a01b03811680910361063057610604610921565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600154161760015580f35b5080fd5b503461014057806003193601126101405760206001600160a01b0360055416604051908152f35b503461014057806003193601126101405760206001600160a01b0360035416604051908152f35b50346101405760406003193601126101405761069c6108d2565b336001600160a01b038216036106b8576102e190600435610a74565b6004827f6697b232000000000000000000000000000000000000000000000000000000008152fd5b5034610140576040600319360112610140576102e16004356107006108d2565b9061071c6102d782600052600060205260016040600020015490565b6109da565b50346101405780600319360112610140576020600754604051908152f35b503461014057602060031936011261014057602061076d600435600052600060205260016040600020015490565b604051908152f35b50346101405760206003193601126101405760206001600160a01b036055604361079d6108b7565b60405184868201921682528581526107b66040826108e8565b519020836003541690604051913060388401526f5af43d82803e903d91602b57fd5bf3ff60248401526014830152733d602d80600a3d3981f3363d3d373d3d3d363d73825260588201526037600c8201206078820152012016604051908152f35b905034610630576020600319360112610630576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361022157602092507f7965db0b00000000000000000000000000000000000000000000000000000000811490811561088d575b5015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501438610886565b600435906001600160a01b03821682036108cd57565b600080fd5b602435906001600160a01b03821682036108cd57565b90601f601f19910116810190811067ffffffffffffffff82111761090b57604052565b634e487b7160e01b600052604160045260246000fd5b3360009081527fe84508f2c7fa9c351146748b3025cb78b45df37d868e48c6a75102fecdeee645602052604090205460ff161561095a57565b63e2517d3f60e01b600052336004527f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0860245260446000fd5b80600052600060205260406000206001600160a01b03331660005260205260ff60406000205416156109c25750565b63e2517d3f60e01b6000523360045260245260446000fd5b80600052600060205260406000206001600160a01b03831660005260205260ff6040600020541615600014610a6d5780600052600060205260406000206001600160a01b0383166000526020526040600020600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a4600190565b5050600090565b80600052600060205260406000206001600160a01b03831660005260205260ff60406000205416600014610a6d5780600052600060205260406000206001600160a01b038316600052602052604060002060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b600080a4600190565b519081151582036108cd57565b51906001600160a01b03821682036108cd57565b60005b838110610b375750506000910152565b8181015183820152602001610b27565b6020818303126108cd5780519067ffffffffffffffff82116108cd570181601f820112156108cd57805167ffffffffffffffff811161090b5760405192610b986020601f19601f85011601856108e8565b818452602082840101116108cd57610bb69160208085019101610b24565b90565b90601f19601f602093610bd781518092818752878088019101610b24565b0116010190565b9390919260405193602085016000906001600160a01b0388169687825260208152610c0a6040826108e8565b5190206e5af43d82803e903d91602b57fd5bf37fffffffffffffffffffffffffffffffffff000000000000000000000000000000600354763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c1617855260781b16176020526037600983f5966001600160a01b03881695861561188a576040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152846044820152602081606481878d5af1801561133b57908893929161184c575b506040517f20bc442500000000000000000000000000000000000000000000000000000000815284928392916020816004818f5afa9081611808575b506117ff5750845b1561146c575b60406001600160a01b03608481600154169488845196879485937f0779d36500000000000000000000000000000000000000000000000000000000855216998a6004850152602484015260ff6004548181161515604486015260081c16151560648401525af19182156114615785908693611419575b5015611395576040517f06fdde030000000000000000000000000000000000000000000000000000000081529185836004818e5afa92831561136e579086959493929160049793611379575b50610e38602760405180957f5374616b656420000000000000000000000000000000000000000000000000006020830152610e278151809260208686019101610b24565b81010301601f1981018552846108e8565b858c604051988980927f95d89b410000000000000000000000000000000000000000000000000000000082525afa96871561136e57869761134a575b50610ec9602260405180997f73740000000000000000000000000000000000000000000000000000000000006020830152610eb88151809260208686019101610b24565b81010301601f1981018952886108e8565b6001600160a01b0360055416968b3b1561134657918c6001600160a01b038093610f458a96610f33604051998a9889987f987b4c39000000000000000000000000000000000000000000000000000000008a5216600489015260e0602489015260e4880190610bb9565b90600319878303016044880152610bb9565b92606485015216988960848401528b60a484015260c48301520381838d5af1801561133b57908491611326575b5050158061131b575b6110df575b6bffffffffffffffffffffffff861680156110cb576bffffffffffffffffffffffff929160c4602092870491846001600160a01b036001541660405197889586947f5a6c6dbc00000000000000000000000000000000000000000000000000000000865260048601523060248601528a604486015216600b0b606484015260a060848401528160a48401525af1801561021457611063575b50509160a093917f4403ab6f4d32a95d50e10a20567834a1e385e7214eccfbb509dd7724136120f39593604051948552602085015260408401526060830152600b0b6080820152a290565b6020823d6020116110c3575b8161107c602093836108e8565b810103126101405750917f4403ab6f4d32a95d50e10a20567834a1e385e7214eccfbb509dd7724136120f39593916110b660a09694610b03565b5091939581939550611018565b3d915061106f565b602483634e487b7160e01b81526012600452fd5b600754808502908582041485151715611307576064604051917f5bbbbc170000000000000000000000000000000000000000000000000000000083520460048201526020816024818b5afa90811561129c5783916112bc575b5088835260066020526fffffffffffffffffffffffffffffffff6040842091167fffffffffffffffffffffffffffffffff0000000000000000000000000000000082541617905587825260066020526fffffffffffffffffffffffffffffffff604083205416873b15610221576040517f1b1677770000000000000000000000000000000000000000000000000000000081523060048201526fffffffffffffffffffffffffffffffff9190911660248201528281604481838c5af1801561129c579083916112a7575b5060206001600160a01b03600154166064604051809481937ff0b7b915000000000000000000000000000000000000000000000000000000008352896004840152604060248401528160448401525af1801561129c57611263575b50610f80565b6020813d602011611294575b8161127c602093836108e8565b810103126102215761128d90610b03565b503861125d565b3d915061126f565b6040513d85823e3d90fd5b816112b1916108e8565b610630578138611202565b90506020813d6020116112ff575b816112d7602093836108e8565b8101031261022157516fffffffffffffffffffffffffffffffff811681036102215738611138565b3d91506112ca565b602483634e487b7160e01b81526011600452fd5b506007541515610f7b565b81611330916108e8565b610221578238610f72565b6040513d86823e3d90fd5b8680fd5b6113679197503d8088833e61135f81836108e8565b810190610b47565b9538610e74565b6040513d88823e3d90fd5b61138e9193503d8088833e61135f81836108e8565b9138610de3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5374616b696e67466163746f72793a206661696c656420746f2063726561746560448201527f20706f6f6c0000000000000000000000000000000000000000000000000000006064820152fd5b9250506040823d604011611459575b81611435604093836108e8565b810103126105d257611452602061144b84610b03565b9301610b10565b9138610d97565b3d9150611428565b6040513d87823e3d90fd5b92505050604051907f06fdde0300000000000000000000000000000000000000000000000000000000825282826004818b5afa91821561129c5783926117e3575b50611502602660405180947f537570657220000000000000000000000000000000000000000000000000000060208301526114f18151809260208686019101610b24565b81010301601f1981018452836108e8565b604051917f95d89b4100000000000000000000000000000000000000000000000000000000835283836004818c5afa92831561133b5784936117c0575b506116146020916115b860018460405188611563829a518092858086019101610b24565b81017f78000000000000000000000000000000000000000000000000000000000000008382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18101885201866108e8565b6001600160a01b036002541690868c611626604051988996879586947f431f1481000000000000000000000000000000000000000000000000000000008652600486015260016024860152608060448601526084850190610bb9565b90600319848303016064850152610bb9565b03925af191821561129c578392611784575b506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201819052602482018690526001939291602081604481898f5af1801561136e57611749575b50803b156105d2576040517f45977d03000000000000000000000000000000000000000000000000000000008152866004820152858160248183865af1801561136e57918b918b96959493611712575b5060207fbcdd4e9334ff9a86a7426cf1587285bfffc818a081b980321e8d3fe874dcad5c91604051908152a2610d21565b876117417fbcdd4e9334ff9a86a7426cf1587285bfffc818a081b980321e8d3fe874dcad5c93996020936108e8565b9791506116e1565b6020813d60201161177c575b81611762602093836108e8565b810103126117785761177390610b03565b611691565b8580fd5b3d9150611755565b9091506020813d6020116117b8575b816117a0602093836108e8565b81010312610221576117b190610b10565b9038611638565b3d9150611793565b60209193506117db611614913d8088833e61135f81836108e8565b93915061153f565b6117f89192503d8085833e61135f81836108e8565b90386114ad565b91506001610d1b565b909192939495506020813d602011611844575b81611828602093836108e8565b81010312611346579061183f8b9695949392610b10565b610d13565b3d915061181b565b909192506020813d602011611882575b81611869602093836108e8565b81010312610597579061187d889392610b03565b610cd7565b3d915061185c565b6004837fb06ebf3d000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220f53fbb350e7f25a981adccf3f8a1661846007f25cb8923aa747e8509cf49765764736f6c634300081a00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0de84508f2c7fa9c351146748b3025cb78b45df37d868e48c6a75102fecdeee645ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb50000000000000000000000006da13bde224a05a288748d857b9e7ddeffd1de080000000000000000000000001a81a45b376385f63215d99ea76a0ec2325f2777000000000000000000000000f86ec2b7d5d95990d61b9f6166775fb22003cc09000000000000000000000000e20b9a38e0c96f61d1ba6b42a61512d56fea1eb3