137 txs
35.3k calls
constructor
constructor(address _gdaForwarder, address _feeRecipient, address _zapContract, address _defaultLpFactory)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
defaultLpFactory
viewfunction defaultLpFactory() view returns (address)
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)
lastStreamed
viewfunction lastStreamed(address) view returns (uint256)
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)
streamThreshold
viewfunction streamThreshold() view returns (uint256)
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)
claimRewards
nonpayablefunction claimRewards(address token)
claimRewardsViaLpFactory
nonpayablefunction claimRewardsViaLpFactory(address token, address lpFactory)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
poolStream
nonpayablefunction poolStream(address token)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setDefaultLpFactory
nonpayablefunction setDefaultLpFactory(address lpFactory)
setFeeRecipient
nonpayablefunction setFeeRecipient(address _feeRecipient)
setFeeRecipientPercentage
nonpayablefunction setFeeRecipientPercentage(uint256 percentage)
setFlowDuration
nonpayablefunction setFlowDuration(int96 duration)
setStreamThreshold
nonpayablefunction setStreamThreshold(uint256 _streamThreshold)
setSwapThreshold
nonpayablefunction setSwapThreshold(uint256 _swapThreshold)
setZapContract
nonpayablefunction setZapContract(address _zapContract)
withdraw
nonpayablefunction withdraw(address token)
withdrawETH
nonpayablefunction withdrawETH()
events
BuyBack
event BuyBack(address token, uint256 amountIn, uint256 amountOut)
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)
StreamUpdated
event StreamUpdated(address token, int96 flowRate)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
creation bytecode
0x60803461039857601f611eac38819003918201601f19168301916001600160401b03831184841017610382578084926080946040528339810103126103985780516001600160a01b03811691908290036103985761005f6020820161039d565b60408201516001600160a01b0381169290839003610398576060610083910161039d565b600180546001600160a01b03166203c26760a71b179055603260025567016345785d8a000060035569d3c21bcecceda1000000600455926100c3336103b1565b506100cd3361042d565b50600180546001600160a01b03199081169290921790556006805482166001600160a01b0393841617905560058054821693909317909255600a80548316939091169290921790915560076020527f1c13a0460199fdf3d38d103e8af48fa4c56a32bd4446a291b3ad2158550295a8805482167393419f1c0f73b278c73085c17407794a6580deff1790557f0431fc819a89ed9b580468a3705d3634af506ef0f3d72bb605b16e696dc3e0508054821673291c99235270ea41499f243b1a8a43ad5c62e28c1790557faba4004ad297ec3dbb9aa07b4fd9845010f00cb134f76c6e52ddd8cca7dc0a1380548216735a4aa653b98ff91923d1c20797e698cc0ed661081790557fc234193f1632624882f4a34280dcc5b45151db87cdcc6132dfbbec11d38909d98054821673a1e0df593aa51f933b777aa0027ee9dae29ed2ac1790557f786572dd1d404de80c1a2347d33e5949d7e84e94eb9bd94e8f7b06698fb0c0ae80548216734d2b5181e22210da785a505d3d01dee0fa3ccb9217905573390873cddc99ac950c308cf898134f092ea661046000527f355ea281d90694571128d2539f91333edcdd9d11a1179d88acf1cf51d1e1fcd2805490911673e4770d660689175de6b79fdf28725b8c46d29e451790556009546801000000000000000081101561038257600181018060095581101561036c5760096000819052600080516020611e6c8339815191529190910180546001600160a01b03191673c749105bc4b4ea6285dbbe2e8221c922bea07a9d179055546801000000000000000081101561038257600181018060095581101561036c576009600052600080516020611e6c8339815191520180546001600160a01b03191673293a5d47f5d76244b715ce0d0e759e022734948617905560405161196690816104c68239f35b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600080fd5b51906001600160a01b038216820361039857565b6001600160a01b0381166000908152600080516020611e8c833981519152602052604090205460ff16610427576001600160a01b03166000818152600080516020611e8c83398151915260205260408120805460ff19166001179055339190600080516020611e2c8339815191528180a4600190565b50600090565b6001600160a01b0381166000908152600080516020611e4c833981519152602052604090205460ff16610427576001600160a01b03166000818152600080516020611e4c83398151915260205260408120805460ff191660011790553391907f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0890600080516020611e2c8339815191529080a460019056fe608080604052600436101561001d575b50361561001b57600080fd5b005b60003560e01c90816301ffc9a714610ba9575080630445b66714610b8b5780630881dd4414610b575780631a52394314610a8c578063248a9ca314610a575780632549dad914610a305780632f2ff15d146109f057806331136ada146109c75780633618540c146109a057806336568abe146109415780633e16f55f146108db57806346904840146108b45780634a8b93721461082257806351cff8d91461069f578063550abcd01461065e5780635af8bf25146106375780636105e4f7146106085780636497d285146105e457806391d14854146105965780639255443a1461056c5780639bc181d2146105295780639d0014b114610508578063a217fddf146104ec578063ad5c4648146104bd578063d547741f14610478578063e086e5ec146103ab578063e44bb0cc14610371578063e74b981b14610324578063e9add084146102d7578063ec87621c1461029c578063ef5cfb8c1461026e578063f6c278c11461023f578063f98a312e14610221578063fa8b962c146102005763fcaa8737146101ab573861000f565b346101fb5760206003193601126101fb576004356001600160a01b0381168091036101fb576101d8610de0565b73ffffffffffffffffffffffffffffffffffffffff196005541617600555600080f35b600080fd5b346101fb5760206003193601126101fb57610219610de0565b600480359055005b346101fb5760006003193601126101fb576020600454604051908152f35b346101fb5760006003193601126101fb5760206040517346fd5cfb4c12d87acd3a13e92baa53240c661d938152f35b346101fb5760206003193601126101fb5761001b61028a610c47565b6001600160a01b03600a5416906117ff565b346101fb5760006003193601126101fb5760206040517f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b088152f35b346101fb5760206003193601126101fb576001600160a01b036102f8610c47565b610300610de0565b1673ffffffffffffffffffffffffffffffffffffffff19600a541617600a55600080f35b346101fb5760206003193601126101fb576001600160a01b03610345610c47565b61034d610de0565b1673ffffffffffffffffffffffffffffffffffffffff196006541617600655600080f35b346101fb5760206003193601126101fb576001600160a01b03610392610c47565b1660005260086020526020604060002054604051908152f35b346101fb5760006003193601126101fb576103c4610de0565b60008080806001600160a01b036006541647905af13d15610473573d67ffffffffffffffff811161045d57604051906104076020601f19601f8401160183610ca4565b8152600060203d92013e5b1561041957005b606460405162461bcd60e51b815260206004820152601360248201527f455448207472616e73666572206661696c6564000000000000000000000000006044820152fd5b634e487b7160e01b600052604160045260246000fd5b610412565b346101fb5760406003193601126101fb5761001b600435610497610c5d565b906104b86104b382600052600060205260016040600020015490565b610e6b565b611770565b346101fb5760006003193601126101fb5760206040517342000000000000000000000000000000000000068152f35b346101fb5760006003193601126101fb57602060405160008152f35b346101fb5760206003193601126101fb57610521610de0565b600435600355005b346101fb5760206003193601126101fb576001600160a01b0361054a610c47565b16600052600760205260206001600160a01b0360406000205416604051908152f35b346101fb5760406003193601126101fb5761001b610588610c47565b610590610c5d565b906117ff565b346101fb5760406003193601126101fb576105af610c5d565b60043560005260006020526001600160a01b0360406000209116600052602052602060ff604060002054166040519015158152f35b346101fb5760006003193601126101fb57602060015460a01d60405190600b0b8152f35b346101fb5760006003193601126101fb576020604051733b3cd21242ba44e9865b066e5ef5d1cc1030cc588152f35b346101fb5760006003193601126101fb5760206001600160a01b0360015416604051908152f35b346101fb5760206003193601126101fb576004356009548110156101fb576001600160a01b0361068f602092610c73565b90549060031b1c16604051908152f35b346101fb5760206003193601126101fb576004356001600160a01b0381168091036101fb576106cc610de0565b6001600160a01b0360065416604051906370a0823160e01b8252306004830152602082602481865afa9182156107e0576000926107ec575b506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152602481019190915290602090829081600081604481015b03925af19081156107e0576000916107b1575b501561076d57005b606460405162461bcd60e51b815260206004820152601560248201527f546f6b656e207472616e73666572206661696c656400000000000000000000006044820152fd5b6107d3915060203d6020116107d9575b6107cb8183610ca4565b810190610cc7565b81610765565b503d6107c1565b6040513d6000823e3d90fd5b91506020823d60201161081a575b8161080760209383610ca4565b810103126101fb57905190610752610704565b3d91506107fa565b346101fb5760206003193601126101fb5760043561083e610de0565b6064811161084b57600255005b608460405162461bcd60e51b8152602060048201526024808201527f50657263656e74616765206d757374206265206265747765656e203020616e6460448201527f20313030000000000000000000000000000000000000000000000000000000006064820152fd5b346101fb5760006003193601126101fb5760206001600160a01b0360065416604051908152f35b346101fb5760206003193601126101fb576108f4610c47565b6108fc610de0565b6009546801000000000000000081101561045d578060016109209201600955610c73565b6001600160a01b0380839493549260031b9316831b921b1916179055600080f35b346101fb5760406003193601126101fb5761095a610c5d565b336001600160a01b038216036109765761001b90600435611770565b7f6697b2320000000000000000000000000000000000000000000000000000000060005260046000fd5b346101fb5760006003193601126101fb5760206001600160a01b03600a5416604051908152f35b346101fb5760206003193601126101fb576109e86109e3610c47565b610f65565b61001b6111ae565b346101fb5760406003193601126101fb5761001b600435610a0f610c5d565b90610a2b6104b382600052600060205260016040600020015490565b610ecb565b346101fb5760006003193601126101fb5760206001600160a01b0360055416604051908152f35b346101fb5760206003193601126101fb576020610a84600435600052600060205260016040600020015490565b604051908152f35b346101fb5760206003193601126101fb5760043580600b0b8082036101fb57600090610ab6610de0565b1315610aed576001600160a01b0373ffffffffffffffffffffffffffffffffffffffff196001549260a01b16911617600155600080f35b608460405162461bcd60e51b815260206004820152602260248201527f4475726174696f6e206d7573742062652067726561746572207468616e207a6560448201527f726f0000000000000000000000000000000000000000000000000000000000006064820152fd5b346101fb5760206003193601126101fb576020610b7a610b75610c47565b610cfe565b6001600160a01b0360405191168152f35b346101fb5760006003193601126101fb576020600354604051908152f35b346101fb5760206003193601126101fb57600435907fffffffff0000000000000000000000000000000000000000000000000000000082168092036101fb57817f7965db0b0000000000000000000000000000000000000000000000000000000060209314908115610c1d575b5015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501483610c16565b600435906001600160a01b03821682036101fb57565b602435906001600160a01b03821682036101fb57565b600954811015610c8e57600960005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b90601f601f19910116810190811067ffffffffffffffff82111761045d57604052565b908160209103126101fb575180151581036101fb5790565b908160209103126101fb57516001600160a01b03811681036101fb5790565b6001600160a01b0316908160005260076020526001600160a01b0360406000205416918215610d2a5750565b6009549060005b828110610d3d57505050565b602460206001600160a01b03610d5284610c73565b90549060031b1c16604051928380927f0881dd440000000000000000000000000000000000000000000000000000000082528760048301525afa9081156107e057600091610db2575b50803b610dab5750600101610d31565b9450505050565b610dd3915060203d8111610dd9575b610dcb8183610ca4565b810190610cdf565b38610d9b565b503d610dc1565b3360009081527fe84508f2c7fa9c351146748b3025cb78b45df37d868e48c6a75102fecdeee645602052604090205460ff1615610e1957565b7fe2517d3f00000000000000000000000000000000000000000000000000000000600052336004527f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0860245260446000fd5b80600052600060205260406000206001600160a01b03331660005260205260ff6040600020541615610e9a5750565b7fe2517d3f000000000000000000000000000000000000000000000000000000006000523360045260245260446000fd5b80600052600060205260406000206001600160a01b03831660005260205260ff6040600020541615600014610f5e5780600052600060205260406000206001600160a01b0383166000526020526040600020600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a4600190565b5050600090565b6001600160a01b0381169073420000000000000000000000000000000000000682148015611168575b61116457610fa36001600160a01b0391610cfe565b1680610fad575050565b604051916370a0823160e01b8352306004840152602083602481845afa9283156107e057600093611130575b50600154926bffffffffffffffffffffffff8460a01d1690811561111a5760049160209104600b0b93604051928380927f16f0115b0000000000000000000000000000000000000000000000000000000082525afa80156107e05760c46001600160a01b03916020936000916110fd575b5060008360405198899586947f5a6c6dbc00000000000000000000000000000000000000000000000000000000865289600487015230602487015216604485015288606485015260a060848501528260a4850152165af19182156107e0577ff107c9a55c1c8c5b73dd9e8516d71363e40fa2cd96b1063039020d13bac996b6936040936110e0575b5082519182526020820152a1565b6110f89060203d6020116107d9576107cb8183610ca4565b6110d2565b6111149150843d8611610dd957610dcb8183610ca4565b3861104a565b634e487b7160e01b600052601260045260246000fd5b9092506020813d60201161115c575b8161114c60209383610ca4565b810103126101fb57519138610fd9565b3d915061113f565b5050565b507346fd5cfb4c12d87acd3a13e92baa53240c661d938214610f8e565b8181029291811591840414171561119857565b634e487b7160e01b600052601160045260246000fd5b6040516370a0823160e01b81526000903060048201526020816024817342000000000000000000000000000000000000065afa90811561146257829161173e575b50806115eb575b506040516370a0823160e01b81523060048201526020816024817346fd5cfb4c12d87acd3a13e92baa53240c661d935afa9081156114625782916115b9575b508061136e575b504790600354821161124c575050565b8160206001600160a01b03600554166084604051809481937fb60347a3000000000000000000000000000000000000000000000000000000008352733b3cd21242ba44e9865b066e5ef5d1cc1030cc5860048401528160248401528760448401528760648401525af19182156113625791611310575b507f79650a26d9c122dcabbd86157b7bdabd291e5058cef11fc21c572518a1690ee69160609160405191733b3cd21242ba44e9865b066e5ef5d1cc1030cc58835260208301526040820152a1565b90506020813d60201161135a575b8161132b60209383610ca4565b810103126101fb57517f79650a26d9c122dcabbd86157b7bdabd291e5058cef11fc21c572518a1690ee66112c2565b3d915061131e565b604051903d90823e3d90fd5b61137d60649160025490611185565b04801515806115a5575b6114a3575b506040516370a0823160e01b81523060048201526020816024817346fd5cfb4c12d87acd3a13e92baa53240c661d935afa908115611462578291611471575b50801561123c577346fd5cfb4c12d87acd3a13e92baa53240c661d933b1561146d57604051907f160e8be300000000000000000000000000000000000000000000000000000000825260048201528181602481837346fd5cfb4c12d87acd3a13e92baa53240c661d935af180156114625790829161144a575b5061123c565b8161145491610ca4565b61145f578038611444565b80fd5b6040513d84823e3d90fd5b5080fd5b90506020813d60201161149b575b8161148c60209383610ca4565b810103126101fb5751386113cb565b3d915061147f565b6006546040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911660048201526024810191909152602081604481857346fd5cfb4c12d87acd3a13e92baa53240c661d935af1908115611462578291611586575b501561151c573861138c565b608460405162461bcd60e51b815260206004820152602560248201527f45544878207472616e7366657220746f2066656520726563697069656e74206660448201527f61696c65640000000000000000000000000000000000000000000000000000006064820152fd5b61159f915060203d6020116107d9576107cb8183610ca4565b38611510565b506001600160a01b03600654161515611387565b90506020813d6020116115e3575b816115d460209383610ca4565b810103126101fb575138611235565b3d91506115c7565b9060646115fa60025484611185565b04918215158061172a575b611611575b50906111f6565b7342000000000000000000000000000000000000063b1561146d57604051907f2e1a7d4d00000000000000000000000000000000000000000000000000000000825260048201528181602481837342000000000000000000000000000000000000065af180156114625761171a575b50906001600160a01b03600654167346fd5cfb4c12d87acd3a13e92baa53240c661d933b156117165782906024604051809481937f7687d19b00000000000000000000000000000000000000000000000000000000835260048301527346fd5cfb4c12d87acd3a13e92baa53240c661d935af18015611462579082911561160a578161170b91610ca4565b61145f57803861160a565b8280fd5b8161172491610ca4565b38611680565b506001600160a01b03600654161515611605565b90506020813d602011611768575b8161175960209383610ca4565b8101031261146d5751386111ef565b3d915061174c565b80600052600060205260406000206001600160a01b03831660005260205260ff60406000205416600014610f5e5780600052600060205260406000206001600160a01b038316600052602052604060002060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b600080a4600190565b906001600160a01b031690813b156101fb576040517fef5cfb8c0000000000000000000000000000000000000000000000000000000081526000908181602481836001600160a01b038816988960048401525af18015611462578290611920575b5050604051926370a0823160e01b8452306004850152602084602481845afa9384156114625782946118ec575b508082526008602052604082205484038481116118d857600454106118bb575b505050506118b96111ae565b565b6118c6604093610f65565b815260086020522055388080806118ad565b602483634e487b7160e01b81526011600452fd5b9093506020813d602011611918575b8161190860209383610ca4565b810103126101fb5751923861188d565b3d91506118fb565b61192991610ca4565b388161186056fea2646970667358221220574c9c76459c5609e990c64046b620b691f4ea79d36def4a2574ed3cc695df4764736f6c634300081a00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0de84508f2c7fa9c351146748b3025cb78b45df37d868e48c6a75102fecdeee6456e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7afad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb50000000000000000000000006da13bde224a05a288748d857b9e7ddeffd1de08000000000000000000000000f86ec2b7d5d95990d61b9f6166775fb22003cc09000000000000000000000000ea25b9cd2d9f8ba6cff45ed0f6e1efa2fc79a57e000000000000000000000000ff65a5f74798eebf87c8fdfc4e56a71b511ab5c8