micro-sol-signer
Version:
Create, sign & decode Solana transactions with minimum deps
1,121 lines • 942 kB
TypeScript
import * as P from 'micro-packed';
import * as idl from './idl/index.ts';
import { Decimal, PRECISION, pubKey, shortU16 } from './idl/index.ts';
export { Offchain } from './offchain.ts';
export { Decimal, PRECISION, pubKey, shortU16 };
export type Bytes = Uint8Array;
export declare function validateAddress(address: string): void;
export type Account = {
address: string;
sign: boolean;
write: boolean;
};
export type Instruction = {
program: string;
keys: Account[];
data: Bytes;
};
export type Message = {
feePayer: string;
blockhash: string;
instructions: Instruction[];
};
declare const MessageVersion: P.CoderType<number | 'legacy'>;
export declare const MessageRaw: P.CoderType<P.Values<{
legacy: {
TAG: "legacy";
data: P.StructInput<{
header: P.StructInput<{
requiredSignatures: /*elided*/ any;
readSigned: /*elided*/ any;
readUnsigned: /*elided*/ any;
}>;
keys: string[];
blockhash: string;
instructions: P.StructInput<{
programIdx: /*elided*/ any;
keys: /*elided*/ any;
data: /*elided*/ any;
}>[];
}>;
};
0: {
TAG: 0;
data: P.StructInput<{
header: P.StructInput<{
requiredSignatures: /*elided*/ any;
readSigned: /*elided*/ any;
readUnsigned: /*elided*/ any;
}>;
keys: string[];
blockhash: string;
instructions: P.StructInput<{
programIdx: /*elided*/ any;
keys: /*elided*/ any;
data: /*elided*/ any;
}>[];
ALT: P.StructInput<{
account: /*elided*/ any;
writableIndexes: /*elided*/ any;
readonlyIndexes: /*elided*/ any;
}>[];
}>;
};
}>>;
type Version = P.UnwrapCoder<typeof MessageRaw>['TAG'];
type MessageType = {
version: P.UnwrapCoder<typeof MessageVersion>;
feePayer: string;
blockhash: string;
instructions: Instruction[];
};
export declare const Message: P.CoderType<MessageType>;
export declare const TransactionRaw: P.CoderType<P.StructInput<{
signatures: P.Bytes[];
msg: P.Values<{
legacy: {
TAG: "legacy";
data: P.StructInput<{
header: /*elided*/ any;
keys: /*elided*/ any;
blockhash: /*elided*/ any;
instructions: /*elided*/ any;
}>;
};
0: {
TAG: 0;
data: P.StructInput<{
header: /*elided*/ any;
keys: /*elided*/ any;
blockhash: /*elided*/ any;
instructions: /*elided*/ any;
ALT: /*elided*/ any;
}>;
};
}>;
}>>;
export declare const Transaction: P.CoderType<{
signatures: {
[k: string]: P.Bytes;
};
msg: MessageType;
}>;
export declare function AddressLookupTables(tables: Record<string, string[]>): {
resolve: (tx: P.UnwrapCoder<typeof Transaction>) => {
signatures: {
[k: string]: P.Bytes;
};
msg: {
instructions: {
program: string;
keys: {
address: string;
sign: boolean;
write: boolean;
}[];
data: Bytes;
}[];
version: P.UnwrapCoder<typeof MessageVersion>;
feePayer: string;
blockhash: string;
};
};
compress(tx: P.UnwrapCoder<typeof Transaction>): {
signatures: {
[k: string]: P.Bytes;
};
msg: {
instructions: {
program: string;
keys: {
address: string;
sign: boolean;
write: boolean;
}[];
data: Bytes;
}[];
version: P.UnwrapCoder<typeof MessageVersion>;
feePayer: string;
blockhash: string;
};
};
};
export declare const PROGRAMS: {
memo: {
program: {
name: "memo";
contract: "MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr";
types: idl.GetDefinedTypes<readonly []>;
pdas: {};
instructions: idl.ParsedInstructions<readonly [{
readonly kind: "instructionNode";
readonly accounts: readonly [];
readonly arguments: readonly [{
readonly kind: "instructionArgumentNode";
readonly name: "memo";
readonly type: {
readonly kind: "stringTypeNode";
readonly encoding: "utf8";
};
readonly docs: readonly [];
}];
readonly remainingAccounts: readonly [{
readonly kind: "instructionRemainingAccountsNode";
readonly value: {
readonly kind: "argumentValueNode";
readonly name: "signers";
};
readonly isOptional: true;
readonly isSigner: true;
}];
readonly name: "addMemo";
readonly idlName: "addMemo";
readonly docs: readonly [];
readonly optionalAccountStrategy: "programId";
}], idl.GetDefinedTypes<readonly []>>;
accounts: idl.AccountDefinitions<readonly [], idl.GetDefinedTypes<readonly []>>;
};
additionalPrograms: {};
};
solanaConfig: {
program: {
name: "solanaConfig";
contract: "Config1111111111111111111111111111111111111";
types: idl.GetDefinedTypes<readonly [{
readonly kind: "definedTypeNode";
readonly name: "configKeys";
readonly type: {
readonly kind: "arrayTypeNode";
readonly item: {
readonly kind: "tupleTypeNode";
readonly items: readonly [{
readonly kind: "publicKeyTypeNode";
}, {
readonly kind: "booleanTypeNode";
readonly size: {
readonly kind: "numberTypeNode";
readonly format: "u8";
readonly endian: "le";
};
}];
};
readonly count: {
readonly kind: "prefixedCountNode";
readonly prefix: {
readonly kind: "numberTypeNode";
readonly format: "shortU16";
readonly endian: "le";
};
};
};
readonly docs: readonly ["A collection of keys to be stored in Config account data.", "Each key tuple comprises a unique `Pubkey` identifier,", "and `bool` whether that key is a signer of the data."];
}]>;
pdas: {};
instructions: idl.ParsedInstructions<readonly [{
readonly kind: "instructionNode";
readonly accounts: readonly [{
readonly kind: "instructionAccountNode";
readonly name: "configAccount";
readonly isWritable: true;
readonly isSigner: "either";
readonly isOptional: false;
readonly docs: readonly ["The config account to be modified.", "Must sign during the first call to `store` to initialize the account,", "or if no signers are configured in the config data."];
}];
readonly arguments: readonly [{
readonly kind: "instructionArgumentNode";
readonly name: "keys";
readonly type: {
readonly kind: "definedTypeLinkNode";
readonly name: "configKeys";
};
readonly docs: readonly ["List of pubkeys to store in the config account,", "and whether each pubkey needs to sign subsequent calls to `store`.", "Non-signer pubkeys do not need to be passed to the program as accounts."];
}, {
readonly kind: "instructionArgumentNode";
readonly name: "data";
readonly type: {
readonly kind: "bytesTypeNode";
};
readonly docs: readonly ["Arbitrary data to store in the config account."];
}];
readonly remainingAccounts: readonly [{
readonly kind: "instructionRemainingAccountsNode";
readonly value: {
readonly kind: "argumentValueNode";
readonly name: "signers";
};
readonly isOptional: true;
readonly isSigner: true;
}];
readonly name: "store";
readonly docs: readonly ["Stores keys and data in a config account.", "Keys can be marked as signer or non-signer.", "Only non-signer keys and data can be updated. Signer keys are immutable."];
readonly optionalAccountStrategy: "omitted";
}], idl.GetDefinedTypes<readonly [{
readonly kind: "definedTypeNode";
readonly name: "configKeys";
readonly type: {
readonly kind: "arrayTypeNode";
readonly item: {
readonly kind: "tupleTypeNode";
readonly items: readonly [{
readonly kind: "publicKeyTypeNode";
}, {
readonly kind: "booleanTypeNode";
readonly size: {
readonly kind: "numberTypeNode";
readonly format: "u8";
readonly endian: "le";
};
}];
};
readonly count: {
readonly kind: "prefixedCountNode";
readonly prefix: {
readonly kind: "numberTypeNode";
readonly format: "shortU16";
readonly endian: "le";
};
};
};
readonly docs: readonly ["A collection of keys to be stored in Config account data.", "Each key tuple comprises a unique `Pubkey` identifier,", "and `bool` whether that key is a signer of the data."];
}]>>;
accounts: idl.AccountDefinitions<readonly [{
readonly kind: "accountNode";
readonly data: {
readonly kind: "structTypeNode";
readonly fields: readonly [{
readonly kind: "structFieldTypeNode";
readonly name: "keys";
readonly type: {
readonly kind: "definedTypeLinkNode";
readonly name: "configKeys";
};
readonly docs: readonly ["List of pubkeys stored in the config account,", "and whether each pubkey needs to sign subsequent calls to `store`."];
}, {
readonly kind: "structFieldTypeNode";
readonly name: "data";
readonly type: {
readonly kind: "bytesTypeNode";
};
readonly docs: readonly ["Arbitrary data to store in the config account."];
}];
};
readonly name: "config";
readonly docs: readonly [];
}], idl.GetDefinedTypes<readonly [{
readonly kind: "definedTypeNode";
readonly name: "configKeys";
readonly type: {
readonly kind: "arrayTypeNode";
readonly item: {
readonly kind: "tupleTypeNode";
readonly items: readonly [{
readonly kind: "publicKeyTypeNode";
}, {
readonly kind: "booleanTypeNode";
readonly size: {
readonly kind: "numberTypeNode";
readonly format: "u8";
readonly endian: "le";
};
}];
};
readonly count: {
readonly kind: "prefixedCountNode";
readonly prefix: {
readonly kind: "numberTypeNode";
readonly format: "shortU16";
readonly endian: "le";
};
};
};
readonly docs: readonly ["A collection of keys to be stored in Config account data.", "Each key tuple comprises a unique `Pubkey` identifier,", "and `bool` whether that key is a signer of the data."];
}]>>;
};
additionalPrograms: {};
};
computeBudget: {
program: {
name: "computeBudget";
contract: "ComputeBudget111111111111111111111111111111";
types: idl.GetDefinedTypes<readonly []>;
pdas: {};
instructions: idl.ParsedInstructions<readonly [{
readonly kind: "instructionNode";
readonly accounts: readonly [];
readonly arguments: readonly [{
readonly kind: "instructionArgumentNode";
readonly name: "discriminator";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u8";
readonly endian: "le";
};
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "numberValueNode";
readonly number: 0;
};
readonly defaultValueStrategy: "omitted";
}, {
readonly kind: "instructionArgumentNode";
readonly name: "units";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u32";
readonly endian: "le";
};
readonly docs: readonly ["Units to request for transaction-wide compute."];
}, {
readonly kind: "instructionArgumentNode";
readonly name: "additionalFee";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u32";
readonly endian: "le";
};
readonly docs: readonly ["Prioritization fee lamports."];
}];
readonly discriminators: readonly [{
readonly kind: "fieldDiscriminatorNode";
readonly name: "discriminator";
readonly offset: 0;
}];
readonly name: "requestUnits";
readonly idlName: "requestUnits";
readonly docs: readonly [];
readonly optionalAccountStrategy: "programId";
}, {
readonly kind: "instructionNode";
readonly accounts: readonly [];
readonly arguments: readonly [{
readonly kind: "instructionArgumentNode";
readonly name: "discriminator";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u8";
readonly endian: "le";
};
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "numberValueNode";
readonly number: 1;
};
readonly defaultValueStrategy: "omitted";
}, {
readonly kind: "instructionArgumentNode";
readonly name: "bytes";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u32";
readonly endian: "le";
};
readonly docs: readonly ["Requested transaction-wide program heap size in bytes.", "Must be multiple of 1024. Applies to each program, including CPIs."];
}];
readonly discriminators: readonly [{
readonly kind: "fieldDiscriminatorNode";
readonly name: "discriminator";
readonly offset: 0;
}];
readonly name: "requestHeapFrame";
readonly idlName: "requestHeapFrame";
readonly docs: readonly [];
readonly optionalAccountStrategy: "programId";
}, {
readonly kind: "instructionNode";
readonly accounts: readonly [];
readonly arguments: readonly [{
readonly kind: "instructionArgumentNode";
readonly name: "discriminator";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u8";
readonly endian: "le";
};
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "numberValueNode";
readonly number: 2;
};
readonly defaultValueStrategy: "omitted";
}, {
readonly kind: "instructionArgumentNode";
readonly name: "units";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u32";
readonly endian: "le";
};
readonly docs: readonly ["Transaction-wide compute unit limit."];
}];
readonly discriminators: readonly [{
readonly kind: "fieldDiscriminatorNode";
readonly name: "discriminator";
readonly offset: 0;
}];
readonly name: "setComputeUnitLimit";
readonly idlName: "setComputeUnitLimit";
readonly docs: readonly [];
readonly optionalAccountStrategy: "programId";
}, {
readonly kind: "instructionNode";
readonly accounts: readonly [];
readonly arguments: readonly [{
readonly kind: "instructionArgumentNode";
readonly name: "discriminator";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u8";
readonly endian: "le";
};
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "numberValueNode";
readonly number: 3;
};
readonly defaultValueStrategy: "omitted";
}, {
readonly kind: "instructionArgumentNode";
readonly name: "microLamports";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u64";
readonly endian: "le";
};
readonly docs: readonly ["Transaction compute unit price used for prioritization fees."];
}];
readonly discriminators: readonly [{
readonly kind: "fieldDiscriminatorNode";
readonly name: "discriminator";
readonly offset: 0;
}];
readonly name: "setComputeUnitPrice";
readonly idlName: "setComputeUnitPrice";
readonly docs: readonly [];
readonly optionalAccountStrategy: "programId";
}, {
readonly kind: "instructionNode";
readonly accounts: readonly [];
readonly arguments: readonly [{
readonly kind: "instructionArgumentNode";
readonly name: "discriminator";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u8";
readonly endian: "le";
};
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "numberValueNode";
readonly number: 4;
};
readonly defaultValueStrategy: "omitted";
}, {
readonly kind: "instructionArgumentNode";
readonly name: "accountDataSizeLimit";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u32";
readonly endian: "le";
};
readonly docs: readonly [];
}];
readonly discriminators: readonly [{
readonly kind: "fieldDiscriminatorNode";
readonly name: "discriminator";
readonly offset: 0;
}];
readonly name: "setLoadedAccountsDataSizeLimit";
readonly idlName: "setLoadedAccountsDataSizeLimit";
readonly docs: readonly [];
readonly optionalAccountStrategy: "programId";
}], idl.GetDefinedTypes<readonly []>>;
accounts: idl.AccountDefinitions<readonly [], idl.GetDefinedTypes<readonly []>>;
};
additionalPrograms: {};
};
addressLookupTable: {
program: {
name: "addressLookupTable";
contract: "AddressLookupTab1e1111111111111111111111111";
types: idl.GetDefinedTypes<readonly []>;
pdas: {
addressLookupTable: (value: {
authority: string;
recentSlot: bigint;
}) => string;
};
instructions: idl.ParsedInstructions<readonly [{
readonly kind: "instructionNode";
readonly accounts: readonly [{
readonly kind: "instructionAccountNode";
readonly name: "address";
readonly isWritable: true;
readonly isSigner: false;
readonly isOptional: false;
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "pdaValueNode";
readonly pda: {
readonly kind: "pdaLinkNode";
readonly name: "addressLookupTable";
};
readonly seeds: readonly [{
readonly kind: "pdaSeedValueNode";
readonly name: "authority";
readonly value: {
readonly kind: "accountValueNode";
readonly name: "authority";
};
}, {
readonly kind: "pdaSeedValueNode";
readonly name: "recentSlot";
readonly value: {
readonly kind: "argumentValueNode";
readonly name: "recentSlot";
};
}];
};
}, {
readonly kind: "instructionAccountNode";
readonly name: "authority";
readonly isWritable: false;
readonly isSigner: true;
readonly isOptional: false;
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "identityValueNode";
};
}, {
readonly kind: "instructionAccountNode";
readonly name: "payer";
readonly isWritable: true;
readonly isSigner: true;
readonly isOptional: false;
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "accountValueNode";
readonly name: "authority";
};
}, {
readonly kind: "instructionAccountNode";
readonly name: "systemProgram";
readonly isWritable: false;
readonly isSigner: false;
readonly isOptional: false;
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "publicKeyValueNode";
readonly publicKey: "11111111111111111111111111111111";
readonly identifier: "splSystem";
};
}];
readonly arguments: readonly [{
readonly kind: "instructionArgumentNode";
readonly name: "discriminator";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u32";
readonly endian: "le";
};
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "numberValueNode";
readonly number: 0;
};
readonly defaultValueStrategy: "omitted";
}, {
readonly kind: "instructionArgumentNode";
readonly name: "recentSlot";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u64";
readonly endian: "le";
};
readonly docs: readonly [];
}, {
readonly kind: "instructionArgumentNode";
readonly name: "bump";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u8";
readonly endian: "le";
};
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "accountBumpValueNode";
readonly name: "address";
};
}];
readonly byteDeltas: readonly [{
readonly kind: "instructionByteDeltaNode";
readonly value: {
readonly kind: "numberValueNode";
readonly number: 56;
};
readonly withHeader: true;
}];
readonly discriminators: readonly [{
readonly kind: "fieldDiscriminatorNode";
readonly name: "discriminator";
readonly offset: 0;
}];
readonly name: "createLookupTable";
readonly idlName: "CreateLookupTable";
readonly docs: readonly [];
readonly optionalAccountStrategy: "programId";
}, {
readonly kind: "instructionNode";
readonly accounts: readonly [{
readonly kind: "instructionAccountNode";
readonly name: "address";
readonly isWritable: true;
readonly isSigner: false;
readonly isOptional: false;
readonly docs: readonly [];
}, {
readonly kind: "instructionAccountNode";
readonly name: "authority";
readonly isWritable: false;
readonly isSigner: true;
readonly isOptional: false;
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "identityValueNode";
};
}];
readonly arguments: readonly [{
readonly kind: "instructionArgumentNode";
readonly name: "discriminator";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u32";
readonly endian: "le";
};
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "numberValueNode";
readonly number: 1;
};
readonly defaultValueStrategy: "omitted";
}];
readonly discriminators: readonly [{
readonly kind: "fieldDiscriminatorNode";
readonly name: "discriminator";
readonly offset: 0;
}];
readonly name: "freezeLookupTable";
readonly idlName: "FreezeLookupTable";
readonly docs: readonly [];
readonly optionalAccountStrategy: "programId";
}, {
readonly kind: "instructionNode";
readonly accounts: readonly [{
readonly kind: "instructionAccountNode";
readonly name: "address";
readonly isWritable: true;
readonly isSigner: false;
readonly isOptional: false;
readonly docs: readonly [];
}, {
readonly kind: "instructionAccountNode";
readonly name: "authority";
readonly isWritable: false;
readonly isSigner: true;
readonly isOptional: false;
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "identityValueNode";
};
}, {
readonly kind: "instructionAccountNode";
readonly name: "payer";
readonly isWritable: true;
readonly isSigner: true;
readonly isOptional: false;
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "payerValueNode";
};
}, {
readonly kind: "instructionAccountNode";
readonly name: "systemProgram";
readonly isWritable: false;
readonly isSigner: false;
readonly isOptional: false;
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "publicKeyValueNode";
readonly publicKey: "11111111111111111111111111111111";
readonly identifier: "splSystem";
};
}];
readonly arguments: readonly [{
readonly kind: "instructionArgumentNode";
readonly name: "discriminator";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u32";
readonly endian: "le";
};
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "numberValueNode";
readonly number: 2;
};
readonly defaultValueStrategy: "omitted";
}, {
readonly kind: "instructionArgumentNode";
readonly name: "addresses";
readonly type: {
readonly kind: "arrayTypeNode";
readonly item: {
readonly kind: "publicKeyTypeNode";
};
readonly count: {
readonly kind: "prefixedCountNode";
readonly prefix: {
readonly kind: "numberTypeNode";
readonly format: "u64";
readonly endian: "le";
};
};
};
readonly docs: readonly [];
}];
readonly byteDeltas: readonly [{
readonly kind: "instructionByteDeltaNode";
readonly value: {
readonly kind: "resolverValueNode";
readonly name: "resolveExtendLookupTableBytes";
readonly dependsOn: readonly [{
readonly kind: "argumentValueNode";
readonly name: "addresses";
}];
};
readonly withHeader: false;
}];
readonly discriminators: readonly [{
readonly kind: "fieldDiscriminatorNode";
readonly name: "discriminator";
readonly offset: 0;
}];
readonly name: "extendLookupTable";
readonly idlName: "ExtendLookupTable";
readonly docs: readonly [];
readonly optionalAccountStrategy: "programId";
}, {
readonly kind: "instructionNode";
readonly accounts: readonly [{
readonly kind: "instructionAccountNode";
readonly name: "address";
readonly isWritable: true;
readonly isSigner: false;
readonly isOptional: false;
readonly docs: readonly [];
}, {
readonly kind: "instructionAccountNode";
readonly name: "authority";
readonly isWritable: false;
readonly isSigner: true;
readonly isOptional: false;
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "identityValueNode";
};
}];
readonly arguments: readonly [{
readonly kind: "instructionArgumentNode";
readonly name: "discriminator";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u32";
readonly endian: "le";
};
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "numberValueNode";
readonly number: 3;
};
readonly defaultValueStrategy: "omitted";
}];
readonly discriminators: readonly [{
readonly kind: "fieldDiscriminatorNode";
readonly name: "discriminator";
readonly offset: 0;
}];
readonly name: "deactivateLookupTable";
readonly idlName: "DeactivateLookupTable";
readonly docs: readonly [];
readonly optionalAccountStrategy: "programId";
}, {
readonly kind: "instructionNode";
readonly accounts: readonly [{
readonly kind: "instructionAccountNode";
readonly name: "address";
readonly isWritable: true;
readonly isSigner: false;
readonly isOptional: false;
readonly docs: readonly [];
}, {
readonly kind: "instructionAccountNode";
readonly name: "authority";
readonly isWritable: false;
readonly isSigner: true;
readonly isOptional: false;
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "identityValueNode";
};
}, {
readonly kind: "instructionAccountNode";
readonly name: "recipient";
readonly isWritable: true;
readonly isSigner: false;
readonly isOptional: false;
readonly docs: readonly [];
}];
readonly arguments: readonly [{
readonly kind: "instructionArgumentNode";
readonly name: "discriminator";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u32";
readonly endian: "le";
};
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "numberValueNode";
readonly number: 4;
};
readonly defaultValueStrategy: "omitted";
}];
readonly discriminators: readonly [{
readonly kind: "fieldDiscriminatorNode";
readonly name: "discriminator";
readonly offset: 0;
}];
readonly name: "closeLookupTable";
readonly idlName: "CloseLookupTable";
readonly docs: readonly [];
readonly optionalAccountStrategy: "programId";
}], idl.GetDefinedTypes<readonly []>>;
accounts: idl.AccountDefinitions<readonly [{
readonly kind: "accountNode";
readonly data: {
readonly kind: "structTypeNode";
readonly fields: readonly [{
readonly kind: "structFieldTypeNode";
readonly name: "discriminator";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u32";
readonly endian: "le";
};
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "numberValueNode";
readonly number: 1;
};
readonly defaultValueStrategy: "omitted";
}, {
readonly kind: "structFieldTypeNode";
readonly name: "deactivationSlot";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u64";
readonly endian: "le";
};
readonly docs: readonly [];
}, {
readonly kind: "structFieldTypeNode";
readonly name: "lastExtendedSlot";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u64";
readonly endian: "le";
};
readonly docs: readonly [];
}, {
readonly kind: "structFieldTypeNode";
readonly name: "lastExtendedSlotStartIndex";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u8";
readonly endian: "le";
};
readonly docs: readonly [];
}, {
readonly kind: "structFieldTypeNode";
readonly name: "authority";
readonly type: {
readonly kind: "optionTypeNode";
readonly item: {
readonly kind: "publicKeyTypeNode";
};
readonly prefix: {
readonly kind: "numberTypeNode";
readonly format: "u8";
readonly endian: "le";
};
readonly fixed: true;
readonly idlOption: "option";
};
readonly docs: readonly [];
}, {
readonly kind: "structFieldTypeNode";
readonly name: "padding";
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u16";
readonly endian: "le";
};
readonly docs: readonly [];
readonly defaultValue: {
readonly kind: "numberValueNode";
readonly number: 0;
};
readonly defaultValueStrategy: "omitted";
}, {
readonly kind: "structFieldTypeNode";
readonly name: "addresses";
readonly type: {
readonly kind: "arrayTypeNode";
readonly item: {
readonly kind: "publicKeyTypeNode";
};
readonly count: {
readonly kind: "remainderCountNode";
};
};
readonly docs: readonly [];
}];
};
readonly pda: {
readonly kind: "pdaLinkNode";
readonly name: "addressLookupTable";
};
readonly discriminators: readonly [{
readonly kind: "fieldDiscriminatorNode";
readonly name: "discriminator";
readonly offset: 0;
}];
readonly name: "addressLookupTable";
readonly idlName: "AddressLookupTable";
readonly docs: readonly [];
}], idl.GetDefinedTypes<readonly []>>;
};
additionalPrograms: {};
};
"token-2022": {
program: {
name: "token-2022";
contract: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
types: idl.GetDefinedTypes<readonly [{
readonly kind: "definedTypeNode";
readonly name: "accountState";
readonly docs: readonly [];
readonly type: {
readonly kind: "enumTypeNode";
readonly variants: readonly [{
readonly kind: "enumEmptyVariantTypeNode";
readonly name: "uninitialized";
}, {
readonly kind: "enumEmptyVariantTypeNode";
readonly name: "initialized";
}, {
readonly kind: "enumEmptyVariantTypeNode";
readonly name: "frozen";
}];
readonly size: {
readonly kind: "numberTypeNode";
readonly format: "u8";
readonly endian: "le";
};
};
}, {
readonly kind: "definedTypeNode";
readonly name: "authorityType";
readonly docs: readonly [];
readonly type: {
readonly kind: "enumTypeNode";
readonly variants: readonly [{
readonly kind: "enumEmptyVariantTypeNode";
readonly name: "mintTokens";
}, {
readonly kind: "enumEmptyVariantTypeNode";
readonly name: "freezeAccount";
}, {
readonly kind: "enumEmptyVariantTypeNode";
readonly name: "accountOwner";
}, {
readonly kind: "enumEmptyVariantTypeNode";
readonly name: "closeAccount";
}];
readonly size: {
readonly kind: "numberTypeNode";
readonly format: "u8";
readonly endian: "le";
};
};
}, {
readonly kind: "definedTypeNode";
readonly name: "transferFee";
readonly docs: readonly [];
readonly type: {
readonly kind: "structTypeNode";
readonly fields: readonly [{
readonly kind: "structFieldTypeNode";
readonly name: "epoch";
readonly docs: readonly ["First epoch where the transfer fee takes effect."];
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u64";
readonly endian: "le";
};
}, {
readonly kind: "structFieldTypeNode";
readonly name: "maximumFee";
readonly docs: readonly ["Maximum fee assessed on transfers, expressed as an amount of tokens."];
readonly type: {
readonly kind: "numberTypeNode";
readonly format: "u64";
readonly endian: "le";
};
}, {
readonly kind: "structFieldTypeNode";
readonly name: "transferFeeBasisPoints";
readonly docs: readonly ["Amount of transfer collected as fees, expressed as basis points of the", "transfer amount, ie. increments of 0.01%."];
readonly type: {
readonly kind: "amountTypeNode";
readonly decimals: 2;
readonly unit: "%";
readonly number: {
readonly kind: "numberTypeNode";
readonly format: "u16";
readonly endian: "le";
};
};
}];
};
}, {
readonly kind: "definedTypeNode";
readonly name: "encryptedBalance";
readonly docs: readonly ["ElGamal ciphertext containing an account balance."];
readonly type: {
readonly kind: "fixedSizeTypeNode";
readonly size: 64;
readonly type: {
readonly kind: "bytesTypeNode";
};
};
}, {
readonly kind: "definedTypeNode";
readonly name: "decryptableBalance";
readonly docs: readonly ["Authenticated encryption containing an account balance."];
readonly type: {
readonly kind: "fixedSizeTypeNode";
readonly size: 36;
readonly type: {
readonly kind: "bytesTypeNode";
};
};