@rainfi/sdk
Version:
This package is used to interact with Rain.fi protocol on Solana
103 lines (102 loc) • 3.42 kB
TypeScript
/**
* This code was GENERATED using the solita package.
* Please DO NOT EDIT THIS FILE, instead rerun solita to update it or write a wrapper to add functionality.
*
* See: https://github.com/metaplex-foundation/solita
*/
import * as beet from '@metaplex-foundation/beet';
import * as web3 from '@solana/web3.js';
/**
* @category Instructions
* @category MarginSwap
* @category generated
*/
export type MarginSwapInstructionArgs = {
collectionId: number;
duration: beet.bignum;
interest: beet.bignum;
amountFromPool: beet.bignum;
jupData: Uint8Array;
slippage: number;
whitelistIndex: number;
};
/**
* @category Instructions
* @category MarginSwap
* @category generated
*/
export declare const marginSwapStruct: beet.FixableBeetArgsStruct<MarginSwapInstructionArgs & {
instructionDiscriminator: number[];
}>;
/**
* Accounts required by the _marginSwap_ instruction
*
* @property [_writable_, **signer**] signer
* @property [_writable_] signerStats
* @property [_writable_] signerTaPoolCurrency
* @property [_writable_] signerTaCurrencyOut
* @property [_writable_, **signer**] loan
* @property [_writable_] collection
* @property [_writable_] pool
* @property [_writable_] authority
* @property [_writable_] vault
* @property [] poolCurrency
* @property [] collateralCurrency
* @property [_writable_] collateralVaultTa
* @property [_writable_] assetManager
* @property [] pythInFeed
* @property [] pythOutFeed
* @property [_writable_] rainOutTa
* @property [_writable_] rainTa
* @property [] jupiterProgram
* @property [] associatedTokenProgram
* @property [_writable_] referrerTa (optional)
* @property [] lookupTable (optional)
* @category Instructions
* @category MarginSwap
* @category generated
*/
export type MarginSwapInstructionAccounts = {
signer: web3.PublicKey;
signerStats: web3.PublicKey;
signerTaPoolCurrency: web3.PublicKey;
signerTaCurrencyOut: web3.PublicKey;
loan: web3.PublicKey;
collection: web3.PublicKey;
pool: web3.PublicKey;
authority: web3.PublicKey;
vault: web3.PublicKey;
poolCurrency: web3.PublicKey;
collateralCurrency: web3.PublicKey;
collateralVaultTa: web3.PublicKey;
assetManager: web3.PublicKey;
pythInFeed: web3.PublicKey;
pythOutFeed: web3.PublicKey;
rainOutTa: web3.PublicKey;
rainTa: web3.PublicKey;
jupiterProgram: web3.PublicKey;
systemProgram?: web3.PublicKey;
tokenProgram?: web3.PublicKey;
associatedTokenProgram: web3.PublicKey;
rent?: web3.PublicKey;
referrerTa?: web3.PublicKey;
lookupTable?: web3.PublicKey;
anchorRemainingAccounts?: web3.AccountMeta[];
};
export declare const marginSwapInstructionDiscriminator: number[];
/**
* Creates a _MarginSwap_ instruction.
*
* Optional accounts that are not provided will be omitted from the accounts
* array passed with the instruction.
* An optional account that is set cannot follow an optional account that is unset.
* Otherwise an Error is raised.
*
* @param accounts that will be accessed while the instruction is processed
* @param args to provide as instruction data to the program
*
* @category Instructions
* @category MarginSwap
* @category generated
*/
export declare function createMarginSwapInstruction(accounts: MarginSwapInstructionAccounts, args: MarginSwapInstructionArgs, programId?: web3.PublicKey): web3.TransactionInstruction;