Fee Vaults

Are components where the protocol fees are collected from the FLOOP and CAVIAR product ecosystems

Component Addresses

FLOOP Ecosystem we have 2 components:
component_rdx1cqvfnpl0ld49rhwyhu4v3r05962yeplmasggtzlu9r2dmh7amx6vpn (v1 phasing out)
component_rdx1crmhkatyjrw0070nsusdm4adwr5s3eaysmevxlvaxx6fspxkwdhlua (v2)
CAVIAR Ecosystem has no fee vaults set up yet as the first product pXRD hasn't been launched yet
<coming soon>

Component Parameters

coming soon

Useful Component Arbitrage Methods

There are three useful methods anyone can call to get some useful information about arbitrage opportunities:

get_swap_vault_amount

This method returns the amount of TOKENS for a specific RESOURCE_ADDRESS that are available for swapping for FLOOP. This amount increases over time as it is the protocol fees are collected from the Aggregator, LSU Pool, Shape Liquidity and the Order Book. manifest:
CALL_METHOD
Address("{COMPONENT_ADDRESS_FEE_VAULTS}")
"get_swap_vault_amount"
Address("{RESOURCE_ADDRESS}");

get_swap_price

This method tells you how much FLOOP you need to send for a RESOURCE_ADDRESS to received the amount of TOKENS from the RESOURCE_ADDRESS vault, (returned from the get_swap_vault_amount above). This amount of FLOOP decreases over time encouraging users to empty vaults. manifest:
CALL_METHOD
Address("{COMPONENT_ADDRESS_FEE_VAULT}")
"get_swap_price"
Address("{RESOURCE_ADDRESS}");

swap

Finally if you want to send the amount of FLOOP (calculated from get_swap_price) for the amount of TOKENS (calculated from get_swap_price) for RESOURCE_ADDRESS then you want to do a swap! manifest:
CALL_METHOD
Address("{YOUR_ACCOUNT_ADDRESS}")
"withdraw"
Address("resource_rdx1t5pyvlaas0ljxy0wytm5gvyamyv896m69njqdmm2stukr3xexc2up9")
Decimal("{AMOUNT_OF_FLOOP}");
TAKE_FROM_WORKTOP
Address("resource_rdx1t5pyvlaas0ljxy0wytm5gvyamyv896m69njqdmm2stukr3xexc2up9")
Decimal("{AMOUNT_OF_FLOOP}")
Bucket("my_bucket_of_floop");
CALL_METHOD
Address("{COMPONENT_ADDRESS_FEE_VAULT}")
"swap"
Bucket("my_bucket_of_floop")
Address("{RESOURCE_ADDRESS}");
CALL_METHOD
Address("{YOUR_ACCOUNT_ADDRESS}")
"deposit_batch"
Expression("ENTIRE_WORKTOP");