0 txs
1.8k calls
constructor
No constructor.
functions
feeRecipient
viewfunction feeRecipient(address recipient) view returns (tuple)
feeRecipientAt
viewfunction feeRecipientAt(uint256 index) view returns (tuple)
feeRecipients
viewfunction feeRecipients() view returns (tuple[])
pendingDepositFee
viewfunction pendingDepositFee() view returns (uint256)
pendingRewardFee
viewfunction pendingRewardFee() view returns (uint256)
dispatchFees
nonpayablefunction dispatchFees(address asset, uint8 underlyingDecimals)
incrementPendingDepositFee
nonpayablefunction incrementPendingDepositFee(uint256 amount)
incrementPendingRewardFee
nonpayablefunction incrementPendingRewardFee(uint256 amount)
initialize
nonpayablefunction initialize()
setFeeRecipients
nonpayablefunction setFeeRecipients(tuple[] recipients, uint8 underlyingDecimal)
events
DepositFeeDispatched
event DepositFeeDispatched(address indexed vault, address indexed recipient, uint256 depositFee)
DepositFeesCollected
event DepositFeesCollected(address indexed vault, uint256 depositFeeAmount)
FeeRecipientsSet
event FeeRecipientsSet(address indexed vault, (address recipient, uint256 depositFeeSplit, uint256 rewardFeeSplit)[] feeRecipients)
Initialized
event Initialized(uint64 version)
RewardFeeDispatched
event RewardFeeDispatched(address indexed vault, address indexed recipient, uint256 rewardFee)
RewardFeesCollected
event RewardFeesCollected(address indexed vault, uint256 rewardFeeAmount)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
AddressZero
error AddressZero()
EmptyArray
error EmptyArray()
FailedInnerCall
error FailedInnerCall()
FeeRecipientDoesNotExist
error FeeRecipientDoesNotExist(address recipient)
FeeRecipientNotUnique
error FeeRecipientNotUnique(address recipient)
InvalidInitialization
error InvalidInitialization()
MathOverflowedMulDiv
error MathOverflowedMulDiv()
NotDelegateCall
error NotDelegateCall()
NotInitializing
error NotInitializing()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
WrongDepositFeeSplit
error WrongDepositFeeSplit(uint256 totalSplit)
WrongRewardFeeSplit
error WrongRewardFeeSplit(uint256 totalSplit)
creation bytecode
0x60a060405230608052348015610013575f80fd5b5060805161143361002c5f395f6108a401526114335ff3fe608060405234801561000f575f80fd5b506004361061009b575f3560e01c80637c10c835116100635780637c10c835146101225780638129fc1c14610145578063a7b091221461014d578063d78162e91461016d578063fc5ad4d114610180575f80fd5b80630adfdcb91461009f5780632c15e0f7146100bd5780634bd43cdd146100e75780634c50c74c146100fc57806357a575241461010f575b5f80fd5b6100a7610193565b6040516100b49190610f4a565b60405180910390f35b335f9081525f805160206113de83398151915260205260409020545b6040519081526020016100b4565b6100fa6100f536600461104b565b61022e565b005b6100fa61010a366004611132565b61052e565b6100fa61011d366004611165565b610777565b335f9081525f805160206113de83398151915260205260409020600101546100d9565b6100fa6107e3565b61016061015b366004611165565b610938565b6040516100b4919061117c565b61016061017b3660046111a6565b6109bb565b6100fa61018e366004611165565b610ad6565b335f9081525f805160206113de83398151915260208181526040808420600201805482518185028101850190935280835260609592939192909184015b82821015610224575f848152602090819020604080516060810182526003860290920180546001600160a01b03168352600180820154848601526002909101549183019190915290835290920191016101d0565b5050505091505090565b81515f805160206113de833981519152905f0361025e5760405163521299a960e01b815260040160405180910390fd5b335f90815260208290526040812061027b91600290910190610ed5565b82515f908190815b8181101561046a5786818151811061029d5761029d6111c1565b602002602001015160200151846102b491906111e9565b93508681815181106102c8576102c86111c1565b602002602001015160400151836102df91906111e9565b92505f6001600160a01b03168782815181106102fd576102fd6111c1565b60200260200101515f01516001600160a01b03160361032f57604051639fabe1c160e01b815260040160405180910390fd5b5f61033b8260016111e9565b90505b828110156103e757878181518110610358576103586111c1565b60200260200101515f01516001600160a01b031688838151811061037e5761037e6111c1565b60200260200101515f01516001600160a01b0316036103df578782815181106103a9576103a96111c1565b602090810291909101015151604051634b41b89360e11b81526001600160a01b0390911660048201526024015b60405180910390fd5b60010161033e565b50335f9081526020869052604090208751600290910190889083908110610410576104106111c1565b6020908102919091018101518254600180820185555f94855293839020825160039092020180546001600160a01b0319166001600160a01b0390921691909117815591810151828401556040015160029091015501610283565b5061047685600a6112dc565b6104819060646112ea565b83146104a357604051630c1ff27f60e41b8152600481018490526024016103d6565b6104ae85600a6112dc565b6104b99060646112ea565b82146104db5760405163a056b92560e01b8152600481018390526024016103d6565b335f818152602086905260409081902090517febc41062a48d47907e2e8486279b7f846e15e7e761fad801123097acd01d016f9161051e91600290910190611301565b60405180910390a2505050505050565b610536610b3d565b335f9081525f805160206113de8339815191526020819052604082208054600182015460029092015492939092819061056d610ef3565b5f5b8281101561072857335f90815260208990526040902060020180548290811061059a5761059a6111c1565b5f91825260209182902060408051606081018252600390930290910180546001600160a01b03168352600181015493830193909352600290920154918101919091529150861561067f575f61060d83602001518b600a6105fa91906112dc565b6106059060646112ea565b8a9190610b87565b9050801561067d57825161062e906001600160a01b038d1690339084610c47565b61063881876111e9565b83516040518381529197506001600160a01b03169033907f7e4b26245f0ae2d0f0ac3f7022726c23e8d07bf808b2cdc586dcfc7031af52d99060200160405180910390a35b505b8515610720575f6106ae83604001518b600a61069b91906112dc565b6106a69060646112ea565b899190610b87565b9050801561071e5782516106cf906001600160a01b038d1690339084610c47565b6106d981866111e9565b83516040518381529196506001600160a01b03169033907fea5d534ffd5087e68b4924dfd1b5b82cb3c627b70df6f34e460619fc631c23239060200160405180910390a35b505b60010161056f565b50610733848761136b565b335f9081526020899052604090205561074c838661136b565b335f908152602098909852604090972060010196909655506107739450610ca79350505050565b5050565b335f9081525f805160206113de8339815191526020819052604082208054919284926107a49084906111e9565b909155505060405182815233907f34f2a7363b1ef64b0b62a223c88cf3f54a68686acfcb9531d7deb46004f37c46906020015b60405180910390a25050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f811580156108285750825b90505f8267ffffffffffffffff1660011480156108445750303b155b905081158015610852575080155b156108705760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561089a57845460ff60401b1916600160401b1785555b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108e3576040516327844c6960e11b815260040160405180910390fd5b6108eb610ccd565b831561093157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b610940610ef3565b335f9081525f805160206113de83398151915260208190526040909120600201805484908110610972576109726111c1565b5f91825260209182902060408051606081018252600390930290910180546001600160a01b03168352600181015493830193909352600290920154918101919091529392505050565b6109c3610ef3565b335f9081525f805160206113de8339815191526020819052604082206002015490915b81811015610ab157335f90815260208490526040902060020180546001600160a01b038716919083908110610a1d57610a1d6111c1565b5f9182526020909120600390910201546001600160a01b031603610aa957335f908152602084905260409020600201805482908110610a5e57610a5e6111c1565b5f91825260209182902060408051606081018252600390930290910180546001600160a01b031683526001810154938301939093526002909201549181019190915295945050505050565b6001016109e6565b50604051632e290d8760e21b81526001600160a01b03851660048201526024016103d6565b335f9081525f805160206113de833981519152602081905260408220600101805491928492610b069084906111e9565b909155505060405182815233907f53d351795fd40cf1a62ee5ceeeb64e86d7cd28af2202cdbbf5128a23e3d09a70906020016107d7565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00805460011901610b8157604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b5f838302815f1985870982811083820303915050805f03610bbb57838281610bb157610bb161137e565b0492505050610c40565b808411610bdb5760405163227bc15360e01b815260040160405180910390fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610ca1908590610cd7565b50505050565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b610cd5610d3d565b565b5f610ceb6001600160a01b03841683610d4d565b905080515f14158015610d0f575080806020019051810190610d0d9190611392565b155b15610d3857604051635274afe760e01b81526001600160a01b03841660048201526024016103d6565b505050565b610d45610d63565b610cd5610dac565b6060610d5a83835f610db4565b90505b92915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610cd557604051631afcd79f60e31b815260040160405180910390fd5b610ca7610d63565b606081471015610dd95760405163cd78605960e01b81523060048201526024016103d6565b5f80856001600160a01b03168486604051610df491906113b1565b5f6040518083038185875af1925050503d805f8114610e2e576040519150601f19603f3d011682016040523d82523d5f602084013e610e33565b606091505b5091509150610e43868383610e4d565b9695505050505050565b606082610e6257610e5d82610ea9565b610c40565b8151158015610e7957506001600160a01b0384163b155b15610ea257604051639996b31560e01b81526001600160a01b03851660048201526024016103d6565b5080610c40565b805115610eb95780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b5080545f8255600302905f5260205f2090810190610ed29190610f1a565b60405180606001604052805f6001600160a01b031681526020015f81526020015f81525090565b5b80821115610f465780546001600160a01b03191681555f600182018190556002820155600301610f1b565b5090565b602080825282518282018190525f9190848201906040850190845b81811015610fa857610f9583855180516001600160a01b0316825260208082015190830152604090810151910152565b9284019260609290920191600101610f65565b50909695505050505050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715610feb57610feb610fb4565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561101a5761101a610fb4565b604052919050565b6001600160a01b0381168114610ed2575f80fd5b803560ff81168114611046575f80fd5b919050565b5f80604080848603121561105d575f80fd5b833567ffffffffffffffff80821115611074575f80fd5b818601915086601f830112611087575f80fd5b813560208282111561109b5761109b610fb4565b6110a9818360051b01610ff1565b8281528181019350606092830285018201928a8411156110c7575f80fd5b948201945b838610156111165780868c0312156110e2575f80fd5b6110ea610fc8565b86356110f581611022565b815286840135848201528787013588820152855294850194938201936110cc565b509650611124888201611036565b955050505050509250929050565b5f8060408385031215611143575f80fd5b823561114e81611022565b915061115c60208401611036565b90509250929050565b5f60208284031215611175575f80fd5b5035919050565b81516001600160a01b03168152602080830151908201526040808301519082015260608101610d5d565b5f602082840312156111b6575f80fd5b8135610c4081611022565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610d5d57610d5d6111d5565b600181815b8085111561123657815f190482111561121c5761121c6111d5565b8085161561122957918102915b93841c9390800290611201565b509250929050565b5f8261124c57506001610d5d565b8161125857505f610d5d565b816001811461126e576002811461127857611294565b6001915050610d5d565b60ff841115611289576112896111d5565b50506001821b610d5d565b5060208310610133831016604e8410600b84101617156112b7575081810a610d5d565b6112c183836111fc565b805f19048211156112d4576112d46111d5565b029392505050565b5f610d5a60ff84168361123e565b8082028115828204841417610d5d57610d5d6111d5565b5f60208083016020845280855480835260409250604086019150865f5260205f205f5b8281101561135e5781546001600160a01b031684526001828101548786015260028301548686015260609094019360039092019101611324565b5091979650505050505050565b81810381811115610d5d57610d5d6111d5565b634e487b7160e01b5f52601260045260245ffd5b5f602082840312156113a2575f80fd5b81518015158114610c40575f80fd5b5f82515f5b818110156113d057602081860181015185830152016113b6565b505f92019182525091905056fefdd5e928c3467d3da929a44639dde8d54e0576a04fec4ff333caa67a6f243300a2646970667358221220ca01f90aeab99a2995c3333f55552be2181bdeb13e842c12baa5728e9944eb4d64736f6c63430008160033