diff --git a/.changeset/true-wings-send.md b/.changeset/true-wings-send.md new file mode 100644 index 0000000..9fdf439 --- /dev/null +++ b/.changeset/true-wings-send.md @@ -0,0 +1,5 @@ +--- +'@solana/kit-plugin-litesvm': minor +--- + +Replace the temporary `@loris-sandbox/litesvm-kit` dependency with the official `litesvm` v1 package. diff --git a/packages/kit-plugin-litesvm/package.json b/packages/kit-plugin-litesvm/package.json index fec575c..8e7d682 100644 --- a/packages/kit-plugin-litesvm/package.json +++ b/packages/kit-plugin-litesvm/package.json @@ -49,7 +49,7 @@ "@solana/kit": "^6.5.0" }, "dependencies": { - "@loris-sandbox/litesvm-kit": "^0.5.0" + "litesvm": "^1.0.0" }, "devDependencies": { "@solana-program/system": "^0.12.0" diff --git a/packages/kit-plugin-litesvm/src/index.browser.ts b/packages/kit-plugin-litesvm/src/index.browser.ts index 3f61f4b..6975155 100644 --- a/packages/kit-plugin-litesvm/src/index.browser.ts +++ b/packages/kit-plugin-litesvm/src/index.browser.ts @@ -1,4 +1,4 @@ -export type { FailedTransactionMetadata, TransactionMetadata } from '@loris-sandbox/litesvm-kit'; +export type { FailedTransactionMetadata, TransactionMetadata } from 'litesvm'; export type { LiteSVM } from './litesvm'; export type { LiteSvmRpcApi } from './litesvm-to-rpc'; diff --git a/packages/kit-plugin-litesvm/src/index.ts b/packages/kit-plugin-litesvm/src/index.ts index e7a90c3..6d2992d 100644 --- a/packages/kit-plugin-litesvm/src/index.ts +++ b/packages/kit-plugin-litesvm/src/index.ts @@ -1,4 +1,4 @@ -export type { FailedTransactionMetadata, TransactionMetadata } from '@loris-sandbox/litesvm-kit'; +export type { FailedTransactionMetadata, TransactionMetadata } from 'litesvm'; export * from './airdrop'; export * from './get-minimum-balance'; diff --git a/packages/kit-plugin-litesvm/src/litesvm-to-rpc.ts b/packages/kit-plugin-litesvm/src/litesvm-to-rpc.ts index 950efdc..3ceb18a 100644 --- a/packages/kit-plugin-litesvm/src/litesvm-to-rpc.ts +++ b/packages/kit-plugin-litesvm/src/litesvm-to-rpc.ts @@ -1,4 +1,3 @@ -import type { LiteSVM } from '@loris-sandbox/litesvm-kit'; import { AccountInfoBase, AccountInfoWithBase64EncodedData, @@ -25,6 +24,7 @@ import { signature as toSignature, SolanaRpcResponse, } from '@solana/kit'; +import type { LiteSVM } from 'litesvm'; import { getSolanaErrorFromLiteSvmFailure, isFailedTransaction } from './transaction-error'; @@ -70,7 +70,7 @@ type Encoding = 'base58' | 'base64' | 'base64+zstd' | 'jsonParsed'; * * @example * ```ts - * import { LiteSVM } from '@loris-sandbox/litesvm-kit'; + * import { LiteSVM } from 'litesvm'; * import { createRpcFromSvm } from '@solana/kit-plugin-litesvm'; * * const svm = new LiteSVM(); diff --git a/packages/kit-plugin-litesvm/src/litesvm.ts b/packages/kit-plugin-litesvm/src/litesvm.ts index 22c3009..8cd6ea2 100644 --- a/packages/kit-plugin-litesvm/src/litesvm.ts +++ b/packages/kit-plugin-litesvm/src/litesvm.ts @@ -1,10 +1,10 @@ -import { LiteSVM } from '@loris-sandbox/litesvm-kit'; import { extendClient } from '@solana/kit'; +import { LiteSVM } from 'litesvm'; import { createRpcFromSvm } from './litesvm-to-rpc'; // Re-export the LiteSVM type to make the `litesvm` plugin type-portable. -export type { LiteSVM } from '@loris-sandbox/litesvm-kit'; +export type { LiteSVM } from 'litesvm'; /** * A Kit plugin that adds LiteSVM functionality to your client. diff --git a/packages/kit-plugin-litesvm/src/transaction-error.ts b/packages/kit-plugin-litesvm/src/transaction-error.ts index c9dac9d..6ca98db 100644 --- a/packages/kit-plugin-litesvm/src/transaction-error.ts +++ b/packages/kit-plugin-litesvm/src/transaction-error.ts @@ -2,7 +2,7 @@ import { getSolanaErrorFromTransactionError } from '@solana/kit'; /** * A duck-typed interface for `FailedTransactionMetadata` from - * `@loris-sandbox/litesvm-kit`. We avoid importing the class directly + * `litesvm`. We avoid importing the class directly * because LiteSVM is a Node-only native module and this file must be * resolvable in browser builds. */ @@ -12,7 +12,7 @@ export type FailedTransactionResult = { /** * The ordered names of the `TransactionErrorFieldless` enum variants - * from `@loris-sandbox/litesvm-kit`. Each index corresponds to the + * from `litesvm`. Each index corresponds to the * enum's numeric value and maps to the string name expected by * {@link getSolanaErrorFromTransactionError}. */ @@ -56,7 +56,7 @@ const TRANSACTION_ERROR_NAMES: readonly string[] = [ /** * The ordered names of the `InstructionErrorFieldless` enum variants - * from `@loris-sandbox/litesvm-kit`. Each index corresponds to the + * from `litesvm`. Each index corresponds to the * enum's numeric value and maps to the string name expected by * {@link getSolanaErrorFromTransactionError}. */ diff --git a/packages/kit-plugin-litesvm/src/transaction-plan-executor.ts b/packages/kit-plugin-litesvm/src/transaction-plan-executor.ts index 4822b27..0461ad4 100644 --- a/packages/kit-plugin-litesvm/src/transaction-plan-executor.ts +++ b/packages/kit-plugin-litesvm/src/transaction-plan-executor.ts @@ -1,11 +1,5 @@ -import type { FailedTransactionMetadata, LiteSVM, TransactionMetadata } from '@loris-sandbox/litesvm-kit'; -import { - createTransactionPlanExecutor, - extendClient, - pipe, - setTransactionMessageLifetimeUsingBlockhash, - signTransactionMessageWithSigners, -} from '@solana/kit'; +import { createTransactionPlanExecutor, extendClient, pipe, signTransactionMessageWithSigners } from '@solana/kit'; +import type { FailedTransactionMetadata, LiteSVM, TransactionMetadata } from 'litesvm'; import { getSolanaErrorFromLiteSvmFailure, isFailedTransaction } from './transaction-error'; @@ -51,10 +45,9 @@ export function litesvmTransactionPlanExecutor() { transactionMetadata: FailedTransactionMetadata | TransactionMetadata; }>({ executeTransactionMessage: async (context, transactionMessage, config) => { - const latestBlockhash = client.svm.latestBlockhashLifetime(); const signedTransaction = await pipe( transactionMessage, - tx => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, tx), + tx => client.svm.setTransactionMessageLifetimeUsingLatestBlockhash(tx), tx => (context.message = tx), async tx => await signTransactionMessageWithSigners(tx, config), ); diff --git a/packages/kit-plugin-litesvm/test/index.test.ts b/packages/kit-plugin-litesvm/test/index.test.ts index 8825fc0..a17988c 100644 --- a/packages/kit-plugin-litesvm/test/index.test.ts +++ b/packages/kit-plugin-litesvm/test/index.test.ts @@ -1,4 +1,3 @@ -import { LiteSVM } from '@loris-sandbox/litesvm-kit'; import { createEmptyClient, GetAccountInfoApi, @@ -11,6 +10,7 @@ import { RequestAirdropApi, Rpc, } from '@solana/kit'; +import { LiteSVM } from 'litesvm'; import { describe, expect, expectTypeOf, it } from 'vitest'; import { litesvm as nodeLitesvm } from '../src/index'; diff --git a/packages/kit-plugin-litesvm/test/transaction-plan-executor.test.ts b/packages/kit-plugin-litesvm/test/transaction-plan-executor.test.ts index 9599be3..70b8f60 100644 --- a/packages/kit-plugin-litesvm/test/transaction-plan-executor.test.ts +++ b/packages/kit-plugin-litesvm/test/transaction-plan-executor.test.ts @@ -1,4 +1,3 @@ -import type { FailedTransactionMetadata, LiteSVM, TransactionMetadata } from '@loris-sandbox/litesvm-kit'; import { Address, appendTransactionMessageInstruction, @@ -19,14 +18,12 @@ import { SolanaError, } from '@solana/kit'; import { getTransferSolInstruction } from '@solana-program/system'; +import type { FailedTransactionMetadata, LiteSVM, TransactionMetadata } from 'litesvm'; import { describe, expect, it, vi } from 'vitest'; import { litesvm, litesvmTransactionPlanExecutor, litesvmTransactionPlanner } from '../src'; -const MOCK_BLOCKHASH = { blockhash: '11111111111111111111111111111111', lastValidBlockHeight: 0n }; -const MOCK_INSTRUCTION = { - programAddress: '11111111111111111111111111111111' as Address, -}; +const MOCK_INSTRUCTION = { programAddress: '11111111111111111111111111111111' as Address }; describe('litesvmTransactionPlanExecutor', () => { describe('with mocks', () => { @@ -40,10 +37,10 @@ describe('litesvmTransactionPlanExecutor', () => { it('uses the SVM instance to send transactions', async () => { const payer = await generateKeyPairSigner(); - const latestBlockhashLifetime = vi.fn().mockReturnValueOnce(MOCK_BLOCKHASH); + const setTransactionMessageLifetimeUsingLatestBlockhash = vi.fn().mockImplementation((m: T) => m); // Return a success result (no `.err` property). const sendTransaction = vi.fn().mockReturnValue({ signature: () => new Uint8Array(64) }); - const svm = { latestBlockhashLifetime, sendTransaction } as unknown as LiteSVM; + const svm = { sendTransaction, setTransactionMessageLifetimeUsingLatestBlockhash } as unknown as LiteSVM; const client = createEmptyClient() .use(() => ({ payer, svm })) .use(litesvmTransactionPlanner()) @@ -55,16 +52,16 @@ describe('litesvmTransactionPlanExecutor', () => { transactionPlan, )) as SingleTransactionPlanResult; expect(transactionPlanResult.kind).toBe('single'); - expect(latestBlockhashLifetime).toHaveBeenCalledOnce(); + expect(setTransactionMessageLifetimeUsingLatestBlockhash).toHaveBeenCalledOnce(); expect(sendTransaction).toHaveBeenCalledOnce(); }); it('includes transactionMetadata in the result context on success', async () => { const payer = await generateKeyPairSigner(); - const latestBlockhashLifetime = vi.fn().mockReturnValueOnce(MOCK_BLOCKHASH); + const setTransactionMessageLifetimeUsingLatestBlockhash = vi.fn().mockImplementation((m: T) => m); const mockMetadata = { logs: () => ['log1'], signature: () => new Uint8Array(64) }; const sendTransaction = vi.fn().mockReturnValue(mockMetadata); - const svm = { latestBlockhashLifetime, sendTransaction } as unknown as LiteSVM; + const svm = { sendTransaction, setTransactionMessageLifetimeUsingLatestBlockhash } as unknown as LiteSVM; const client = createEmptyClient() .use(() => ({ payer, svm })) .use(litesvmTransactionPlanner()) @@ -78,10 +75,10 @@ describe('litesvmTransactionPlanExecutor', () => { it('includes transactionMetadata in the result context on failure', async () => { const payer = await generateKeyPairSigner(); - const latestBlockhashLifetime = vi.fn().mockReturnValueOnce(MOCK_BLOCKHASH); + const setTransactionMessageLifetimeUsingLatestBlockhash = vi.fn().mockImplementation((m: T) => m); const mockMetadata = { err: () => 2 }; const sendTransaction = vi.fn().mockReturnValue(mockMetadata); - const svm = { latestBlockhashLifetime, sendTransaction } as unknown as LiteSVM; + const svm = { sendTransaction, setTransactionMessageLifetimeUsingLatestBlockhash } as unknown as LiteSVM; const client = createEmptyClient() .use(() => ({ payer, svm })) .use(litesvmTransactionPlanExecutor()); @@ -98,10 +95,10 @@ describe('litesvmTransactionPlanExecutor', () => { it('throws a SolanaError when the transaction fails', async () => { const payer = await generateKeyPairSigner(); - const latestBlockhashLifetime = vi.fn().mockReturnValueOnce(MOCK_BLOCKHASH); + const setTransactionMessageLifetimeUsingLatestBlockhash = vi.fn().mockImplementation((m: T) => m); // Return a failed result with a fieldless error (AccountNotFound = 2). const sendTransaction = vi.fn().mockReturnValue({ err: () => 2 }); - const svm = { latestBlockhashLifetime, sendTransaction } as unknown as LiteSVM; + const svm = { sendTransaction, setTransactionMessageLifetimeUsingLatestBlockhash } as unknown as LiteSVM; const client = createEmptyClient() .use(() => ({ payer, svm })) .use(litesvmTransactionPlanExecutor()); @@ -124,7 +121,7 @@ describe('litesvmTransactionPlanExecutor', () => { it('throws a SolanaError for instruction errors', async () => { const payer = await generateKeyPairSigner(); - const latestBlockhashLifetime = vi.fn().mockReturnValueOnce(MOCK_BLOCKHASH); + const setTransactionMessageLifetimeUsingLatestBlockhash = vi.fn().mockImplementation((m: T) => m); // Return a failed result with an instruction error. const instructionError = { constructor: { name: 'TransactionErrorInstructionError' }, @@ -132,7 +129,7 @@ describe('litesvmTransactionPlanExecutor', () => { index: 0, }; const sendTransaction = vi.fn().mockReturnValue({ err: () => instructionError }); - const svm = { latestBlockhashLifetime, sendTransaction } as unknown as LiteSVM; + const svm = { sendTransaction, setTransactionMessageLifetimeUsingLatestBlockhash } as unknown as LiteSVM; const client = createEmptyClient() .use(() => ({ payer, svm })) .use(litesvmTransactionPlanExecutor()); @@ -194,10 +191,10 @@ describe('litesvmTransactionPlanExecutor', () => { .use(client => extendClient(client, { payer })) .use(litesvmTransactionPlanner()) .use(litesvmTransactionPlanExecutor()); - client.svm.airdrop(payer.address, lamports(1_000_000_000n)); + client.svm.airdrop(payer.address, lamports(1_000_000_000n)); // 1 SOL const instruction = getTransferSolInstruction({ - amount: lamports(1_000n), + amount: lamports(100_000_000n), // 0.1 SOL destination: destination.address, source: payer, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0d28bdb..6ca24bd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -138,12 +138,12 @@ importers: packages/kit-plugin-litesvm: dependencies: - '@loris-sandbox/litesvm-kit': - specifier: ^0.5.0 - version: 0.5.0(typescript@5.9.3) '@solana/kit': specifier: ^6.7.0 version: 6.7.0(typescript@5.9.3) + litesvm: + specifier: ^1.0.0 + version: 1.0.0(typescript@5.9.3) devDependencies: '@solana-program/system': specifier: ^0.12.0 @@ -924,46 +924,6 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@loris-sandbox/litesvm-kit-darwin-arm64@0.5.0': - resolution: {integrity: sha512-yWPgh8bQsHJtmVcHcwhJFFEjh5G6wigHYuiRBIbY+lybKPTQ1LKJ3CK/zlD74KwL/xfgUdiyBLz+fORQrCO19Q==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [darwin] - - '@loris-sandbox/litesvm-kit-darwin-x64@0.5.0': - resolution: {integrity: sha512-fddPO15++i67Yemiopxj/qEw4X/Jup/jBcWBN/UeE1bPt2GDrj02alzO1CSOKfaRrfu7MeWbwPumG07xQpwF9Q==} - engines: {node: '>= 20'} - cpu: [x64] - os: [darwin] - - '@loris-sandbox/litesvm-kit-linux-arm64-gnu@0.5.0': - resolution: {integrity: sha512-otmfH7UBYseWzPMPOKVc4k6/G8QXCeZ8scd+eoINwcvNYtEtKoUe0CBItnwTSCiwLyzYDcWB4LXzcpQV0ZNZKg==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [linux] - - '@loris-sandbox/litesvm-kit-linux-arm64-musl@0.5.0': - resolution: {integrity: sha512-mCGPqtl5PcJ3PTb20NnaCnFZ00E54c4r00e1IPB7O4DW+fLYoICfgNUy5S6mVNv0Yt45fT8QaUQbWcoGnmL6IQ==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [linux] - - '@loris-sandbox/litesvm-kit-linux-x64-gnu@0.5.0': - resolution: {integrity: sha512-zbXvI71o9k715m1H/CtH2vEIwlf54O5oUmIZthVmnMRa33ct9vZj/sz0mcPW7NIIsYQEm1+rKysqXXNoThiFwg==} - engines: {node: '>= 20'} - cpu: [x64] - os: [linux] - - '@loris-sandbox/litesvm-kit-linux-x64-musl@0.5.0': - resolution: {integrity: sha512-bI30I12C7HczA9Q6c9d6DMKGHEqQBn0zRHDHAYX1T8YfGFFEKxTm0XtTFPH1BZrFfBzEHEUHfPB/pYaVjzb1cA==} - engines: {node: '>= 20'} - cpu: [x64] - os: [linux] - - '@loris-sandbox/litesvm-kit@0.5.0': - resolution: {integrity: sha512-zJcAFmEX82td18uzxhLX9yM6lqQ3as3FzLpJpARdJtTrIMNe0txVdAB+vZw1FqMQ9dL3h6IkUBahIWdCT4uHzw==} - engines: {node: '>= 20'} - '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} @@ -1246,23 +1206,18 @@ packages: '@sinonjs/fake-timers@13.0.5': resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} - '@solana-program/system@0.10.0': - resolution: {integrity: sha512-Go+LOEZmqmNlfr+Gjy5ZWAdY5HbYzk2RBewD9QinEU/bBSzpFfzqDRT55JjFRBGJUvMgf3C2vfXEGT4i8DSI4g==} - peerDependencies: - '@solana/kit': ^6.7.0 - '@solana-program/system@0.12.0': resolution: {integrity: sha512-ZnAAWeGVMWNtJhw3GdifI2HnhZ0A0H0qs8tBkcFvxp/8wIavvO+GOM4Jd0N22u2+Lni2zcwvcrxrsxj6Mjphng==} peerDependencies: '@solana/kit': ^6.7.0 - '@solana-program/token@0.13.0': - resolution: {integrity: sha512-/Apjrd5lwOJGrPB0J5Rv7EBeclvyEBQPAGA85Scm7wBH+GpkbdLDM9uK3TNg8jjFKyWQYai/JtPHbrx7VgFLSg==} + '@solana-program/token@0.12.0': + resolution: {integrity: sha512-hnidRNuFhmqUdW5aWkKTJ+cdzuotVMNwLsTyAk0Nd8VjLDld+vQC0fugHWqm5GPrvYe0hCNAhtpJcZVnNp7rOA==} peerDependencies: '@solana/kit': ^6.7.0 - '@solana-program/token@0.9.0': - resolution: {integrity: sha512-vnZxndd4ED4Fc56sw93cWZ2djEeeOFxtaPS8SPf5+a+JZjKA/EnKqzbE1y04FuMhIVrLERQ8uR8H2h72eZzlsA==} + '@solana-program/token@0.13.0': + resolution: {integrity: sha512-/Apjrd5lwOJGrPB0J5Rv7EBeclvyEBQPAGA85Scm7wBH+GpkbdLDM9uK3TNg8jjFKyWQYai/JtPHbrx7VgFLSg==} peerDependencies: '@solana/kit': ^6.7.0 @@ -2916,6 +2871,46 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + litesvm-darwin-arm64@1.0.0: + resolution: {integrity: sha512-Fl1i0G+DbsMh4M0nLtFvJcbYcxVZyYOnJhvLTxzFy26CN5dtOHRTWcHTkQZpfEwdIQxCJAvjsGIHAg4K/ecycQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] + + litesvm-darwin-x64@1.0.0: + resolution: {integrity: sha512-4gSTuYdOCZ0SpjbGRhZ6g8ua8oSJtMgHwz7qpjTPvXw5Zc1K2bdWDlV0FNwg+NSTTQhCn7PzmpFKip2lI/CU3w==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] + + litesvm-linux-arm64-gnu@1.0.0: + resolution: {integrity: sha512-i/NdIvl/D3AJE2PbvYOqORKAe5EYpKO6hlgqKEukzWDQd/yx7hmevg/yEI5rJuI0BfTDPZzRuK4Y5wMKdKu42A==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + + litesvm-linux-arm64-musl@1.0.0: + resolution: {integrity: sha512-suv1yKYH4oBcR9dIf4JdoMOjdDPyi4QHsO6dKB7Kw/0/tGxnWy/ZcZCMqE283exEyGc64bZXqFTZQQcZxqJrRw==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + + litesvm-linux-x64-gnu@1.0.0: + resolution: {integrity: sha512-mM+0lSof8Kb45EXUOqM6E+uVNEZgfOn7Vy0PgEgHI9igDhoxID7S4Z44AAcw5k0hzfPT7qtHGH/uOeIFz6w5fw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + + litesvm-linux-x64-musl@1.0.0: + resolution: {integrity: sha512-xBuFg4PYicqrkthgEgX7GkY2XftqwwBhqZoxEjMjLT9XiRAu82xZJsZTQ0yC749+phXeWT7fjp3W6uVEKvDjAQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + + litesvm@1.0.0: + resolution: {integrity: sha512-+uM5Uqut++IKNoG4rw2QzMNspZhqqqRXZ5XDPxb68kJMBrOdvIJX9Ie7IAHTD26qdX074FqMDqlOqlJR9H3xIw==} + engines: {node: '>= 20'} + load-tsconfig@0.2.5: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -4504,42 +4499,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@loris-sandbox/litesvm-kit-darwin-arm64@0.5.0': - optional: true - - '@loris-sandbox/litesvm-kit-darwin-x64@0.5.0': - optional: true - - '@loris-sandbox/litesvm-kit-linux-arm64-gnu@0.5.0': - optional: true - - '@loris-sandbox/litesvm-kit-linux-arm64-musl@0.5.0': - optional: true - - '@loris-sandbox/litesvm-kit-linux-x64-gnu@0.5.0': - optional: true - - '@loris-sandbox/litesvm-kit-linux-x64-musl@0.5.0': - optional: true - - '@loris-sandbox/litesvm-kit@0.5.0(typescript@5.9.3)': - dependencies: - '@solana-program/system': 0.10.0(@solana/kit@6.7.0(typescript@5.9.3)) - '@solana-program/token': 0.9.0(@solana/kit@6.7.0(typescript@5.9.3)) - '@solana/kit': 6.7.0(typescript@5.9.3) - optionalDependencies: - '@loris-sandbox/litesvm-kit-darwin-arm64': 0.5.0 - '@loris-sandbox/litesvm-kit-darwin-x64': 0.5.0 - '@loris-sandbox/litesvm-kit-linux-arm64-gnu': 0.5.0 - '@loris-sandbox/litesvm-kit-linux-arm64-musl': 0.5.0 - '@loris-sandbox/litesvm-kit-linux-x64-gnu': 0.5.0 - '@loris-sandbox/litesvm-kit-linux-x64-musl': 0.5.0 - transitivePeerDependencies: - - bufferutil - - fastestsmallesttextencoderdecoder - - typescript - - utf-8-validate - '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.28.6 @@ -4735,21 +4694,18 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@solana-program/system@0.10.0(@solana/kit@6.7.0(typescript@5.9.3))': - dependencies: - '@solana/kit': 6.7.0(typescript@5.9.3) - '@solana-program/system@0.12.0(@solana/kit@6.7.0(typescript@5.9.3))': dependencies: '@solana/kit': 6.7.0(typescript@5.9.3) - '@solana-program/token@0.13.0(@solana/kit@6.7.0(typescript@5.9.3))': + '@solana-program/token@0.12.0(@solana/kit@6.7.0(typescript@5.9.3))': dependencies: '@solana-program/system': 0.12.0(@solana/kit@6.7.0(typescript@5.9.3)) '@solana/kit': 6.7.0(typescript@5.9.3) - '@solana-program/token@0.9.0(@solana/kit@6.7.0(typescript@5.9.3))': + '@solana-program/token@0.13.0(@solana/kit@6.7.0(typescript@5.9.3))': dependencies: + '@solana-program/system': 0.12.0(@solana/kit@6.7.0(typescript@5.9.3)) '@solana/kit': 6.7.0(typescript@5.9.3) '@solana/accounts@6.7.0(typescript@5.9.3)': @@ -6733,6 +6689,42 @@ snapshots: lines-and-columns@1.2.4: {} + litesvm-darwin-arm64@1.0.0: + optional: true + + litesvm-darwin-x64@1.0.0: + optional: true + + litesvm-linux-arm64-gnu@1.0.0: + optional: true + + litesvm-linux-arm64-musl@1.0.0: + optional: true + + litesvm-linux-x64-gnu@1.0.0: + optional: true + + litesvm-linux-x64-musl@1.0.0: + optional: true + + litesvm@1.0.0(typescript@5.9.3): + dependencies: + '@solana-program/system': 0.12.0(@solana/kit@6.7.0(typescript@5.9.3)) + '@solana-program/token': 0.12.0(@solana/kit@6.7.0(typescript@5.9.3)) + '@solana/kit': 6.7.0(typescript@5.9.3) + optionalDependencies: + litesvm-darwin-arm64: 1.0.0 + litesvm-darwin-x64: 1.0.0 + litesvm-linux-arm64-gnu: 1.0.0 + litesvm-linux-arm64-musl: 1.0.0 + litesvm-linux-x64-gnu: 1.0.0 + litesvm-linux-x64-musl: 1.0.0 + transitivePeerDependencies: + - bufferutil + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + load-tsconfig@0.2.5: {} locate-path@5.0.0: