UNPKG

goosefx-amm-sdk

Version:

SDK for the GooseFx AMM

31 lines (28 loc) 5.57 kB
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 };