13 txs
14 calls
constructor
No constructor.
functions
computeFee
purefunction computeFee(uint256 amount, tuple feeConfig) pure returns (uint256)
feeConfigs
viewfunction feeConfigs(address depositContract, address depositToken) view returns (uint16 fee, address feeRecipient, bool enabled, bool exists)
getMinimumDeposit
viewfunction getMinimumDeposit(address depositContract, address depositToken) view returns (uint256)
owner
viewfunction owner() view returns (address)
addFeeConfig
nonpayablefunction addFeeConfig(address depositContract, address depositToken, uint16 fee, address feeRecipient, bool enabled) returns (tuple feeConfig)
deposit
nonpayablefunction deposit(address depositContract, address depositToken, uint256 amount) returns (uint256 shares)
removeFeeConfig
nonpayablefunction removeFeeConfig(address depositContract, address depositToken) returns (bool success)
setEnabled
nonpayablefunction setEnabled(address depositContract, address depositToken, bool enabled) returns (bool)
setFee
nonpayablefunction setFee(address depositContract, address depositToken, uint16 fee) returns (uint16)
setFeeRecipient
nonpayablefunction setFeeRecipient(address depositContract, address depositToken, address feeRecipient) returns (address)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(address token, uint256 amount, address to)
withdraw
nonpayablefunction withdraw(uint256 amount, address to)
events
OwnershipTransferred
event OwnershipTransferred(address indexed user, address indexed newOwner)
errors
DepositContractNotEnabled
error DepositContractNotEnabled(address depositContract)
ETHWithdrawalFailed
error ETHWithdrawalFailed()
FeeConfigAlreadyExists
error FeeConfigAlreadyExists(address depositContract, address depositToken)
FeeConfigDoesNotExist
error FeeConfigDoesNotExist(address depositContract, address depositToken)
InsufficientAmountForFee
error InsufficientAmountForFee(uint256 amount)
InsufficientETHBalance
error InsufficientETHBalance(uint256 amount)
InvalidFee
error InvalidFee(uint16 fee)
InvalidFeeRecipient
error InvalidFeeRecipient(address feeRecipient)
InvalidRecipient
error InvalidRecipient()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x6080604052600180553480156012575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506119f9806100605f395ff3fe6080604052600436106100d0575f3560e01c80636d0996d41161007c578063aa403c6511610057578063aa403c65146102de578063c54cc3fa14610341578063d1085b8314610360578063f2fde38b1461037f575f80fd5b80636d0996d4146102745780638340f549146102a15780638da5cb5b146102c0575f80fd5b806361381f23116100ac57806361381f231461016757806367aa5e491461022357806369328dec14610255575f80fd5b8062f714ce146100db5780631eb96ad9146100fc5780633fd7f27a14610138575f80fd5b366100d757005b5f80fd5b3480156100e6575f80fd5b506100fa6100f536600461160a565b61039e565b005b348015610107575f80fd5b5061011b610116366004611648565b610521565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610143575f80fd5b5061015761015236600461169f565b610680565b604051901515815260200161012f565b348015610172575f80fd5b506101ee6101813660046116e3565b600260209081525f928352604080842090915290825290205461ffff8116906001600160a01b03620100008204169060ff76010000000000000000000000000000000000000000000082048116917701000000000000000000000000000000000000000000000090041684565b6040805161ffff90951685526001600160a01b039093166020850152901515918301919091521515606082015260800161012f565b34801561022e575f80fd5b5061024261023d366004611720565b6107f8565b60405161ffff909116815260200161012f565b348015610260575f80fd5b506100fa61026f36600461175b565b6109a7565b34801561027f575f80fd5b5061029361028e36600461178f565b610a2e565b60405190815260200161012f565b3480156102ac575f80fd5b506102936102bb36600461186c565b610aa5565b3480156102cb575f80fd5b505f5461011b906001600160a01b031681565b3480156102e9575f80fd5b506102fd6102f83660046118aa565b610ce7565b60405161012f9190815161ffff1681526020808301516001600160a01b03169082015260408083015115159082015260609182015115159181019190915260800190565b34801561034c575f80fd5b5061029361035b3660046116e3565b610ff9565b34801561036b575f80fd5b5061015761037a3660046116e3565b6110ee565b34801561038a575f80fd5b506100fa610399366004611911565b611240565b5f546001600160a01b03163314610416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b038116610456576040517f9c8d2cd200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81471015610493576040517f7b2986c10000000000000000000000000000000000000000000000000000000081526004810183905260240161040d565b5f816001600160a01b0316836040515f6040518083038185875af1925050503d805f81146104dc576040519150601f19603f3d011682016040523d82523d5f602084013e6104e1565b606091505b505090508061051c576040517f81102ece00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b5f80546001600160a01b03163314610595576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161040d565b6001600160a01b038481165f9081526002602090815260408083209387168352929052205477010000000000000000000000000000000000000000000000900460ff16610621576040517fc6601bda0000000000000000000000000000000000000000000000000000000081526001600160a01b0380861660048301528416602482015260440161040d565b506001600160a01b039283165f90815260026020908152604080832094861683529390529190912080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000092841683021790819055041690565b5f80546001600160a01b031633146106f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161040d565b6001600160a01b038481165f9081526002602090815260408083209387168352929052205477010000000000000000000000000000000000000000000000900460ff16610780576040517fc6601bda0000000000000000000000000000000000000000000000000000000081526001600160a01b0380861660048301528416602482015260440161040d565b506001600160a01b039283165f9081526002602090815260408083209490951682529290925291902080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff167601000000000000000000000000000000000000000000009215158302179081905560ff9190041690565b5f80546001600160a01b0316331461086c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161040d565b6001600160a01b038481165f9081526002602090815260408083209387168352929052205477010000000000000000000000000000000000000000000000900460ff166108f8576040517fc6601bda0000000000000000000000000000000000000000000000000000000081526001600160a01b0380861660048301528416602482015260440161040d565b6127108261ffff16118061090e575061ffff8216155b1561094b576040517ff6f4a38f00000000000000000000000000000000000000000000000000000000815261ffff8316600482015260240161040d565b506001600160a01b039283165f9081526002602090815260408083209490951682529290925291902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92909216918217905590565b5f546001600160a01b03163314610a1a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161040d565b61051c6001600160a01b0384168284611315565b80515f90612710610a4361ffff831686611960565b1015610a7e576040517fd17b8c860000000000000000000000000000000000000000000000000000000081526004810185905260240161040d565b5f612710610a9061ffff841687611960565b610a9a9190611977565b925050505b92915050565b5f600154600114610b12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e435900000000000000000000000000000000000000000000604482015260640161040d565b600260018190556001600160a01b038086165f9081526020928352604080822087841683528452908190208151608081018352905461ffff811682526201000081049093169381019390935260ff7601000000000000000000000000000000000000000000008304811615159184018290527701000000000000000000000000000000000000000000000090920490911615156060830152610beb576040517f8a98b2700000000000000000000000000000000000000000000000000000000081526001600160a01b038616600482015260240161040d565b5f610bf68483610a2e565b90505f610c0382866119af565b602084015190915087908790610c26906001600160a01b03831690339087611389565b610c3b6001600160a01b038216333086611389565b610c4f6001600160a01b0382168a856113c8565b6040517f6e553f65000000000000000000000000000000000000000000000000000000008152600481018490523360248201526001600160a01b03831690636e553f65906044016020604051808303815f875af1158015610cb2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd691906119c2565b600180559998505050505050505050565b604080516080810182525f8082526020820181905291810182905260608101919091525f546001600160a01b03163314610d7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161040d565b6127108461ffff161180610d93575061ffff8416155b15610dd0576040517ff6f4a38f00000000000000000000000000000000000000000000000000000000815261ffff8516600482015260240161040d565b6001600160a01b038316610e1b576040517ff80a23ec0000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260240161040d565b6001600160a01b038681165f9081526002602090815260408083209389168352929052205477010000000000000000000000000000000000000000000000900460ff1615610ea8576040517f8723005f0000000000000000000000000000000000000000000000000000000081526001600160a01b0380881660048301528616602482015260440161040d565b50604080516080808201835261ffff95861682526001600160a01b039485166020808401918252941515838501908152600160608086019182529a88165f908152600288528681209a8916815299875298859020935184549251915199519089167fffffffffffffffffffff0000000000000000000000000000000000000000000090931692909217620100009188168202177fffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffff167601000000000000000000000000000000000000000000009915158a027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff161777010000000000000000000000000000000000000000000000921515830217938490558451928301855296831682529582049094169284019290925260ff94820485161515908301529190910490911615159181019190915290565b6001600160a01b038083165f908152600260209081526040808320858516845282528083208151608081018352905461ffff811682526201000081049095169281019290925260ff76010000000000000000000000000000000000000000000085048116151591830191909152770100000000000000000000000000000000000000000000009093049092161515606083018190529091906110da576040517fc6601bda0000000000000000000000000000000000000000000000000000000081526001600160a01b0380861660048301528416602482015260440161040d565b80515f90610a9a9061ffff16612710611977565b5f80546001600160a01b03163314611162576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161040d565b6001600160a01b038381165f9081526002602090815260408083209386168352929052205477010000000000000000000000000000000000000000000000900460ff166111ee576040517fc6601bda0000000000000000000000000000000000000000000000000000000081526001600160a01b0380851660048301528316602482015260440161040d565b506001600160a01b039182165f908152600260209081526040808320939094168252919091522080547fffffffffffffffff000000000000000000000000000000000000000000000000169055600190565b5f546001600160a01b031633146112b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161040d565b5f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6040516001600160a01b0383811660248301526044820183905261051c91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611468565b6040516001600160a01b0384811660248301528381166044830152606482018390526113c29186918216906323b872dd90608401611342565b50505050565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa15801561142e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145291906119c2565b90506113c2848461146385856119d9565b6114ed565b5f8060205f8451602086015f885af180611487576040513d5f823e3d81fd5b50505f513d9150811561149e5780600114156114ab565b6001600160a01b0384163b155b156113c2576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161040d565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905261156c84826115aa565b6113c2576040516001600160a01b0384811660248301525f60448301526115a091869182169063095ea7b390606401611342565b6113c28482611468565b5f805f8060205f8651602088015f8a5af192503d91505f5190508280156115e9575081156115db57806001146115e9565b5f866001600160a01b03163b115b9695505050505050565b6001600160a01b0381168114611607575f80fd5b50565b5f806040838503121561161b575f80fd5b82359150602083013561162d816115f3565b809150509250929050565b8035611643816115f3565b919050565b5f805f6060848603121561165a575f80fd5b8335611665816115f3565b92506020840135611675816115f3565b91506040840135611685816115f3565b809150509250925092565b80358015158114611643575f80fd5b5f805f606084860312156116b1575f80fd5b83356116bc816115f3565b925060208401356116cc816115f3565b91506116da60408501611690565b90509250925092565b5f80604083850312156116f4575f80fd5b82356116ff816115f3565b9150602083013561162d816115f3565b803561ffff81168114611643575f80fd5b5f805f60608486031215611732575f80fd5b833561173d816115f3565b9250602084013561174d816115f3565b91506116da6040850161170f565b5f805f6060848603121561176d575f80fd5b8335611778816115f3565b9250602084013591506040840135611685816115f3565b5f8082840360a08112156117a1575f80fd5b8335925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156117d4575f80fd5b506040516080810181811067ffffffffffffffff8211171561181d577f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405261182c6020850161170f565b815261183a60408501611638565b602082015261184b60608501611690565b604082015261185c60808501611690565b6060820152809150509250929050565b5f805f6060848603121561187e575f80fd5b8335611889816115f3565b92506020840135611899816115f3565b929592945050506040919091013590565b5f805f805f60a086880312156118be575f80fd5b85356118c9816115f3565b945060208601356118d9816115f3565b93506118e76040870161170f565b925060608601356118f7816115f3565b915061190560808701611690565b90509295509295909350565b5f60208284031215611921575f80fd5b813561192c816115f3565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082028115828204841417610a9f57610a9f611933565b5f826119aa577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b81810381811115610a9f57610a9f611933565b5f602082840312156119d2575f80fd5b5051919050565b80820180821115610a9f57610a9f61193356fea164736f6c6343000819000a