goosefx-amm-sdk
Version:
SDK for the GooseFx AMM
31 lines (28 loc) • 5.57 kB
TypeScript
import BN from 'bn.js';
import { Program } from '@coral-xyz/anchor';
import { PublicKey, TransactionInstruction, AccountMeta } from '@solana/web3.js';
import { Gamma } from '../idl/gamma.type.js';
type DflowSegmenterParams = {
registeredSegmenter: PublicKey;
registeredRegistry: PublicKey;
};
type ReferralParams = {
referralAccount: PublicKey;
referralTokenAccountWithInputMint: PublicKey;
};
declare function makeInitUserPoolLiquidityInstruction(program: Program<Gamma>, user: PublicKey, poolState: PublicKey, partner: PublicKey | null): Promise<TransactionInstruction>;
declare function makeCreateCpmmPoolInInstruction(program: Program<Gamma>, creator: PublicKey, ammConfig: PublicKey, token0Mint: PublicKey, token1Mint: PublicKey, creatorToken0: PublicKey, creatorToken1: PublicKey, token0Program: PublicKey, token1Program: PublicKey, amountMaxA: BN, amountMaxB: BN, openTime: BN, maxTradeFeeRate: BN, volatilityFactor: BN): Promise<TransactionInstruction>;
declare function makeDepositCpmmInInstruction(program: Program<Gamma>, owner: PublicKey, poolState: PublicKey, token0Account: PublicKey, token1Account: PublicKey, token0Vault: PublicKey, token1Vault: PublicKey, vault0Mint: PublicKey, vault1Mint: PublicKey, lpAmount: BN, amountMaxA: BN, amountMaxB: BN): Promise<TransactionInstruction>;
declare function makeWithdrawCpmmInInstruction(program: Program<Gamma>, owner: PublicKey, poolState: PublicKey, token0Account: PublicKey, token1Account: PublicKey, token0Vault: PublicKey, token1Vault: PublicKey, vault0Mint: PublicKey, vault1Mint: PublicKey, lpAmount: BN, amountMintA: BN, amountMintB: BN, kaminoAccounts?: AccountMeta[]): Promise<TransactionInstruction>;
declare function makeSwapCpmmBaseInInstruction(program: Program<Gamma>, payer: PublicKey, ammConfig: PublicKey, poolState: PublicKey, inputTokenAccount: PublicKey, outputTokenAccount: PublicKey, inputVault: PublicKey, outputVault: PublicKey, inputTokenProgram: PublicKey, outputTokenProgram: PublicKey, inputTokenMint: PublicKey, outputTokenMint: PublicKey, observationState: PublicKey, amountIn: BN, amounOutMin: BN, dflowSegmenterOptions?: DflowSegmenterParams | null, referralAccounts?: ReferralParams | null): Promise<TransactionInstruction>;
declare function makeSwapCpmmBaseOutInstruction(program: Program<Gamma>, payer: PublicKey, ammConfig: PublicKey, poolState: PublicKey, inputTokenAccount: PublicKey, outputTokenAccount: PublicKey, inputVault: PublicKey, outputVault: PublicKey, inputTokenProgram: PublicKey, outputTokenProgram: PublicKey, inputTokenMint: PublicKey, outputTokenMint: PublicKey, observationState: PublicKey, amountInMax: BN, amounOut: BN, dflowSegmenterOptions?: DflowSegmenterParams | null, referralAccounts?: ReferralParams | null): Promise<TransactionInstruction>;
declare function makeSwapCpmmOracleBaseInInstruction(program: Program<Gamma>, payer: PublicKey, ammConfig: PublicKey, poolState: PublicKey, inputTokenAccount: PublicKey, outputTokenAccount: PublicKey, inputVault: PublicKey, outputVault: PublicKey, inputTokenProgram: PublicKey, outputTokenProgram: PublicKey, inputTokenMint: PublicKey, outputTokenMint: PublicKey, observationState: PublicKey, amountIn: BN, amounOutMin: BN, dflowSegmenterOptions?: DflowSegmenterParams | null, referralAccounts?: ReferralParams | null): Promise<TransactionInstruction>;
declare function makeCreateRewardsInstruction(program: Program<Gamma>, rewardProvider: PublicKey, poolState: PublicKey, rewardProvidersTokenAccount: PublicKey, rewardMint: PublicKey, startTime: BN, endTime: BN, rewardAmount: BN): Promise<TransactionInstruction>;
declare function makeClaimRewardsInstruction(program: Program<Gamma>, user: PublicKey, poolState: PublicKey, userTokenAccount: PublicKey, rewardMint: PublicKey): Promise<TransactionInstruction>;
declare function makeCalculateRewardsInstruction(program: Program<Gamma>, signer: PublicKey, user: PublicKey, poolState: PublicKey): Promise<TransactionInstruction>;
declare function makeInitializePartnerInstruction(program: Program<Gamma>, payer: PublicKey, authority: PublicKey, poolState: PublicKey, partner: PublicKey, name: string, token0TokenAccount: PublicKey, token1TokenAccount: PublicKey): Promise<TransactionInstruction>;
declare function makeUpdatePartnerInstruction(program: Program<Gamma>, authority: PublicKey, partner: PublicKey, token0TokenAccount?: PublicKey, token1TokenAccount?: PublicKey): Promise<TransactionInstruction>;
declare function makeAddPartnerInstruction(program: Program<Gamma>, ammConfig: PublicKey, poolState: PublicKey, partner: PublicKey, authority?: PublicKey): Promise<TransactionInstruction>;
declare function makeCalculatePartnerFeesInstruction(program: Program<Gamma>, poolState: PublicKey): Promise<TransactionInstruction>;
declare function makeClaimPartnerFeesInstruction(program: Program<Gamma>, poolState: PublicKey, partner: PublicKey, token0Vault: PublicKey, token1Vault: PublicKey, vault0Mint: PublicKey, vault1Mint: PublicKey, token0TokenAccount?: PublicKey, token1TokenAccount?: PublicKey): Promise<TransactionInstruction>;
export { makeAddPartnerInstruction, makeCalculatePartnerFeesInstruction, makeCalculateRewardsInstruction, makeClaimPartnerFeesInstruction, makeClaimRewardsInstruction, makeCreateCpmmPoolInInstruction, makeCreateRewardsInstruction, makeDepositCpmmInInstruction, makeInitUserPoolLiquidityInstruction, makeInitializePartnerInstruction, makeSwapCpmmBaseInInstruction, makeSwapCpmmBaseOutInstruction, makeSwapCpmmOracleBaseInInstruction, makeUpdatePartnerInstruction, makeWithdrawCpmmInInstruction };