/** * This code was AUTOGENERATED using the Codama library. * Please DO NOT EDIT THIS FILE, instead use visitors * to add features, then rerun Codama to update it. * * @see https://github.com/codama-idl/codama */ import { type AccountMeta, type AccountSignerMeta, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type WritableSignerAccount } from "@solana/kit"; import { PERPETUALS_PROGRAM_ADDRESS } from "../programs"; import { type OracleParams, type OracleParamsArgs, type Permissions, type PermissionsArgs, type PricingParams, type PricingParamsArgs } from "../types"; export declare const ADD_CUSTODY_DISCRIMINATOR: Uint8Array; export declare function getAddCustodyDiscriminatorBytes(): ReadonlyUint8Array; export type AddCustodyInstruction = string, TAccountTransferAuthority extends string | AccountMeta = string, TAccountPerpetuals extends string | AccountMeta = string, TAccountPool extends string | AccountMeta = string, TAccountCustody extends string | AccountMeta = string, TAccountCustodyTokenAccount extends string | AccountMeta = string, TAccountCustodyTokenMint extends string | AccountMeta = string, TAccountSystemProgram extends string | AccountMeta = "11111111111111111111111111111111", TAccountTokenProgram extends string | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TAccountRent extends string | AccountMeta = "SysvarRent111111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountAdmin extends string ? WritableSignerAccount & AccountSignerMeta : TAccountAdmin, TAccountTransferAuthority extends string ? ReadonlyAccount : TAccountTransferAuthority, TAccountPerpetuals extends string ? ReadonlyAccount : TAccountPerpetuals, TAccountPool extends string ? WritableAccount : TAccountPool, TAccountCustody extends string ? WritableAccount : TAccountCustody, TAccountCustodyTokenAccount extends string ? WritableAccount : TAccountCustodyTokenAccount, TAccountCustodyTokenMint extends string ? ReadonlyAccount : TAccountCustodyTokenMint, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, TAccountTokenProgram extends string ? ReadonlyAccount : TAccountTokenProgram, TAccountRent extends string ? ReadonlyAccount : TAccountRent, ...TRemainingAccounts ]>; export type AddCustodyInstructionData = { discriminator: ReadonlyUint8Array; isStable: boolean; oracle: OracleParams; pricing: PricingParams; permissions: Permissions; hourlyFundingBps: bigint; targetRatioBps: bigint; }; export type AddCustodyInstructionDataArgs = { isStable: boolean; oracle: OracleParamsArgs; pricing: PricingParamsArgs; permissions: PermissionsArgs; hourlyFundingBps: number | bigint; targetRatioBps: number | bigint; }; export declare function getAddCustodyInstructionDataEncoder(): FixedSizeEncoder; export declare function getAddCustodyInstructionDataDecoder(): FixedSizeDecoder; export declare function getAddCustodyInstructionDataCodec(): FixedSizeCodec; export type AddCustodyInput = { admin: TransactionSigner; transferAuthority: Address; perpetuals: Address; pool: Address; custody: Address; custodyTokenAccount: Address; custodyTokenMint: Address; systemProgram?: Address; tokenProgram?: Address; rent?: Address; isStable: AddCustodyInstructionDataArgs["isStable"]; oracle: AddCustodyInstructionDataArgs["oracle"]; pricing: AddCustodyInstructionDataArgs["pricing"]; permissions: AddCustodyInstructionDataArgs["permissions"]; hourlyFundingBps: AddCustodyInstructionDataArgs["hourlyFundingBps"]; targetRatioBps: AddCustodyInstructionDataArgs["targetRatioBps"]; }; export declare function getAddCustodyInstruction(input: AddCustodyInput, config?: { programAddress?: TProgramAddress; }): AddCustodyInstruction; export type ParsedAddCustodyInstruction = { programAddress: Address; accounts: { admin: TAccountMetas[0]; transferAuthority: TAccountMetas[1]; perpetuals: TAccountMetas[2]; pool: TAccountMetas[3]; custody: TAccountMetas[4]; custodyTokenAccount: TAccountMetas[5]; custodyTokenMint: TAccountMetas[6]; systemProgram: TAccountMetas[7]; tokenProgram: TAccountMetas[8]; rent: TAccountMetas[9]; }; data: AddCustodyInstructionData; }; export declare function parseAddCustodyInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedAddCustodyInstruction; //# sourceMappingURL=addCustody.d.ts.map