@marinade.finance/kamino-sdk
Version:
37 lines (36 loc) • 1.46 kB
TypeScript
import { TransactionInstruction, PublicKey } from '@solana/web3.js';
import BN from 'bn.js';
export interface CollectProtocolFeeArgs {
amount0Requested: BN;
amount1Requested: BN;
}
export interface CollectProtocolFeeAccounts {
/** Only admin or config owner can collect fee now */
owner: PublicKey;
/** Pool state stores accumulated protocol fee amount */
poolState: PublicKey;
/** Amm config account stores owner */
ammConfig: PublicKey;
/** The address that holds pool tokens for token_0 */
tokenVault0: PublicKey;
/** The address that holds pool tokens for token_1 */
tokenVault1: PublicKey;
/** The address that receives the collected token_0 protocol fees */
recipientTokenAccount0: PublicKey;
/** The address that receives the collected token_1 protocol fees */
recipientTokenAccount1: PublicKey;
/** The SPL program to perform token transfers */
tokenProgram: PublicKey;
}
export declare const layout: any;
/**
* Collect the protocol fee accrued to the pool
*
* # Arguments
*
* * `ctx` - The context of accounts
* * `amount_0_requested` - The maximum amount of token_0 to send, can be 0 to collect fees in only token_1
* * `amount_1_requested` - The maximum amount of token_1 to send, can be 0 to collect fees in only token_0
*
*/
export declare function collectProtocolFee(args: CollectProtocolFeeArgs, accounts: CollectProtocolFeeAccounts): TransactionInstruction;