Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions clients/js/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@
},
"devDependencies": {
"@solana-config/oxc": "^0.1.1",
"@solana/kit": "^8.3.0",
"@solana/kit-plugin-litesvm": "^0.18.0",
"@solana/kit-plugin-signer": "^0.18.0",
"@solana/kit": "^8.5.0",
"@solana/kit-plugin-litesvm": "^0.19.0",
"@solana/kit-plugin-signer": "^0.19.0",
"@types/node": "^24",
"oxfmt": "^0.48.0",
"oxlint": "^1.63.0",
Expand All @@ -59,7 +59,7 @@
"vitest": "^4.0.15"
},
"peerDependencies": {
"@solana/kit": "^8.3.0"
"@solana/kit": "^8.5.0"
},
"devEngines": {
"runtime": {
Expand Down
798 changes: 399 additions & 399 deletions clients/js/pnpm-lock.yaml

Large diffs are not rendered by default.

25 changes: 17 additions & 8 deletions clients/js/src/generated/accounts/nonce.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import {
type FixedSizeCodec,
type FixedSizeDecoder,
type FixedSizeEncoder,
type HasAddress,
type MaybeAccount,
type MaybeEncodedAccount,
} from '@solana/kit';
Expand All @@ -52,8 +53,8 @@ export type Nonce = {
export type NonceArgs = {
version: NonceVersionArgs;
state: NonceStateArgs;
authority: Address;
blockhash: Address;
authority: Address | HasAddress;
blockhash: Address | HasAddress;
lamportsPerSignature: number | bigint;
};

Expand Down Expand Up @@ -98,7 +99,7 @@ export function decodeNonce<TAddress extends string = string>(

export async function fetchNonce<TAddress extends string = string>(
rpc: Parameters<typeof fetchEncodedAccount>[0],
address: Address<TAddress>,
address: Address<TAddress> | HasAddress<TAddress>,
config?: FetchAccountConfig,
): Promise<Account<Nonce, TAddress>> {
const maybeAccount = await fetchMaybeNonce(rpc, address, config);
Expand All @@ -108,16 +109,20 @@ export async function fetchNonce<TAddress extends string = string>(

export async function fetchMaybeNonce<TAddress extends string = string>(
rpc: Parameters<typeof fetchEncodedAccount>[0],
address: Address<TAddress>,
address: Address<TAddress> | HasAddress<TAddress>,
config?: FetchAccountConfig,
): Promise<MaybeAccount<Nonce, TAddress>> {
const maybeAccount = await fetchEncodedAccount(rpc, address, config);
const maybeAccount = await fetchEncodedAccount(
rpc,
typeof address === 'string' ? address : address.address,
config,
);
return decodeNonce(maybeAccount);
}

export async function fetchAllNonce(
rpc: Parameters<typeof fetchEncodedAccounts>[0],
addresses: Array<Address>,
addresses: Array<Address | HasAddress>,
config?: FetchAccountsConfig,
): Promise<Account<Nonce>[]> {
const maybeAccounts = await fetchAllMaybeNonce(rpc, addresses, config);
Expand All @@ -127,10 +132,14 @@ export async function fetchAllNonce(

export async function fetchAllMaybeNonce(
rpc: Parameters<typeof fetchEncodedAccounts>[0],
addresses: Array<Address>,
addresses: Array<Address | HasAddress>,
config?: FetchAccountsConfig,
): Promise<MaybeAccount<Nonce>[]> {
const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
const maybeAccounts = await fetchEncodedAccounts(
rpc,
addresses.map(a => (typeof a === 'string' ? a : a.address)),
config,
);
return maybeAccounts.map(maybeAccount => decodeNonce(maybeAccount));
}

Expand Down
6 changes: 5 additions & 1 deletion clients/js/src/generated/errors/system.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import {
isProgramError,
type Address,
type HasAddress,
type SOLANA_ERROR__INSTRUCTION_ERROR__CUSTOM,
type SolanaError,
} from '@solana/kit';
Expand Down Expand Up @@ -71,7 +72,10 @@ export function isSystemError<TProgramErrorCode extends SystemError>(
error: unknown,
transactionMessage: { instructions: Record<number, { programAddress: Address }> },
code?: TProgramErrorCode,
config: { programAddress?: Address | HasAddress } = {},
): error is SolanaError<typeof SOLANA_ERROR__INSTRUCTION_ERROR__CUSTOM> &
Readonly<{ context: Readonly<{ code: TProgramErrorCode }> }> {
return isProgramError<TProgramErrorCode>(error, transactionMessage, SYSTEM_PROGRAM_ADDRESS, code);
const programAddressInput = config.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address;
return isProgramError<TProgramErrorCode>(error, transactionMessage, programAddress, code);
}
5 changes: 3 additions & 2 deletions clients/js/src/generated/instructions/advanceNonceAccount.ts
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ export function getAdvanceNonceAccountInstruction<
TProgramAddress extends Address = typeof SYSTEM_PROGRAM_ADDRESS,
>(
input: AdvanceNonceAccountInput<TAccountNonceAccount, TAccountRecentBlockhashesSysvar, TAccountNonceAuthority>,
config?: { programAddress?: TProgramAddress },
config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } },
): AdvanceNonceAccountInstruction<
TProgramAddress,
ResolvedInstructionAccountMeta<TAccountNonceAccount, InstructionAccountInputAddress<TAccountNonceAccount>>,
Expand All @@ -117,7 +117,8 @@ export function getAdvanceNonceAccountInstruction<
ResolvedInstructionAccountMeta<TAccountNonceAuthority, InstructionAccountInputAddress<TAccountNonceAuthority>>
> {
// Program address.
const programAddress = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddressInput = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address;

// Account meta helper.
const getAccountMeta = getAccountMetaFactory(programAddress, 'omitted');
Expand Down
5 changes: 3 additions & 2 deletions clients/js/src/generated/instructions/allocate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,13 +97,14 @@ export function getAllocateInstruction<
TProgramAddress extends Address = typeof SYSTEM_PROGRAM_ADDRESS,
>(
input: AllocateInput<TAccountNewAccount>,
config?: { programAddress?: TProgramAddress },
config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } },
): AllocateInstruction<
TProgramAddress,
ResolvedInstructionAccountMeta<TAccountNewAccount, InstructionAccountInputAddress<TAccountNewAccount>>
> {
// Program address.
const programAddress = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddressInput = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address;

// Account meta helper.
const getAccountMeta = getAccountMetaFactory(programAddress, 'omitted');
Expand Down
10 changes: 6 additions & 4 deletions clients/js/src/generated/instructions/allocateWithSeed.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import {
type Codec,
type Decoder,
type Encoder,
type HasAddress,
type Instruction,
type InstructionWithAccounts,
type InstructionWithData,
Expand Down Expand Up @@ -78,10 +79,10 @@ export type AllocateWithSeedInstructionData = {
};

export type AllocateWithSeedInstructionDataArgs = {
base: Address;
base: Address | HasAddress;
seed: string;
space: number | bigint;
programAddress: Address;
programAddress: Address | HasAddress;
};

export function getAllocateWithSeedInstructionDataEncoder(): Encoder<AllocateWithSeedInstructionDataArgs> {
Expand Down Expand Up @@ -132,14 +133,15 @@ export function getAllocateWithSeedInstruction<
TProgramAddress extends Address = typeof SYSTEM_PROGRAM_ADDRESS,
>(
input: AllocateWithSeedInput<TAccountNewAccount, TAccountBaseAccount>,
config?: { programAddress?: TProgramAddress },
config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } },
): AllocateWithSeedInstruction<
TProgramAddress,
ResolvedInstructionAccountMeta<TAccountNewAccount, InstructionAccountInputAddress<TAccountNewAccount>>,
ResolvedInstructionAccountMeta<TAccountBaseAccount, InstructionAccountInputAddress<TAccountBaseAccount>>
> {
// Program address.
const programAddress = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddressInput = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address;

// Account meta helper.
const getAccountMeta = getAccountMetaFactory(programAddress, 'omitted');
Expand Down
8 changes: 5 additions & 3 deletions clients/js/src/generated/instructions/assign.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import {
type FixedSizeCodec,
type FixedSizeDecoder,
type FixedSizeEncoder,
type HasAddress,
type Instruction,
type InstructionWithAccounts,
type InstructionWithData,
Expand Down Expand Up @@ -61,7 +62,7 @@ export type AssignInstruction<

export type AssignInstructionData = { discriminator: number; programAddress: Address };

export type AssignInstructionDataArgs = { programAddress: Address };
export type AssignInstructionDataArgs = { programAddress: Address | HasAddress };

export function getAssignInstructionDataEncoder(): FixedSizeEncoder<AssignInstructionDataArgs> {
return transformEncoder(
Expand Down Expand Up @@ -94,13 +95,14 @@ export function getAssignInstruction<
TProgramAddress extends Address = typeof SYSTEM_PROGRAM_ADDRESS,
>(
input: AssignInput<TAccountAccount>,
config?: { programAddress?: TProgramAddress },
config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } },
): AssignInstruction<
TProgramAddress,
ResolvedInstructionAccountMeta<TAccountAccount, InstructionAccountInputAddress<TAccountAccount>>
> {
// Program address.
const programAddress = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddressInput = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address;

// Account meta helper.
const getAccountMeta = getAccountMetaFactory(programAddress, 'omitted');
Expand Down
12 changes: 9 additions & 3 deletions clients/js/src/generated/instructions/assignWithSeed.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import {
type Codec,
type Decoder,
type Encoder,
type HasAddress,
type Instruction,
type InstructionWithAccounts,
type InstructionWithData,
Expand Down Expand Up @@ -76,7 +77,11 @@ export type AssignWithSeedInstructionData = {
programAddress: Address;
};

export type AssignWithSeedInstructionDataArgs = { base: Address; seed: string; programAddress: Address };
export type AssignWithSeedInstructionDataArgs = {
base: Address | HasAddress;
seed: string;
programAddress: Address | HasAddress;
};

export function getAssignWithSeedInstructionDataEncoder(): Encoder<AssignWithSeedInstructionDataArgs> {
return transformEncoder(
Expand Down Expand Up @@ -123,14 +128,15 @@ export function getAssignWithSeedInstruction<
TProgramAddress extends Address = typeof SYSTEM_PROGRAM_ADDRESS,
>(
input: AssignWithSeedInput<TAccountAccount, TAccountBaseAccount>,
config?: { programAddress?: TProgramAddress },
config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } },
): AssignWithSeedInstruction<
TProgramAddress,
ResolvedInstructionAccountMeta<TAccountAccount, InstructionAccountInputAddress<TAccountAccount>>,
ResolvedInstructionAccountMeta<TAccountBaseAccount, InstructionAccountInputAddress<TAccountBaseAccount>>
> {
// Program address.
const programAddress = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddressInput = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address;

// Account meta helper.
const getAccountMeta = getAccountMetaFactory(programAddress, 'omitted');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import {
type FixedSizeCodec,
type FixedSizeDecoder,
type FixedSizeEncoder,
type HasAddress,
type Instruction,
type InstructionWithAccounts,
type InstructionWithData,
Expand Down Expand Up @@ -65,7 +66,7 @@ export type AuthorizeNonceAccountInstruction<

export type AuthorizeNonceAccountInstructionData = { discriminator: number; newNonceAuthority: Address };

export type AuthorizeNonceAccountInstructionDataArgs = { newNonceAuthority: Address };
export type AuthorizeNonceAccountInstructionDataArgs = { newNonceAuthority: Address | HasAddress };

export function getAuthorizeNonceAccountInstructionDataEncoder(): FixedSizeEncoder<AuthorizeNonceAccountInstructionDataArgs> {
return transformEncoder(
Expand Down Expand Up @@ -109,14 +110,15 @@ export function getAuthorizeNonceAccountInstruction<
TProgramAddress extends Address = typeof SYSTEM_PROGRAM_ADDRESS,
>(
input: AuthorizeNonceAccountInput<TAccountNonceAccount, TAccountNonceAuthority>,
config?: { programAddress?: TProgramAddress },
config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } },
): AuthorizeNonceAccountInstruction<
TProgramAddress,
ResolvedInstructionAccountMeta<TAccountNonceAccount, InstructionAccountInputAddress<TAccountNonceAccount>>,
ResolvedInstructionAccountMeta<TAccountNonceAuthority, InstructionAccountInputAddress<TAccountNonceAuthority>>
> {
// Program address.
const programAddress = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddressInput = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address;

// Account meta helper.
const getAccountMeta = getAccountMetaFactory(programAddress, 'omitted');
Expand Down
8 changes: 5 additions & 3 deletions clients/js/src/generated/instructions/createAccount.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import {
type FixedSizeCodec,
type FixedSizeDecoder,
type FixedSizeEncoder,
type HasAddress,
type Instruction,
type InstructionWithAccounts,
type InstructionWithData,
Expand Down Expand Up @@ -77,7 +78,7 @@ export type CreateAccountInstructionData = {
export type CreateAccountInstructionDataArgs = {
lamports: number | bigint;
space: number | bigint;
programAddress: Address;
programAddress: Address | HasAddress;
};

export function getCreateAccountInstructionDataEncoder(): FixedSizeEncoder<CreateAccountInstructionDataArgs> {
Expand Down Expand Up @@ -125,15 +126,16 @@ export function getCreateAccountInstruction<
TProgramAddress extends Address = typeof SYSTEM_PROGRAM_ADDRESS,
>(
input: CreateAccountInput<TAccountPayer, TAccountNewAccount>,
config?: { programAddress?: TProgramAddress },
config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } },
): CreateAccountInstruction<
TProgramAddress,
ResolvedInstructionAccountMeta<TAccountPayer, InstructionAccountInputAddress<TAccountPayer>>,
ResolvedInstructionAccountMeta<TAccountNewAccount, InstructionAccountInputAddress<TAccountNewAccount>>
> &
InstructionWithByteDelta {
// Program address.
const programAddress = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddressInput = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address;

// Account meta helper.
const getAccountMeta = getAccountMetaFactory(programAddress, 'omitted');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import {
type FixedSizeCodec,
type FixedSizeDecoder,
type FixedSizeEncoder,
type HasAddress,
type Instruction,
type InstructionWithAccounts,
type InstructionWithData,
Expand Down Expand Up @@ -81,7 +82,7 @@ export type CreateAccountAllowPrefundInstructionData = {
export type CreateAccountAllowPrefundInstructionDataArgs = {
lamports?: number | bigint;
space: number | bigint;
programAddress: Address;
programAddress: Address | HasAddress;
};

export function getCreateAccountAllowPrefundInstructionDataEncoder(): FixedSizeEncoder<CreateAccountAllowPrefundInstructionDataArgs> {
Expand Down Expand Up @@ -136,15 +137,16 @@ export function getCreateAccountAllowPrefundInstruction<
TProgramAddress extends Address = typeof SYSTEM_PROGRAM_ADDRESS,
>(
input: CreateAccountAllowPrefundInput<TAccountNewAccount, TAccountPayer>,
config?: { programAddress?: TProgramAddress },
config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } },
): CreateAccountAllowPrefundInstruction<
TProgramAddress,
ResolvedInstructionAccountMeta<TAccountNewAccount, InstructionAccountInputAddress<TAccountNewAccount>>,
ResolvedInstructionAccountMeta<TAccountPayer, InstructionAccountInputAddress<TAccountPayer>>
> &
InstructionWithByteDelta {
// Program address.
const programAddress = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddressInput = config?.programAddress ?? SYSTEM_PROGRAM_ADDRESS;
const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address;

// Account meta helper.
const getAccountMeta = getAccountMetaFactory(programAddress, 'omitted');
Expand Down
Loading
Loading