0 txs
1 call
constructor
constructor(address _gdaForwarder, address _feeRecipient, address _zapContract)
functions
canImplementInterfaceForAddress
purefunction canImplementInterfaceForAddress(bytes32 interfaceHash, address) pure returns (bytes32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
ETHx
viewfunction ETHx() view returns (address)
feeRecipient
viewfunction feeRecipient() view returns (address)
flowDuration
viewfunction flowDuration() view returns (int96)
gdaForwarder
viewfunction gdaForwarder() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
implementer
viewfunction implementer() view returns (address)
MANAGER_ROLE
viewfunction MANAGER_ROLE() view returns (bytes32)
predictStakedTokenAddress
viewfunction predictStakedTokenAddress(address token) view returns (address stakedTokenAddress)
stakingContracts
viewfunction stakingContracts(address) view returns (address)
stakingFactories
viewfunction stakingFactories(uint256) view returns (address)
STREME
viewfunction STREME() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
swapThreshold
viewfunction swapThreshold() view returns (uint256)
WETH
viewfunction WETH() view returns (address)
zapContract
viewfunction zapContract() view returns (address)
addStakingFactory
nonpayablefunction addStakingFactory(address factory)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setFeeRecipient
nonpayablefunction setFeeRecipient(address _feeRecipient)
setFeeRecipientPercentage
nonpayablefunction setFeeRecipientPercentage(uint256 percentage)
setFlowDuration
nonpayablefunction setFlowDuration(int96 duration)
setSwapThreshold
nonpayablefunction setSwapThreshold(uint256 _swapThreshold)
setZapContract
nonpayablefunction setZapContract(address _zapContract)
tokensReceived
nonpayablefunction tokensReceived(address, address, address to, uint256 amount, bytes, bytes)
withdraw
nonpayablefunction withdraw(address token, address recipient, uint256 amount)
events
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)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
creation bytecode
0x6080806040523461041957600090606081611efc8038038091610022828561041e565b8339810103126104155780516001600160a01b03811691908290036104115760208101516001600160a01b038116919082900361040d57604001516001600160a01b038116929083900361040d57600180546001600160a01b031916731820a4b7618bde71dce8cdc73aab6c95905fad24179055600280546001600160a01b03166203c26760a71b179055603260035567016345785d8a00006004556100c733610457565b506100d1336104d3565b50600280546001600160a01b0319908116929092179055600680548216929092179091556005805490911691909117905560015481906001600160a01b0316803b1561040a578180916064604051809581936329965a1d60e01b83523060048401527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248401523060448401525af180156103fd576103ed575b733b3cd21242ba44e9865b066e5ef5d1cc1030cc5890525060076020818152604080842080546001600160a01b03199081167393419f1c0f73b278c73085c17407794a6580deff179091557331c3cfb1b8332369c2d84220c950001c87a84c0985528383528185208054821673291c99235270ea41499f243b1a8a43ad5c62e28c1790557314f80aa2db36d8e69e4ba9fee32795a73a71a2f5855283835281852080548216735a4aa653b98ff91923d1c20797e698cc0ed661081790557341531c3448c6e178e4a342f4b20733ea8673ed3385528383528185208054821673a1e0df593aa51f933b777aa0027ee9dae29ed2ac17905573340d15c2930805f47e946b934252b25406f365ac855283835281852080548216734d2b5181e22210da785a505d3d01dee0fa3ccb9217905573390873cddc99ac950c308cf898134f092ea661048552929091528220805490911673e4770d660689175de6b79fdf28725b8c46d29e45179055600854680100000000000000008110156103d95760018101806008558110156103c5576008808352600080516020611ebc8339815191529190910180546001600160a01b03191673c749105bc4b4ea6285dbbe2e8221c922bea07a9d1790555490680100000000000000008210156103b157600182018060085582101561039d5760089052600080516020611ebc8339815191520180546001600160a01b03191673293a5d47f5d76244b715ce0d0e759e0227349486179055604051611910908161056c8239f35b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b81526041600452602490fd5b634e487b7160e01b82526032600452602482fd5b634e487b7160e01b82526041600452602482fd5b6103f69161041e565b388161016c565b50604051903d90823e3d90fd5b50fd5b8380fd5b8280fd5b5080fd5b600080fd5b601f909101601f19168101906001600160401b0382119082101761044157604052565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381166000908152600080516020611edc833981519152602052604090205460ff166104cd576001600160a01b03166000818152600080516020611edc83398151915260205260408120805460ff19166001179055339190600080516020611e7c8339815191528180a4600190565b50600090565b6001600160a01b0381166000908152600080516020611e9c833981519152602052604090205460ff166104cd576001600160a01b03166000818152600080516020611e9c83398151915260205260408120805460ff191660011790553391907f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0890600080516020611e7c8339815191529080a460019056fe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806223de2914610bb157806301ffc9a714610b105780630445b66714610af25780630881dd4414610abe5780630c67edb8146109f55780631a5239431461092a578063248a9ca3146108fd578063249cb3fa146108855780632549dad91461085e5780632f2ff15d1461081e57806336568abe146107bf5780633e16f55f14610743578063469048401461071c5780634a8b93721461068a578063550abcd0146106495780635af8bf25146106225780636105e4f7146105f35780636497d285146105cf57806391d14854146105815780639bc181d21461053e5780639d0014b11461051d578063a217fddf14610501578063ad5c4648146104d2578063d547741f1461048d578063d9caed121461026a578063e74b981b1461021d578063ec87621c146101e2578063f6c278c1146101b35763fcaa87370361000e57346101ae5760206003193601126101ae576004356001600160a01b0381168091036101ae5761018b6116c6565b73ffffffffffffffffffffffffffffffffffffffff196005541617600555600080f35b600080fd5b346101ae5760006003193601126101ae5760206040517346fd5cfb4c12d87acd3a13e92baa53240c661d938152f35b346101ae5760006003193601126101ae5760206040517f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b088152f35b346101ae5760206003193601126101ae576001600160a01b0361023e610c38565b6102466116c6565b1673ffffffffffffffffffffffffffffffffffffffff196006541617600655600080f35b346101ae5760606003193601126101ae576004356001600160a01b0381168091036101ae57610297610c4e565b6044356102a26116c6565b6001600160a01b03821615610449576102bc811515610cc3565b6040516370a0823160e01b8152306004820152602081602481875afa80156103c4578291600091610414575b50106103d0576040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03929092166004830152602482015290602090829060449082906000905af19081156103c457600091610395575b501561035157005b606460405162461bcd60e51b815260206004820152601560248201527f546f6b656e207472616e73666572206661696c656400000000000000000000006044820152fd5b6103b7915060203d6020116103bd575b6103af8183610d0e565b810190610d7d565b81610349565b503d6103a5565b6040513d6000823e3d90fd5b606460405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e7420746f6b656e2062616c616e63650000000000006044820152fd5b9150506020813d602011610441575b8161043060209383610d0e565b810103126101ae57819051856102e8565b3d9150610423565b606460405162461bcd60e51b815260206004820152601960248201527f496e76616c696420726563697069656e742061646472657373000000000000006044820152fd5b346101ae5760406003193601126101ae576100196004356104ac610c4e565b906104cd6104c882600052600060205260016040600020015490565b611751565b61184b565b346101ae5760006003193601126101ae5760206040517342000000000000000000000000000000000000068152f35b346101ae5760006003193601126101ae57602060405160008152f35b346101ae5760206003193601126101ae576105366116c6565b600480359055005b346101ae5760206003193601126101ae576001600160a01b0361055f610c38565b16600052600760205260206001600160a01b0360406000205416604051908152f35b346101ae5760406003193601126101ae5761059a610c4e565b60043560005260006020526001600160a01b0360406000209116600052602052602060ff604060002054166040519015158152f35b346101ae5760006003193601126101ae57602060025460a01d60405190600b0b8152f35b346101ae5760006003193601126101ae576020604051733b3cd21242ba44e9865b066e5ef5d1cc1030cc588152f35b346101ae5760006003193601126101ae5760206001600160a01b0360025416604051908152f35b346101ae5760206003193601126101ae576004356008548110156101ae576001600160a01b0361067a602092610c92565b90549060031b1c16604051908152f35b346101ae5760206003193601126101ae576004356106a66116c6565b606481116106b357600355005b608460405162461bcd60e51b8152602060048201526024808201527f50657263656e74616765206d757374206265206265747765656e203020616e6460448201527f20313030000000000000000000000000000000000000000000000000000000006064820152fd5b346101ae5760006003193601126101ae5760206001600160a01b0360065416604051908152f35b346101ae5760206003193601126101ae5761075c610c38565b6107646116c6565b600854680100000000000000008110156107a9578060016107889201600855610c92565b6001600160a01b0380839493549260031b9316831b921b1916179055600080f35b634e487b7160e01b600052604160045260246000fd5b346101ae5760406003193601126101ae576107d8610c4e565b336001600160a01b038216036107f4576100199060043561184b565b7f6697b2320000000000000000000000000000000000000000000000000000000060005260046000fd5b346101ae5760406003193601126101ae5761001960043561083d610c4e565b906108596104c882600052600060205260016040600020015490565b6117b1565b346101ae5760006003193601126101ae5760206001600160a01b0360055416604051908152f35b346101ae5760406003193601126101ae5761089e610c4e565b506004357fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b036108f45760207fa2ef4600d742022d532d4747cb3547474667d6f13804902513b2ec01c848f4b45b604051908152f35b602060006108ec565b346101ae5760206003193601126101ae5760206108ec600435600052600060205260016040600020015490565b346101ae5760206003193601126101ae5760043580600b0b8082036101ae576000906109546116c6565b131561098b576001600160a01b0373ffffffffffffffffffffffffffffffffffffffff196002549260a01b16911617600255600080f35b608460405162461bcd60e51b815260206004820152602260248201527f4475726174696f6e206d7573742062652067726561746572207468616e207a6560448201527f726f0000000000000000000000000000000000000000000000000000000000006064820152fd5b346101ae5760006003193601126101ae57604460206001600160a01b0360015416604051928380927faabbb8ca0000000000000000000000000000000000000000000000000000000082523060048301527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301525afa80156103c457602091600091610a91575b506001600160a01b0360405191168152f35b610ab19150823d8411610ab7575b610aa98183610d0e565b810190610d5e565b82610a7f565b503d610a9f565b346101ae5760206003193601126101ae576020610ae1610adc610c38565b611556565b6001600160a01b0360405191168152f35b346101ae5760006003193601126101ae576020600454604051908152f35b346101ae5760206003193601126101ae576004357fffffffff0000000000000000000000000000000000000000000000000000000081168091036101ae57807f7965db0b0000000000000000000000000000000000000000000000000000000060209214908115610b87575b506040519015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501482610b7c565b346101ae5760c06003193601126101ae57610bca610c38565b50610bd3610c4e565b506044356001600160a01b03811681036101ae5760843567ffffffffffffffff81116101ae57610c07903690600401610c64565b505060a4359067ffffffffffffffff82116101ae57610c2d610019923690600401610c64565b505060643590610d95565b600435906001600160a01b03821682036101ae57565b602435906001600160a01b03821682036101ae57565b9181601f840112156101ae5782359167ffffffffffffffff83116101ae57602083818601950101116101ae57565b600854811015610cad57600860005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b15610cca57565b606460405162461bcd60e51b815260206004820152602060248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f6044820152fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176107a957604052565b908160209103126101ae575190565b908160209103126101ae57516001600160a01b03811681036101ae5790565b908160209103126101ae575180151581036101ae5790565b6001600160a01b03309116036114ed57610db26000911515610cc3565b734200000000000000000000000000000000000006331480156114d0575b610efd576001600160a01b03610de533611556565b1680611336575b506040516370a0823160e01b81523060048201526020816024817342000000000000000000000000000000000000065afa908115611028578291611304575b50806111b1575b506040516370a0823160e01b81523060048201526020816024817346fd5cfb4c12d87acd3a13e92baa53240c661d935afa90811561102857829161117f575b5080610f34575b5047906004548211610e88575050565b60206001600160a01b03600554166084604051809581937fb60347a3000000000000000000000000000000000000000000000000000000008352733b3cd21242ba44e9865b066e5ef5d1cc1030cc5860048401528160248401528660448401528660648401525af1908115610f285750610f00575b50565b610efd9060203d602011610f21575b610f198183610d0e565b810190610d4f565b503d610f0f565b604051903d90823e3d90fd5b610f436064916003549061169d565b048015158061116b575b611069575b506040516370a0823160e01b81523060048201526020816024817346fd5cfb4c12d87acd3a13e92baa53240c661d935afa908115611028578291611037575b508015610e78577346fd5cfb4c12d87acd3a13e92baa53240c661d933b1561103357604051907f160e8be300000000000000000000000000000000000000000000000000000000825260048201528181602481837346fd5cfb4c12d87acd3a13e92baa53240c661d935af1801561102857908291611010575b50610e78565b8161101a91610d0e565b61102557803861100a565b80fd5b6040513d84823e3d90fd5b5080fd5b90506020813d602011611061575b8161105260209383610d0e565b810103126101ae575138610f91565b3d9150611045565b6006546040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911660048201526024810191909152602081604481857346fd5cfb4c12d87acd3a13e92baa53240c661d935af190811561102857829161114c575b50156110e25738610f52565b608460405162461bcd60e51b815260206004820152602560248201527f45544878207472616e7366657220746f2066656520726563697069656e74206660448201527f61696c65640000000000000000000000000000000000000000000000000000006064820152fd5b611165915060203d6020116103bd576103af8183610d0e565b386110d6565b506001600160a01b03600654161515610f4d565b90506020813d6020116111a9575b8161119a60209383610d0e565b810103126101ae575138610e71565b3d915061118d565b9060646111c06003548461169d565b0491821515806112f0575b6111d7575b5090610e32565b7342000000000000000000000000000000000000063b1561103357604051907f2e1a7d4d00000000000000000000000000000000000000000000000000000000825260048201528181602481837342000000000000000000000000000000000000065af18015611028576112e0575b50906001600160a01b03600654167346fd5cfb4c12d87acd3a13e92baa53240c661d933b156112dc5782906024604051809481937f7687d19b00000000000000000000000000000000000000000000000000000000835260048301527346fd5cfb4c12d87acd3a13e92baa53240c661d935af1801561102857908291156111d057816112d191610d0e565b6110255780386111d0565b8280fd5b816112ea91610d0e565b38611246565b506001600160a01b036006541615156111cb565b90506020813d60201161132e575b8161131f60209383610d0e565b81010312611033575138610e2b565b3d9150611312565b6040516370a0823160e01b8152306004820152602081602481335afa9081156114c5578391611493575b50600254906bffffffffffffffffffffffff8260a01d1690811561147f57600492916020910493604051938480927f16f0115b0000000000000000000000000000000000000000000000000000000082525afa91821561147457602092856001600160a01b039360c4938293611453575b50849060405197889687957f5a6c6dbc000000000000000000000000000000000000000000000000000000008752336004880152306024880152166044860152600b0b606485015260a060848501528260a4850152165af180156110285715610dec5761144c9060203d6020116103bd576103af8183610d0e565b5038610dec565b8591935061146d90873d8911610ab757610aa98183610d0e565b92906113d1565b6040513d86823e3d90fd5b602485634e487b7160e01b81526012600452fd5b90506020813d6020116114bd575b816114ae60209383610d0e565b810103126112dc575138611360565b3d91506114a1565b6040513d85823e3d90fd5b507346fd5cfb4c12d87acd3a13e92baa53240c661d933314610dd0565b608460405162461bcd60e51b8152602060048201526024808201527f546f6b656e73206d7573742062652073656e7420746f207468697320636f6e7460448201527f72616374000000000000000000000000000000000000000000000000000000006064820152fd5b6001600160a01b0316908160005260076020526001600160a01b03604060002054169182156115825750565b6008549060005b82811061159557505050565b602460206001600160a01b036115aa84610c92565b90549060031b1c16604051928380927f0881dd440000000000000000000000000000000000000000000000000000000082528760048301525afa80156103c4576001600160a01b039160009161167f575b50166040517f16f0115b000000000000000000000000000000000000000000000000000000008152602081600481855afa6000918161165f575b50611645575b5050600101611589565b6001600160a01b0316611658578061163b565b9450505050565b61167891925060203d8111610ab757610aa98183610d0e565b9038611635565b611697915060203d8111610ab757610aa98183610d0e565b386115fb565b818102929181159184041417156116b057565b634e487b7160e01b600052601160045260246000fd5b3360009081527fe84508f2c7fa9c351146748b3025cb78b45df37d868e48c6a75102fecdeee645602052604090205460ff16156116ff57565b7fe2517d3f00000000000000000000000000000000000000000000000000000000600052336004527f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0860245260446000fd5b80600052600060205260406000206001600160a01b03331660005260205260ff60406000205416156117805750565b7fe2517d3f000000000000000000000000000000000000000000000000000000006000523360045260245260446000fd5b80600052600060205260406000206001600160a01b03831660005260205260ff60406000205416156000146118445780600052600060205260406000206001600160a01b0383166000526020526040600020600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a4600190565b5050600090565b80600052600060205260406000206001600160a01b03831660005260205260ff604060002054166000146118445780600052600060205260406000206001600160a01b038316600052602052604060002060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b600080a460019056fea26469706673582212207db48442ab7c550cb0cd616d9c935842f6e0ec0ea957b0e610ee8b721dc240f864736f6c634300081a00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0de84508f2c7fa9c351146748b3025cb78b45df37d868e48c6a75102fecdeee645f3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb50000000000000000000000006da13bde224a05a288748d857b9e7ddeffd1de08000000000000000000000000f86ec2b7d5d95990d61b9f6166775fb22003cc09000000000000000000000000ea25b9cd2d9f8ba6cff45ed0f6e1efa2fc79a57e