@rainfi/sdk
Version:
This package is used to interact with Rain.fi protocol on Solana
111 lines (110 loc) • 3.65 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 ExtendLoan
* @category generated
*/
export type ExtendLoanInstructionArgs = {
collectionId: number;
duration: beet.bignum;
interest: beet.bignum;
amountInLamports: beet.bignum;
slippage: number;
whitelistIndex: number;
};
/**
* @category Instructions
* @category ExtendLoan
* @category generated
*/
export declare const extendLoanStruct: beet.BeetArgsStruct<ExtendLoanInstructionArgs & {
instructionDiscriminator: number[];
}>;
/**
* Accounts required by the _extendLoan_ instruction
*
* @property [_writable_, **signer**] signer
* @property [_writable_] signerStats
* @property [_writable_] signerTa
* @property [_writable_] nftAta
* @property [_writable_] nftMint
* @property [_writable_] nftMetadata
* @property [_writable_] loan
* @property [_writable_, **signer**] newLoan
* @property [] whitelist
* @property [_writable_] vaultTokenAccount
* @property [_writable_] collection
* @property [_writable_] poolOwner
* @property [_writable_] pool
* @property [_writable_] authority
* @property [_writable_] vault
* @property [] poolCurrency
* @property [_writable_] poolOwnerAta
* @property [] pythPoolFeed
* @property [] pythSolFeed
* @property [_writable_] rainTa
* @property [_writable_] referrerTa (optional)
* @property [] instructions
* @property [] authorizationRulesProgram
* @property [] metadataProgram
* @property [] associatedTokenProgram
* @property [] lookupTable (optional)
* @category Instructions
* @category ExtendLoan
* @category generated
*/
export type ExtendLoanInstructionAccounts = {
signer: web3.PublicKey;
signerStats: web3.PublicKey;
signerTa: web3.PublicKey;
nftAta: web3.PublicKey;
nftMint: web3.PublicKey;
nftMetadata: web3.PublicKey;
loan: web3.PublicKey;
newLoan: web3.PublicKey;
whitelist: web3.PublicKey;
vaultTokenAccount: web3.PublicKey;
collection: web3.PublicKey;
poolOwner: web3.PublicKey;
pool: web3.PublicKey;
authority: web3.PublicKey;
vault: web3.PublicKey;
poolCurrency: web3.PublicKey;
poolOwnerAta: web3.PublicKey;
pythPoolFeed: web3.PublicKey;
pythSolFeed: web3.PublicKey;
rainTa: web3.PublicKey;
referrerTa?: web3.PublicKey;
instructions: web3.PublicKey;
authorizationRulesProgram: web3.PublicKey;
metadataProgram: web3.PublicKey;
systemProgram?: web3.PublicKey;
tokenProgram?: web3.PublicKey;
associatedTokenProgram: web3.PublicKey;
lookupTable?: web3.PublicKey;
anchorRemainingAccounts?: web3.AccountMeta[];
};
export declare const extendLoanInstructionDiscriminator: number[];
/**
* Creates a _ExtendLoan_ 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 ExtendLoan
* @category generated
*/
export declare function createExtendLoanInstruction(accounts: ExtendLoanInstructionAccounts, args: ExtendLoanInstructionArgs, programId?: web3.PublicKey): web3.TransactionInstruction;