2️⃣Integration with Account Cap

If an external contract wants to interact with the NAVI protocol, an account cap is required for the interaction. The account cap must be stored within the contract as a wrapped object. When calling functions—such as the supply token function—the account cap object must be passed as a parameter to enable the transaction.

Code Snippet: Account Cap Integration

public struct Vault has key, store {
    id: UID,
    account_cap: AccountCap,
    sui_index: u8,
    usdc_index: u8
}

lending_core::incentive_v2::deposit_with_account_cap(
    clock, 
    storage, 
    pool_a, 
    vault.sui_index, 
    deposit_coin, 
    inc_v1, 
    inc_v2, 
    &vault.account_cap
)

In this example, the Vault struct includes an account_cap field that is passed into the deposit_with_account_cap function to enable token deposits.

Last updated