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
init
This 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
setTargets
This 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
getCoinWeights
This 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
getDepositFee
This 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