FeeOracle
This contract implements a fee oracle that provides deposit and withdrawal fees to be used by the Vault contract. The fees are based on the current weight of a coin in the vault compared to its target
Functions
init
initThis function is the initializer of the contract and is only callable by the owner. It sets the address registry, the maximum fee, and the maximum bonus.
setTargets
setTargetsThis function sets the targets for each coin. It is only callable by the owner and requires that the weight array is normalized (total weight should be 100).
getCoinWeights
getCoinWeightsThis function returns the current weight of each coin in the vault and the total value locked (TV in the vault and its target weight. The function requires a valid L) in USDC. The function requires a valid signature from the oracle signer, and the nonce provided in the function call should not have been activated before.
getDepositFee
getDepositFeeThis function returns the deposit fee for a specified coin based on the current weight of the coin in the vault and its target weight. The function requires a valid signature from the oracle signer, and the nonce provided in the function call should not have been activated before.
Last updated