0 txs
130.4k calls
constructor
constructor()
functions
assetStrategy
viewfunction assetStrategy(address token) view returns (address strategy)
contractMap
viewfunction contractMap(bytes32 contractKey) view returns (address contractAddress)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
depositLimitByAsset
viewfunction depositLimitByAsset(address token) view returns (uint256 amount)
getContract
viewfunction getContract(bytes32 contractKey) view returns (address)
getLSTToken
viewfunction getLSTToken(bytes32 tokenKey) view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getSupportedAssetList
viewfunction getSupportedAssetList() view returns (address[])
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isSupportedAsset
viewfunction isSupportedAsset(address token) view returns (bool isSupported)
protocolFeeInBPS
viewfunction protocolFeeInBPS() view returns (uint256)
rsETH
viewfunction rsETH() view returns (address)
supportedAssetList
viewfunction supportedAssetList(uint256) view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenMap
viewfunction tokenMap(bytes32 tokenKey) view returns (address tokenAddress)
addNewSupportedAsset
nonpayablefunction addNewSupportedAsset(address asset, uint256 depositLimit)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address admin, address stETH, address ethX, address rsETH_)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setContract
nonpayablefunction setContract(bytes32 contractKey, address contractAddress)
setProtocolFeeBps
nonpayablefunction setProtocolFeeBps(uint256 _protocolFeeInBPS)
setRSETH
nonpayablefunction setRSETH(address rsETH_)
setToken
nonpayablefunction setToken(bytes32 tokenKey, address assetAddress)
updateAssetDepositLimit
nonpayablefunction updateAssetDepositLimit(address asset, uint256 depositLimit)
updateAssetStrategy
nonpayablefunction updateAssetStrategy(address asset, address strategy)
events
AddedNewSupportedAsset
event AddedNewSupportedAsset(address indexed asset, uint256 depositLimit)
AssetDepositLimitUpdate
event AssetDepositLimitUpdate(address indexed asset, uint256 depositLimit)
AssetStrategyUpdate
event AssetStrategyUpdate(address indexed asset, address indexed strategy)
Initialized
event Initialized(uint8 version)
RemovedSupportedAsset
event RemovedSupportedAsset(address indexed asset)
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)
SetContract
event SetContract(bytes32 key, address indexed contractAddr)
SetRSETH
event SetRSETH(address indexed rsETH)
SetToken
event SetToken(bytes32 key, address indexed tokenAddr)
UpdateMaxRewardAmount
event UpdateMaxRewardAmount(uint256 maxRewardAmount)
errors
AssetAlreadySupported
error AssetAlreadySupported()
AssetNotSupported
error AssetNotSupported()
CallerNotLRTConfigAdmin
error CallerNotLRTConfigAdmin()
CallerNotLRTConfigAllowedRole
error CallerNotLRTConfigAllowedRole(string role)
CallerNotLRTConfigManager
error CallerNotLRTConfigManager()
CallerNotLRTConfigOperator
error CallerNotLRTConfigOperator()
CannotUpdateStrategyAsItHasFundsNDCFunds
error CannotUpdateStrategyAsItHasFundsNDCFunds(address ndc, uint256 amount)
InvalidMaxRewardAmount
error InvalidMaxRewardAmount()
ValueAlreadyInUse
error ValueAlreadyInUse()
ZeroAddressNotAllowed
error ZeroAddressNotAllowed()
creation bytecode
0x608060405234801561000f575f80fd5b5061001861001d565b6100d9565b5f54610100900460ff16156100885760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff908116146100d7575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611cea806100e65f395ff3fe608060405234801561000f575f80fd5b50600436106101a4575f3560e01c806391d14854116100e8578063d547741f11610093578063e16c7d981161006e578063e16c7d981461044f578063e715c61714610462578063ea1b281614610475578063f8c8765e14610488575f80fd5b8063d547741f14610416578063dd60876414610429578063de55701e1461043c575f80fd5b8063a217fddf116100c3578063a217fddf146103c7578063c0417e58146103ce578063cac39a05146103e1575f80fd5b806391d148541461032b57806397ef9d98146103705780639be918e6146103a5575f80fd5b806336568abe116101535780636c8d179a1161012e5780636c8d179a146102dd57806373034242146102f0578063770672a6146103035780637ed77c9c14610318575f80fd5b806336568abe146102985780633fc3c74d146102ab57806343575648146102be575f80fd5b8063286893e711610183578063286893e7146102455780632ee4c45c1461024e5780632f2ff15d14610283575f80fd5b8062b83bce146101a857806301ffc9a7146101f2578063248a9ca314610215575b5f80fd5b609d546101c89073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b610205610200366004611810565b61049b565b60405190151581526020016101e9565b61023761022336600461184f565b5f9081526065602052604090206001015490565b6040519081526020016101e9565b610237609e5481565b6101c861025c36600461184f565b60976020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b610296610291366004611887565b610533565b005b6102966102a6366004611887565b61055c565b6102966102b93660046118b5565b610614565b6102376102cc3660046118e1565b609a6020525f908152604090205481565b6101c86102eb36600461184f565b6109a4565b6102966102fe3660046118fc565b6109d9565b61030b610aca565b6040516101e99190611926565b610296610326366004611887565b610b37565b610205610339366004611887565b5f91825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6101c861037e3660046118e1565b609b6020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6102056103b33660046118e1565b60996020525f908152604090205460ff1681565b6102375f81565b6102966103dc36600461184f565b610b4b565b6101c86103ef36600461184f565b60986020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b610296610424366004611887565b610b5b565b6102966104373660046118fc565b610b7f565b61029661044a366004611887565b610b93565b6101c861045d36600461184f565b610ba7565b6101c861047036600461184f565b610bfc565b6102966104833660046118e1565b610c51565b61029661049636600461197f565b610cd3565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061052d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b5f8281526065602052604090206001015461054d81610f3b565b6105578383610f48565b505050565b73ffffffffffffffffffffffffffffffffffffffff81163314610606576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610610828261103a565b5050565b5f61061e81610f3b565b73ffffffffffffffffffffffffffffffffffffffff83165f90815260996020526040902054839060ff1661067e576040517f981a2a2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610687836110f3565b73ffffffffffffffffffffffffffffffffffffffff8481165f908152609b60205260409020548185169116036106e9576040517f18e6d51900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8481165f908152609b60205260409020541615610927575f61073f7f7a8fe1bac8d7638862c53b62ffada56d0a56c381287c35f66503b5b86fa88b85610ba7565b90505f8173ffffffffffffffffffffffffffffffffffffffff1663ce895a2f6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561078a573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107cf9190810190611a15565b80519091505f5b818110156109225773ffffffffffffffffffffffffffffffffffffffff8089165f908152609b602052604081205485519192169063553ca5f89086908590811061082257610822611af3565b60200260200101516040518263ffffffff1660e01b8152600401610862919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa15801561087d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a19190611b20565b90508015610919578382815181106108bb576108bb611af3565b6020026020010151816040517f0c7652d90000000000000000000000000000000000000000000000000000000081526004016105fd92919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b506001016107d6565b505050505b73ffffffffffffffffffffffffffffffffffffffff8481165f818152609b602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169488169485179055517f5a4b82aa5dc163fd961be3a86951c62b0002859768bb5eabf32daa25f06ab3d99190a350505050565b609c81815481106109b3575f80fd5b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b7faf290d8680820aad922855f39b306097b20e28774d6c1ad35a20325630c3a02c610a0381610f3b565b73ffffffffffffffffffffffffffffffffffffffff83165f90815260996020526040902054839060ff16610a63576040517f981a2a2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84165f818152609a602052604090819020859055517fc04446455e1f3789fca0c8aad0733e9f7d7f0f82d7d0ca5e9b7c56c9ea081ce890610abc9086815260200190565b60405180910390a250505050565b6060609c805480602002602001604051908101604052809291908181526020018280548015610b2d57602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b02575b5050505050905090565b5f610b4181610f3b565b6105578383611140565b5f610b5581610f3b565b50609e55565b5f82815260656020526040902060010154610b7581610f3b565b610557838361103a565b5f610b8981610f3b565b610557838361122f565b5f610b9d81610f3b565b6105578383611375565b5f81815260986020526040812054610bd49073ffffffffffffffffffffffffffffffffffffffff166110f3565b505f9081526098602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b5f81815260976020526040812054610c299073ffffffffffffffffffffffffffffffffffffffff166110f3565b505f9081526097602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b5f610c5b81610f3b565b610c64826110f3565b609d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f5f9b9ec4692042b3fe4e1253a4577dde538cd2ad44038126a8d1a05adefa168d905f90a25050565b5f54610100900460ff1615808015610cf157505f54600160ff909116105b80610d0a5750303b158015610d0a57505f5460ff166001145b610d96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105fd565b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610df2575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610dfb856110f3565b610e04826110f3565b610e0c61145c565b610e367f5ab93526e86faeda0b6e64b0938936c8ae1511dfade61703cbe8e2f09eac283485611375565b610e607fac2b7f58bafcd59e47d98c6938f7cb948e0439f65b24f245f5301670fbd13eba84611375565b610e748469152d02c7e14af680000061122f565b610e888369152d02c7e14af680000061122f565b610e925f86610f48565b609d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790558015610f34575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b610f4581336114f4565b50565b5f82815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610610575f82815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610fdc3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b5f82815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610610575f82815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b73ffffffffffffffffffffffffffffffffffffffff8116610f45576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611149816110f3565b5f8281526098602052604090205473ffffffffffffffffffffffffffffffffffffffff8083169116036111a8576040517f18e6d51900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281526098602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851690811790915591518481527f5de40a806536a2029221dac2c8887ac9f11952fcc1ed3d7cfb4476dd5259b74091015b60405180910390a25050565b611238826110f3565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526099602052604090205460ff1615611297576040517fb1093e5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82165f81815260996020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155609c805491820190557faf85b9071dfafeac1409d3f1d19bafc9bc7c37974cde8df0ee6168f0086e539c0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001685179055609a82529182902084905590518381527fbaf29bfdb0c1bd100ee9f6d6c1112bcde0014c0ef8c6199c0a813d936dd6568e9101611223565b61137e816110f3565b5f8281526097602052604090205473ffffffffffffffffffffffffffffffffffffffff8083169116036113dd576040517f18e6d51900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281526097602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851690811790915591518481527f19aab10c6a9f5d648eaa15e2d515f8dfda570ee221e7c8cb9dc07694e68005bc9101611223565b5f54610100900460ff166114f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105fd565b565b5f82815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661061057611533816115ad565b61153e8360206115cc565b60405160200161154f929190611b59565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526105fd91600401611bd9565b606061052d73ffffffffffffffffffffffffffffffffffffffff831660145b60605f6115da836002611c56565b6115e5906002611c6d565b67ffffffffffffffff8111156115fd576115fd6119d8565b6040519080825280601f01601f191660200182016040528015611627576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000815f8151811061165d5761165d611af3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106116bf576116bf611af3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053505f6116f9846002611c56565b611704906001611c6d565b90505b60018111156117a0577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061174557611745611af3565b1a60f81b82828151811061175b5761175b611af3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535060049490941c9361179981611c80565b9050611707565b508315611809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105fd565b9392505050565b5f60208284031215611820575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611809575f80fd5b5f6020828403121561185f575f80fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f45575f80fd5b5f8060408385031215611898575f80fd5b8235915060208301356118aa81611866565b809150509250929050565b5f80604083850312156118c6575f80fd5b82356118d181611866565b915060208301356118aa81611866565b5f602082840312156118f1575f80fd5b813561180981611866565b5f806040838503121561190d575f80fd5b823561191881611866565b946020939093013593505050565b602080825282518282018190525f9190848201906040850190845b8181101561197357835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101611941565b50909695505050505050565b5f805f8060808587031215611992575f80fd5b843561199d81611866565b935060208501356119ad81611866565b925060408501356119bd81611866565b915060608501356119cd81611866565b939692955090935050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b8051611a1081611866565b919050565b5f6020808385031215611a26575f80fd5b825167ffffffffffffffff80821115611a3d575f80fd5b818501915085601f830112611a50575f80fd5b815181811115611a6257611a626119d8565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108582111715611aa557611aa56119d8565b604052918252848201925083810185019188831115611ac2575f80fd5b938501935b82851015611ae757611ad885611a05565b84529385019392850192611ac7565b98975050505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611b30575f80fd5b5051919050565b5f5b83811015611b51578181015183820152602001611b39565b50505f910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081525f8351611b90816017850160208801611b37565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611bcd816028840160208801611b37565b01602801949350505050565b602081525f8251806020840152611bf7816040850160208701611b37565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808202811582820484141761052d5761052d611c29565b8082018082111561052d5761052d611c29565b5f81611c8e57611c8e611c29565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212202abf6570deade32cf9d263d990fcbf027adb3e5bcc372507c184c4a3b233abee64736f6c63430008150033