Fee Vaults

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

Component Addresses

The FLOOP Ecosystem has 2 components:

component_rdx1cqvfnpl0ld49rhwyhu4v3r05962yeplmasggtzlu9r2dmh7amx6vpn (v1 phasing out)
component_rdx1crmhkatyjrw0070nsusdm4adwr5s3eaysmevxlvaxx6fspxkwdhlua (v2)

The CAVIAR Ecosystem has no fee vaults set up yet as no products have been launched.

<coming soon>

Component Parameters

coming soon

Useful Component Arbitrage Methods

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

get_swap_vault_amount

This method returns the amount of TOKENS of a specific RESOURCE_ADDRESS that are available when swapped for FLOOP. This amount increases over time as 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 given RESOURCE_ADDRESS to receive 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 the fee 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");

Last updated