From f57a79e5ea5145bd9e485f0e1e11642180bc7897 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 28 Feb 2025 15:49:58 +0000 Subject: [PATCH 1/6] Bump @codama/renderers-js from 1.2.5 to 1.2.6 Bumps [@codama/renderers-js](https://github.com/codama-idl/codama) from 1.2.5 to 1.2.6. - [Release notes](https://github.com/codama-idl/codama/releases) - [Commits](https://github.com/codama-idl/codama/compare/@codama/renderers-js@1.2.5...@codama/renderers-js@1.2.6) --- updated-dependencies: - dependency-name: "@codama/renderers-js" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- ts-sdk/client/package.json | 2 +- yarn.lock | 105 +------------------------------------ 2 files changed, 3 insertions(+), 104 deletions(-) diff --git a/ts-sdk/client/package.json b/ts-sdk/client/package.json index 53555ab3c..09f503073 100644 --- a/ts-sdk/client/package.json +++ b/ts-sdk/client/package.json @@ -32,7 +32,7 @@ }, "devDependencies": { "@codama/nodes-from-anchor": "^1.1.7", - "@codama/renderers-js": "^1.2.5", + "@codama/renderers-js": "^1.2.6", "@orca-so/whirlpools-program": "*", "@solana/web3.js": "^2.0.0", "codama": "^1.2.7", diff --git a/yarn.lock b/yarn.lock index e280cae72..b021abfdb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1731,19 +1731,6 @@ __metadata: languageName: node linkType: hard -"@codama/errors@npm:1.2.6": - version: 1.2.6 - resolution: "@codama/errors@npm:1.2.6" - dependencies: - "@codama/node-types": "npm:1.2.6" - chalk: "npm:^5.4.1" - commander: "npm:^13.1.0" - bin: - errors: bin/cli.cjs - checksum: 10c0/2cde258fb2069acd70300c17da25b007c497a4aabc089832f4ed9aaad3fd8173fbe372e30af9a34f545cf8aec514eebd1ade730e4d613aaad9d5d72b3055841b - languageName: node - linkType: hard - "@codama/errors@npm:1.2.7": version: 1.2.7 resolution: "@codama/errors@npm:1.2.7" @@ -1757,13 +1744,6 @@ __metadata: languageName: node linkType: hard -"@codama/node-types@npm:1.2.6": - version: 1.2.6 - resolution: "@codama/node-types@npm:1.2.6" - checksum: 10c0/c1189bd523efd692039e4e98aa4a640399072aafacc6f19e502267939bbaabb0a7e6969e9a6ff0a8dcc7461f11566f5f5b01796efe0f0686f35b2e877adc57da - languageName: node - linkType: hard - "@codama/node-types@npm:1.2.7": version: 1.2.7 resolution: "@codama/node-types@npm:1.2.7" @@ -1771,19 +1751,6 @@ __metadata: languageName: node linkType: hard -"@codama/nodes-from-anchor@npm:1.1.6": - version: 1.1.6 - resolution: "@codama/nodes-from-anchor@npm:1.1.6" - dependencies: - "@codama/errors": "npm:1.2.6" - "@codama/nodes": "npm:1.2.6" - "@codama/visitors": "npm:1.2.6" - "@noble/hashes": "npm:^1.7.1" - "@solana/codecs": "npm:2.0.0" - checksum: 10c0/4c3f8b15d48b78f17fd8e6408e58cc90e6317e5bf582d76d865c2372e7d6117b8d08db8b5eaa4c2fc78060cab3d8e2f48d62a2b3d013f58f8c8d0db9133f8d2f - languageName: node - linkType: hard - "@codama/nodes-from-anchor@npm:1.1.7, @codama/nodes-from-anchor@npm:^1.1.7": version: 1.1.7 resolution: "@codama/nodes-from-anchor@npm:1.1.7" @@ -1797,16 +1764,6 @@ __metadata: languageName: node linkType: hard -"@codama/nodes@npm:1.2.6": - version: 1.2.6 - resolution: "@codama/nodes@npm:1.2.6" - dependencies: - "@codama/errors": "npm:1.2.6" - "@codama/node-types": "npm:1.2.6" - checksum: 10c0/27663a6a11498121e51098da05bffcfb30e4957e24cd729d29a5336d3e6a5a724bbfdc2b99d7d26867a12e546436868a948ee4ceab1b6fd8c8687bfda7c38ccc - languageName: node - linkType: hard - "@codama/nodes@npm:1.2.7": version: 1.2.7 resolution: "@codama/nodes@npm:1.2.7" @@ -1817,17 +1774,6 @@ __metadata: languageName: node linkType: hard -"@codama/renderers-core@npm:1.0.8": - version: 1.0.8 - resolution: "@codama/renderers-core@npm:1.0.8" - dependencies: - "@codama/errors": "npm:1.2.6" - "@codama/nodes": "npm:1.2.6" - "@codama/visitors-core": "npm:1.2.6" - checksum: 10c0/d2a235ee7cbe6bf571d8607dc004b651aaa57565a7a09e26db40fa58ebf61dbbceac4e82f4278ffab974af7cd751cf0058eff9447c5bd48419b2102b7b475f77 - languageName: node - linkType: hard - "@codama/renderers-core@npm:1.0.9": version: 1.0.9 resolution: "@codama/renderers-core@npm:1.0.9" @@ -1855,7 +1801,7 @@ __metadata: languageName: node linkType: hard -"@codama/renderers-js@npm:1.2.6": +"@codama/renderers-js@npm:1.2.6, @codama/renderers-js@npm:^1.2.6": version: 1.2.6 resolution: "@codama/renderers-js@npm:1.2.6" dependencies: @@ -1871,22 +1817,6 @@ __metadata: languageName: node linkType: hard -"@codama/renderers-js@npm:^1.2.5": - version: 1.2.5 - resolution: "@codama/renderers-js@npm:1.2.5" - dependencies: - "@codama/errors": "npm:1.2.6" - "@codama/nodes": "npm:1.2.6" - "@codama/nodes-from-anchor": "npm:1.1.6" - "@codama/renderers-core": "npm:1.0.8" - "@codama/visitors-core": "npm:1.2.6" - "@solana/codecs-strings": "npm:rc" - nunjucks: "npm:^3.2.4" - prettier: "npm:^3.5.1" - checksum: 10c0/bc17794097de2d7204efd42e204aa6df6b5b2e550c81b26b3fb2631132ca3587168f543fdab78bc1f2edde6d8cc14b2580f95a90d24a7282db423dc4669a02e9 - languageName: node - linkType: hard - "@codama/renderers-rust@npm:1.0.15, @codama/renderers-rust@npm:^1.0.15": version: 1.0.15 resolution: "@codama/renderers-rust@npm:1.0.15" @@ -1923,17 +1853,6 @@ __metadata: languageName: node linkType: hard -"@codama/visitors-core@npm:1.2.6": - version: 1.2.6 - resolution: "@codama/visitors-core@npm:1.2.6" - dependencies: - "@codama/errors": "npm:1.2.6" - "@codama/nodes": "npm:1.2.6" - json-stable-stringify: "npm:^1.2.1" - checksum: 10c0/2bef96ff754aaeb08ac6a8c6812876ee083b47206a4ce7d556131716361f17407aee1d39720ae04c66e9066573feff4854eb44d72123d2c77e750c6a742afdf2 - languageName: node - linkType: hard - "@codama/visitors-core@npm:1.2.7": version: 1.2.7 resolution: "@codama/visitors-core@npm:1.2.7" @@ -1945,17 +1864,6 @@ __metadata: languageName: node linkType: hard -"@codama/visitors@npm:1.2.6": - version: 1.2.6 - resolution: "@codama/visitors@npm:1.2.6" - dependencies: - "@codama/errors": "npm:1.2.6" - "@codama/nodes": "npm:1.2.6" - "@codama/visitors-core": "npm:1.2.6" - checksum: 10c0/c21bd0de9bf634365afbd1c3225462075794bfb5e1a093ce0a1c0192becc166224e3140e264a1e1d43fb2ca2f2d78f5a9929268d8a88bc30094534791e7665c0 - languageName: node - linkType: hard - "@codama/visitors@npm:1.2.7": version: 1.2.7 resolution: "@codama/visitors@npm:1.2.7" @@ -4246,7 +4154,7 @@ __metadata: resolution: "@orca-so/whirlpools-client@workspace:ts-sdk/client" dependencies: "@codama/nodes-from-anchor": "npm:^1.1.7" - "@codama/renderers-js": "npm:^1.2.5" + "@codama/renderers-js": "npm:^1.2.6" "@orca-so/whirlpools-program": "npm:*" "@solana/web3.js": "npm:^2.0.0" codama: "npm:^1.2.7" @@ -15299,15 +15207,6 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.5.1": - version: 3.5.1 - resolution: "prettier@npm:3.5.1" - bin: - prettier: bin/prettier.cjs - checksum: 10c0/9f6f810eae455d6e4213845151a484a2338f2e0d6a8b84ee8e13a83af8a2421ef6c1e31e61e4b135671fb57b9541f6624648880cc2061ac803e243ac898c0123 - languageName: node - linkType: hard - "prettier@npm:^3.5.2": version: 3.5.2 resolution: "prettier@npm:3.5.2" From 76ccf1124893c319897fc38011562aabeef26d17 Mon Sep 17 00:00:00 2001 From: Wilhelm Thieme Date: Fri, 28 Feb 2025 12:04:57 -0500 Subject: [PATCH 2/6] Web3.js v3 -> Solana kit --- README.md | 2 +- docs/ts/README.md | 6 +- docs/whirlpool/docs/01-Welcome.mdx | 10 +- .../01-Whirlpools/02-Environment Setup.mdx | 8 +- .../01-Create Pool.mdx | 10 +- .../02-Fetch Pools.mdx | 6 +- .../01-Open Position.mdx | 16 +- .../02-Fetch Positions.mdx | 6 +- .../03-Adjust Liquidity.mdx | 6 +- .../04-Position Management/04-Harvest.mdx | 4 +- .../05-Close Position.mdx | 2 +- .../01-Whirlpools/05-Trade.mdx | 4 +- .../01-Whirlpools/06-Send Transaction.mdx | 44 +- .../03-Whirlpools Client.mdx | 8 +- .../docs/04-Legacy SDK/00-Installation.md | 4 +- .../05-Tour de Whirlpool/04-Check Balances.md | 72 +- .../05-Tour de Whirlpool/05-Send Tokens.md | 12 +- examples/ts-sdk/next/app/page.tsx | 2 +- examples/ts-sdk/next/package.json | 2 +- legacy-sdk/whirlpool/README.md | 2 +- ts-sdk/client/README.md | 8 +- ts-sdk/client/package.json | 4 +- ts-sdk/client/src/gpa/feeTier.ts | 4 +- ts-sdk/client/src/gpa/position.ts | 4 +- ts-sdk/client/src/gpa/positionBundle.ts | 4 +- ts-sdk/client/src/gpa/tickArray.ts | 4 +- ts-sdk/client/src/gpa/tokenBadge.ts | 4 +- ts-sdk/client/src/gpa/utils.ts | 4 +- ts-sdk/client/src/gpa/whirlpool.ts | 6 +- ts-sdk/client/src/gpa/whirlpoolsConfig.ts | 4 +- .../src/gpa/whirlpoolsConfigExtension.ts | 4 +- ts-sdk/client/src/pda/feeTier.ts | 4 +- ts-sdk/client/src/pda/oracle.ts | 4 +- ts-sdk/client/src/pda/position.ts | 4 +- ts-sdk/client/src/pda/positionBundle.ts | 4 +- ts-sdk/client/src/pda/tickArray.ts | 4 +- ts-sdk/client/src/pda/tokenBadge.ts | 4 +- ts-sdk/client/src/pda/whirlpool.ts | 4 +- .../src/pda/whirlpoolsConfigExtension.ts | 4 +- ts-sdk/client/tests/gpa.test.ts | 4 +- ts-sdk/client/tests/pda.test.ts | 2 +- ts-sdk/tx-sender/README.md | 2 +- ts-sdk/tx-sender/package.json | 7 +- ts-sdk/tx-sender/src/buildTransaction.ts | 4 +- ts-sdk/tx-sender/src/compatibility.ts | 4 +- ts-sdk/tx-sender/src/computeBudget.ts | 9 +- ts-sdk/tx-sender/src/config.ts | 2 +- ts-sdk/tx-sender/src/jito.ts | 4 +- ts-sdk/tx-sender/src/priorityFees.ts | 4 +- ts-sdk/tx-sender/src/sendTransaction.ts | 4 +- ts-sdk/tx-sender/tests/build.test.ts | 10 +- ts-sdk/tx-sender/tests/send.test.ts | 10 +- ts-sdk/tx-sender/tests/utils.ts | 4 +- ts-sdk/whirlpool/README.md | 6 +- ts-sdk/whirlpool/package.json | 4 +- ts-sdk/whirlpool/src/config.ts | 4 +- ts-sdk/whirlpool/src/createPool.ts | 8 +- ts-sdk/whirlpool/src/decreaseLiquidity.ts | 6 +- ts-sdk/whirlpool/src/harvest.ts | 4 +- ts-sdk/whirlpool/src/increaseLiquidity.ts | 10 +- ts-sdk/whirlpool/src/pool.ts | 8 +- ts-sdk/whirlpool/src/position.ts | 8 +- ts-sdk/whirlpool/src/swap.ts | 6 +- ts-sdk/whirlpool/src/token.ts | 4 +- ts-sdk/whirlpool/tests/closePosition.test.ts | 4 +- ts-sdk/whirlpool/tests/config.test.ts | 5 +- ts-sdk/whirlpool/tests/createPool.test.ts | 4 +- .../whirlpool/tests/decreaseLiquidity.test.ts | 2 +- ts-sdk/whirlpool/tests/e2e.test.ts | 2 +- ts-sdk/whirlpool/tests/harvest.test.ts | 2 +- .../whirlpool/tests/increaseLiquidity.test.ts | 2 +- ts-sdk/whirlpool/tests/openPosition.test.ts | 4 +- ts-sdk/whirlpool/tests/pool.test.ts | 2 +- ts-sdk/whirlpool/tests/position.test.ts | 4 +- ts-sdk/whirlpool/tests/swap.test.ts | 2 +- ts-sdk/whirlpool/tests/sysvar.test.ts | 2 +- ts-sdk/whirlpool/tests/token.test.ts | 4 +- ts-sdk/whirlpool/tests/utils/keypair.ts | 4 +- ts-sdk/whirlpool/tests/utils/mockRpc.ts | 8 +- ts-sdk/whirlpool/tests/utils/program.ts | 2 +- ts-sdk/whirlpool/tests/utils/token.ts | 2 +- .../whirlpool/tests/utils/tokenExtensions.ts | 2 +- yarn.lock | 640 ++++++++++-------- 83 files changed, 614 insertions(+), 529 deletions(-) diff --git a/README.md b/README.md index 1d76e37b3..d12427383 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ For specific use-cases you can opt for integrating with lower level packages suc * `@orca-so/whirlpools-client` & `orca_whirlpools_client` - auto-generated client for the Whirlpools program that contains account, instruction and error parsing. * `@orca-so/whirlpools-core` & `orca_whirlpools_core` - utility, math and quoting functions used by other packages. -The legacy Typescript SDK (`@orca-so/whirlpools-sdk`) remains a solid choice, and it’s currently the only option if your project uses Solana Web3.js versions below v2. +The legacy Typescript SDK (`@orca-so/whirlpools-sdk`) remains a solid choice, and it’s currently the only option if your project uses Solana Web3.js. For a more detailed overview of our SDK suite and usage examples, visit our [developer documentation](https://dev.orca.so/) site. diff --git a/docs/ts/README.md b/docs/ts/README.md index 82fb395a8..cd3502011 100644 --- a/docs/ts/README.md +++ b/docs/ts/README.md @@ -4,11 +4,11 @@ The Whirlpools SDKs are Orca's primary set of SDKs designed to provide enhanced, modular interaction with the Whirlpool Program on Solana and Eclipse. Whether you are managing liquidity, building applications that require pool infrastructure, or building automation tools that interact with the program, our SDKs cover a spectrum of functionality from low-level granular control to high-level abstractions. This offering is divided into three main components: -### 1. High-Level SDK (Requires Solana Web3.js ≥v2.0) +### 1. High-Level SDK (Requires Solana Kit) The High-Level SDK is our top recommendation for anyone who wants to integrate with the Whirlpool Program. It builds upon the Low-Level and Core SDKs to provide an easy-to-use interface for interacting with the Whirlpool Program. This SDK abstracts many of the underlying complexities, such as tick array management, and makes managing pools and positions, and executing swaps much simpler. It is suitable for developers who need efficient, high-level functionalities and want to minimize manual configuration and management. ### 2. Core SDK The Core SDK provides essential utilities for math operations and quotes, required for working with liquidity pools. This library focuses on calculations such as determining position status, price conversions, and computing quotes on adjusting liquidity and swaps. It is written in Rust but has been compiled to WebAssembly (Wasm) for easy integration into TypeScript projects. -### 3. Low-Level SDK (Requires Solana Web3.js SDK ≥v2.0) -The Low-Level SDK is autogenerated from our Interface Description Language (IDL) using Codama. This SDK provides direct program interactions and is designed for developers who need complete, low-level control over Whirlpool operations. It covers direct access to Solana accounts, instructions, and transactions. \ No newline at end of file +### 3. Low-Level SDK (Requires Solana Kit) +The Low-Level SDK is autogenerated from our Interface Description Language (IDL) using Codama. This SDK provides direct program interactions and is designed for developers who need complete, low-level control over Whirlpool operations. It covers direct access to Solana accounts, instructions, and transactions. diff --git a/docs/whirlpool/docs/01-Welcome.mdx b/docs/whirlpool/docs/01-Welcome.mdx index e68742e3b..9f8647e04 100644 --- a/docs/whirlpool/docs/01-Welcome.mdx +++ b/docs/whirlpool/docs/01-Welcome.mdx @@ -29,7 +29,7 @@ The Whirlpools SDKs are our primary set of SDKs designed to provide enhanced, mo #### 1. High-Level SDK - **TypeScript**: [@orca-so/whirlpools](https://www.npmjs.com/package/@orca-so/whirlpools) - - Compatible with Solana Web3.js SDK version `^2.0` + - Compatible with Solana Kit - **Rust**: [orca_whirlpools](https://crates.io/crates/orca_whirlpools) - Compatible with Solana SDK versions `^1.18.0` but `<3.0.0`. By default, Cargo will install the latest version of Solana SDK `^v2`. This can cause dependcy issues when using older versions. To solve this you can apply a lockfile patch with the following command: ```bash @@ -45,7 +45,7 @@ The Whirlpools SDKs are our primary set of SDKs designed to provide enhanced, mo #### 3. Low-Level SDK - **TypeScript**: [@orca-so/whirlpools-client](https://www.npmjs.com/package/@orca-so/whirlpools-client) - - Compatible with Solana Web3.js SDK version `^2.0` + - Compatible with Solana Kit - **Rust**: [orca_whirlpools_client](https://crates.io/crates/orca_whirlpools_client) - Compatible with `anchor` versions `^0.26` but `<0.30`. If you enable the `anchor` feature of `orca_whirlpools_client` in `cargo.toml` while using a version of anchor that's `^0.30` in your project, you may need to apply a lockfile patch to switch to a lower version: ```bash @@ -59,8 +59,8 @@ The Whirlpools SDKs are our primary set of SDKs designed to provide enhanced, mo - **Description**: The Low-Level SDK is autogenerated from the Whirlpool Program's Interface Description Language (IDL) using Codama. This SDK provides direct program interactions and is designed for developers who need complete, low-level control over Whirlpool operations. It covers direct access to Solana accounts, instructions, and transactions. ### Legacy SDK -- **TypeScript**: [@orca-so/whirlpools-sdk](https://www.npmjs.com/package/@orca-so/whirlpools-sdk) (Requires Solana Web3.js SDK ` ```tsx - import { createKeyPairSignerFromBytes } from '@solana/web3.js'; + import { createKeyPairSignerFromBytes } from '@solana/kit'; import fs from 'fs'; const keyPairBytes = new Uint8Array(JSON.parse(fs.readFileSync('path/to/solana-keypair.json', 'utf8'))); @@ -132,7 +132,7 @@ Once your wallet is created, you will need some SOL to pay for transactions. You ```tsx - import { generateKeyPair, createSolanaRpc, devnet, getAddressFromPublicKey } from '@solana/web3.js'; + import { generateKeyPair, createSolanaRpc, devnet, getAddressFromPublicKey } from '@solana/kit'; const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); const wallet = await generateKeyPairSigner(); @@ -183,4 +183,4 @@ After funding your wallet, you can set the wallet as the **FUNDER** for future t ## Next steps -Once you’ve completed the setup, you can move on to building more complex functionalities using the Orca SDK, such as creating and managing pools, providing liquidity, etc. Refer to individual function documentation to use this wallet setup in action. \ No newline at end of file +Once you’ve completed the setup, you can move on to building more complex functionalities using the Orca SDK, such as creating and managing pools, providing liquidity, etc. Refer to individual function documentation to use this wallet setup in action. diff --git a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/03-Whirlpool Management/01-Create Pool.mdx b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/03-Whirlpool Management/01-Create Pool.mdx index 4f74816dc..251ac0530 100644 --- a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/03-Whirlpool Management/01-Create Pool.mdx +++ b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/03-Whirlpool Management/01-Create Pool.mdx @@ -18,7 +18,7 @@ Liquidity pools are a foundational concept in DeFi, enabling users to trade toke - **Splash Pools**: Splash Pools are the simplest type of liquidity pool. They are ideal for those looking to launch a new token with minimal parameters. You only need to provide the mint addresses of the two tokens and set the initial price. Splash Pools offer an easy entry point into liquidity provision, making them especially appealing for community-driven projects like memecoins. These projects often prioritize community engagement over technical complexity, and Splash Pools provide a straightforward way to get started. -- **Concentrated Liquidity Pools:** Concentrated Liquidity Pools are more advanced and allow liquidity providers to concentrate their liquidity within specific price ranges. This results in higher capital efficiency but requires a deeper understanding of how to manage liquidity. Concentrated Liquidity Pools are better suited for experienced users who want greater control over their liquidity. +- **Concentrated Liquidity Pools:** Concentrated Liquidity Pools are more advanced and allow liquidity providers to concentrate their liquidity within specific price ranges. This results in higher capital efficiency but requires a deeper understanding of how to manage liquidity. Concentrated Liquidity Pools are better suited for experienced users who want greater control over their liquidity. ## 2. Getting Started Guide @@ -41,7 +41,7 @@ Splash Pools are the easiest way to get started: ```tsx import { createSplashPoolInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - import { generateKeyPairSigner, createSolanaRpc, devnet, address } from '@solana/web3.js'; + import { generateKeyPairSigner, createSolanaRpc, devnet, address } from '@solana/kit'; await setWhirlpoolsConfig('solanaDevnet'); const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); @@ -93,7 +93,7 @@ Splash Pools are the easiest way to get started: "Initialization Cost: {} lamports", result.initialization_cost ); - } + } ``` @@ -112,7 +112,7 @@ Concentrated Liquidity Pools offer more flexibility: ```tsx import { createConcentratedLiquidityPoolInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - import { generateKeyPairSigner, createSolanaRpc, devnet, address } from '@solana/web3.js'; + import { generateKeyPairSigner, createSolanaRpc, devnet, address } from '@solana/kit'; await setWhirlpoolsConfig('solanaDevnet'); const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); @@ -201,4 +201,4 @@ If you want to maximize capital efficiency, you can use the flexibility of Conce ## 4. Next Steps -After creating a liquidity pool, the pool is still empty and requires liquidity for people to trade against. To make the pool functional, open a position and add liquidity. This enables traders to swap between tokens and helps you start earning fees. \ No newline at end of file +After creating a liquidity pool, the pool is still empty and requires liquidity for people to trade against. To make the pool functional, open a position and add liquidity. This enables traders to swap between tokens and helps you start earning fees. diff --git a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/03-Whirlpool Management/02-Fetch Pools.mdx b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/03-Whirlpool Management/02-Fetch Pools.mdx index 415be2092..3c05c4154 100644 --- a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/03-Whirlpool Management/02-Fetch Pools.mdx +++ b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/03-Whirlpool Management/02-Fetch Pools.mdx @@ -30,7 +30,7 @@ Similarly, when using Fetch Pools, which iterates through all possible tick spac ```tsx import { fetchSplashPool, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + import { createSolanaRpc, devnet, address } from '@solana/kit'; await setWhirlpoolsConfig('solanaDevnet'); const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); @@ -85,7 +85,7 @@ Similarly, when using Fetch Pools, which iterates through all possible tick spac ```tsx import { fetchConcentratedLiquidityPool, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + import { createSolanaRpc, devnet, address } from '@solana/kit'; await setWhirlpoolsConfig('solanaDevnet'); const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); @@ -145,7 +145,7 @@ Similarly, when using Fetch Pools, which iterates through all possible tick spac ```tsx import { fetchWhirlpoolsByTokenPair, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + import { createSolanaRpc, devnet, address } from '@solana/kit'; await setWhirlpoolsConfig('solanaDevnet'); const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); diff --git a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/01-Open Position.mdx b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/01-Open Position.mdx index 72c5f443c..faa9f2b18 100644 --- a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/01-Open Position.mdx +++ b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/01-Open Position.mdx @@ -17,7 +17,7 @@ A position in a liquidity pool represents your contribution of liquidity, which Upon creation of the position, an NFT will be minted to represent ownership of the position. This NFT is used by the program to verify your ownership when adjusting liquidity, harvesting rewards, or closing the position. For more information, refer to [Tokenized Positions](../../../02-Architecture%20Overview/04-Tokenized%20Positions.md). > ⚠️ **Risk of Divergence loss**: The ratio of Token A to Token B that you deposit as liquidity is determined by several factors, including the current price. As trades occur against the pool, the amounts of Token A and Token B in the pool — and in your position — will change, which affects the price of the tokens relative to each other. This can work to your advantage, but it may also result in the combined value of your tokens (including any earned fees and rewards) being lower than when you initially provided liquidity. - + > ⚠️ Do not burn the position NFT, as burning it will result in the indefinite loss of your position and liquidity. ## 2. Getting Started Guide @@ -41,7 +41,7 @@ For more details, refer to our [Environment Setup Guide](../02-Environment%20Set ```tsx import { openFullRangePositionInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + import { createSolanaRpc, devnet, address } from '@solana/kit'; import { loadWallet } from './utils'; await setWhirlpoolsConfig('solanaDevnet'); @@ -82,9 +82,9 @@ For more details, refer to our [Environment Setup Guide](../02-Environment%20Set let wallet = load_wallet(); let whirlpool_address = Pubkey::from_str("3KBZiL2g8C7tiJ32hTv5v3KM7aK9htpqTw4cTXz1HvPt").unwrap(); let param = IncreaseLiquidityParam::TokenA(10); - + let result = open_full_range_position_instructions( - &rpc, + &rpc, whirlpool_address, param, Some(100), @@ -115,7 +115,7 @@ For more details, refer to our [Environment Setup Guide](../02-Environment%20Set ```tsx import { openPositionInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + import { createSolanaRpc, devnet, address } from '@solana/kit'; import { loadWallet } from './utils'; await setWhirlpoolsConfig('solanaDevnet'); @@ -158,9 +158,9 @@ For more details, refer to our [Environment Setup Guide](../02-Environment%20Set let wallet = load_wallet(); let whirlpool_address = Pubkey::from_str("3KBZiL2g8C7tiJ32hTv5v3KM7aK9htpqTw4cTXz1HvPt").unwrap(); let param = IncreaseLiquidityParam::TokenA(10); - + let result = open_position_instructions( - &rpc, + &rpc, whirlpool_address, 0.001, 100.0, @@ -192,4 +192,4 @@ After opening a position, you can: - [Add or Remove Liquidity](03-Adjust%20Liquidity.mdx): Adjust the amount of liquidity in your position based on market conditions. - [Harvest Rewards](04-Harvest.mdx): Collect rewards and fees without closing the position. - [Monitor Performance](02-Fetch%20Positions.mdx): Track your position's performance and earned fees. -- [Close Position](05-Close%20Position.mdx): When you decide to exit, close the position and withdraw the provided tokens along with any earned fees. \ No newline at end of file +- [Close Position](05-Close%20Position.mdx): When you decide to exit, close the position and withdraw the provided tokens along with any earned fees. diff --git a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/02-Fetch Positions.mdx b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/02-Fetch Positions.mdx index 55e574eb5..e3127150f 100644 --- a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/02-Fetch Positions.mdx +++ b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/02-Fetch Positions.mdx @@ -27,7 +27,7 @@ Fetching positions is a straightforward process: ```tsx import { fetchPositionsForOwner, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + import { createSolanaRpc, devnet, address } from '@solana/kit'; await setWhirlpoolsConfig('solanaDevnet'); const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); @@ -75,7 +75,7 @@ Fetching all positions in a Whirlpool is a straightforward process: ```tsx import { fetchPositionsInWhirlpool, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + import { createSolanaRpc, devnet, address } from '@solana/kit'; await setWhirlpoolsConfig('solanaDevnet'); const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); @@ -122,4 +122,4 @@ After fetching positions, you could: - [Harvest Rewards](04-Harvest.mdx): Collect rewards and fees without closing the position. - [Close Position](05-Close%20Position.mdx): When you decide to exit, close the position and withdraw the provided tokens along with any earned fees. -By fetching the positions, you gain visibility into your liquidity positions and can take necessary actions to optimize returns. \ No newline at end of file +By fetching the positions, you gain visibility into your liquidity positions and can take necessary actions to optimize returns. diff --git a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/03-Adjust Liquidity.mdx b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/03-Adjust Liquidity.mdx index 0acc0e91d..38a6f0fcb 100644 --- a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/03-Adjust Liquidity.mdx +++ b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/03-Adjust Liquidity.mdx @@ -33,7 +33,7 @@ Adjusting liquidity in an existing position can be done as follows: ```tsx import { decreaseLiquidityInstructions, increaseLiquidityInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + import { createSolanaRpc, devnet, address } from '@solana/kit'; import { loadWallet } from './utils'; await setWhirlpoolsConfig('solanaDevnet'); @@ -105,7 +105,7 @@ Adjusting liquidity in an existing position can be done as follows: ``` - + 7. **Submit Transaction**: Include the generated instructions in a Solana transaction and send it to the network using the Solana SDK. ## 3. Usage example @@ -118,4 +118,4 @@ After adjusting liquidity, you can: - [Harvest Rewards](04-Harvest.mdx): Collect any earned fees and rewards without closing your position. - Make Further Adjustments: Depending on market conditions, continue to adjust liquidity as needed to maximize returns or manage risk. -By using the SDK to adjust liquidity, you gain flexibility in managing your positions and optimizing your liquidity provision strategy. \ No newline at end of file +By using the SDK to adjust liquidity, you gain flexibility in managing your positions and optimizing your liquidity provision strategy. diff --git a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/04-Harvest.mdx b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/04-Harvest.mdx index fb87b6379..67f742b30 100644 --- a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/04-Harvest.mdx +++ b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/04-Harvest.mdx @@ -25,7 +25,7 @@ To harvest fees and rewards from a position, follow these steps: ```tsx import { harvestPositionInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + import { createSolanaRpc, devnet, address } from '@solana/kit'; import { loadWallet } from './utils'; await setWhirlpoolsConfig('solanaDevnet'); @@ -86,4 +86,4 @@ After harvesting fees and rewards, you can: - Reinvest Earnings: Use the harvested fees and rewards to add more liquidity or diversify your positions. - Harvest Regularly: Regularly collect your earnings to maintain optimal capital efficiency while keeping your liquidity active. -By using the SDK, you can maximize the benefits of providing liquidity while keeping your position open and continuously earning fees. \ No newline at end of file +By using the SDK, you can maximize the benefits of providing liquidity while keeping your position open and continuously earning fees. diff --git a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/05-Close Position.mdx b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/05-Close Position.mdx index 320a9e840..1115bffc8 100644 --- a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/05-Close Position.mdx +++ b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/04-Position Management/05-Close Position.mdx @@ -31,7 +31,7 @@ To close a position and withdraw all liquidity, follow these steps: ```tsx import { closePositionInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + import { createSolanaRpc, devnet, address } from '@solana/kit'; import { loadWallet } from './utils'; await setWhirlpoolsConfig('solanaDevnet'); diff --git a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/05-Trade.mdx b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/05-Trade.mdx index 5280f7ce7..099f432a2 100644 --- a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/05-Trade.mdx +++ b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/05-Trade.mdx @@ -41,7 +41,7 @@ To execute a token swap in an Orca Whirlpool, follow these steps: ```tsx import { setWhirlpoolsConfig, swapInstructions } from '@orca-so/whirlpools'; - import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + import { createSolanaRpc, devnet, address } from '@solana/kit'; import { loadWallet } from './utils'; await setWhirlpoolsConfig('solanaDevnet'); @@ -100,7 +100,7 @@ To execute a token swap in an Orca Whirlpool, follow these steps: } ``` - + 7. **Submit Transaction**: Include the generated instructions in a Solana transaction and send it to the network using the Solana SDK. diff --git a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/06-Send Transaction.mdx b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/06-Send Transaction.mdx index 5119403a0..1271053a9 100644 --- a/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/06-Send Transaction.mdx +++ b/docs/whirlpool/docs/03-Whirlpools SDKs/01-Whirlpools/06-Send Transaction.mdx @@ -24,27 +24,27 @@ Let's start by importing the necessary dependencies from Solana's SDKs. ```json title="package.json" "dependencies": { "@solana-program/compute-budget": "^0.6.1", - "@solana/web3.js": "^2.0.0", + "@solana/kit": "^2.1.0", }, ``` ```tsx title="sendTransaction.ts" - import { - createSolanaRpc, - address, - pipe, - createTransactionMessage, - setTransactionMessageFeePayer, - setTransactionMessageLifetimeUsingBlockhash, - appendTransactionMessageInstructions, - prependTransactionMessageInstructions, - signTransactionMessageWithSigners, - getComputeUnitEstimateForTransactionMessageFactory, - getBase64EncodedWireTransaction, - setTransactionMessageFeePayerSigner - } from '@solana/web3.js'; - import { - getSetComputeUnitLimitInstruction, - getSetComputeUnitPriceInstruction + import { + createSolanaRpc, + address, + pipe, + createTransactionMessage, + setTransactionMessageFeePayer, + setTransactionMessageLifetimeUsingBlockhash, + appendTransactionMessageInstructions, + prependTransactionMessageInstructions, + signTransactionMessageWithSigners, + getComputeUnitEstimateForTransactionMessageFactory, + getBase64EncodedWireTransaction, + setTransactionMessageFeePayerSigner + } from '@solana/kit'; + import { + getSetComputeUnitLimitInstruction, + getSetComputeUnitPriceInstruction } from '@solana-program/compute-budget'; ``` @@ -77,7 +77,7 @@ To send a transaction on Solana, you need to include a blockhash to the transact > **Durable Nonces**: In some cases, you might need a transaction to remain valid for longer than the typical blockhash lifespan, such as when scheduling future payments or collecting multi-signature approvals over time. In that case, you can use [durable nonces](https://solana.com/developers/courses/offline-transactions/durable-nonces) to sign the transaction, which includes a nonce in place of a recent blockhash. -You also need to add the signers to the transactions. With Solana web3.js v2, you can create instructions and add additional signers as `TransactionSigner` to the instructions. The Typescript Whirlpools SDK leverages this functioanlity and appends all additional signers to the instructions for you. In Rust, this feautures is not available. Therefore, the Rust Whirlpools SDK may return `instruction_result.additional_signers` if there are any, and you need to manually append them to the transaction. +You also need to add the signers to the transactions. With Solana Kit, you can create instructions and add additional signers as `TransactionSigner` to the instructions. The Typescript Whirlpools SDK leverages this functioanlity and appends all additional signers to the instructions for you. In Rust, this feautures is not available. Therefore, the Rust Whirlpools SDK may return `instruction_result.additional_signers` if there are any, and you need to manually append them to the transaction. Here's how the transaction message is created: @@ -132,7 +132,7 @@ The prioritization fee per compute unit also incentivizes validators to prioriti ```tsx title="sendTransaction.ts" - const getComputeUnitEstimateForTransactionMessage = + const getComputeUnitEstimateForTransactionMessage = getComputeUnitEstimateForTransactionMessageFactory({ rpc }); @@ -255,7 +255,7 @@ You're probably wondering why we don't just use the widely used `sendAndConfirm` break Err(Box::::from("Transaction timed out")); } let transaction_start_time = Instant::now(); - + let signature: Signature = rpc .send_transaction_with_config(&transaction, transaction_config) .await @@ -265,7 +265,7 @@ You're probably wondering why we don't just use the widely used `sendAndConfirm` .await .unwrap() .value; - + if let Some(status) = statuses[0].clone() { break Ok((status, signature)); } diff --git a/docs/whirlpool/docs/03-Whirlpools SDKs/03-Whirlpools Client.mdx b/docs/whirlpool/docs/03-Whirlpools SDKs/03-Whirlpools Client.mdx index 2ad922c51..916750843 100644 --- a/docs/whirlpool/docs/03-Whirlpools SDKs/03-Whirlpools Client.mdx +++ b/docs/whirlpool/docs/03-Whirlpools SDKs/03-Whirlpools Client.mdx @@ -18,7 +18,7 @@ This SDK provides developers with low-level functionalities for interacting with - **NOTE**: This SDK requires Solana Web3.js SDK v2. It is not compatible with the widely used v1.x.x version. + **NOTE**: This SDK requires Solana Kit. It is not compatible with Solana Web3.js. ```bash npm install @orca-so/whirlpools-client ``` @@ -50,7 +50,7 @@ The following example demonstrates how to fetch Whirlpools accounts based on spe ```tsx - import { createSolanaRpc, address, devnet } from '@solana/web3.js'; + import { createSolanaRpc, address, devnet } from '@solana/kit'; import { fetchAllWhirlpoolWithFilter, whirlpoolTokenMintAFilter } from "@orca-so/whirlpools-client"; const rpc = createSolanaRpc(devnet("https://api.devnet.solana.com")); @@ -76,7 +76,7 @@ To derive a PDA for a Whirlpool account, you can use the `getWhirlpoolAddress` P ```tsx import { getWhirlpoolAddress } from "@orca-so/whirlpools-client"; - import { address } from '@solana/web3.js'; + import { address } from '@solana/kit'; const whirlpoolConfigAddress = address("FcrweFY1G9HJAHG5inkGB6pKg1HZ6x9UC2WioAfWrGkR"); const tokenMintA = address("So11111111111111111111111111111111111111112"); //wSOL @@ -118,7 +118,7 @@ The following example demonstrates how to create an InitializePool instruction u ```tsx import { getInitializePoolV2Instruction, getTokenBadgeAddress, getWhirlpoolAddress, getFeeTierAddress } from "@orca-so/whirlpools-client"; - import { address, generateKeyPairSigner } from '@solana/web3.js'; + import { address, generateKeyPairSigner } from '@solana/kit'; const whirlpoolConfigAddress = address("FcrweFY1G9HJAHG5inkGB6pKg1HZ6x9UC2WioAfWrGkR"); const tokenMintA = address("So11111111111111111111111111111111111111112"); // wSOL diff --git a/docs/whirlpool/docs/04-Legacy SDK/00-Installation.md b/docs/whirlpool/docs/04-Legacy SDK/00-Installation.md index bf4bd3c28..9202940fe 100644 --- a/docs/whirlpool/docs/04-Legacy SDK/00-Installation.md +++ b/docs/whirlpool/docs/04-Legacy SDK/00-Installation.md @@ -1,6 +1,6 @@ # Installation -The legacy Whirlpools Typescript SDK (`@orca-so/whirlpools-sdk`) allows for easy interaction with a deployed Whirlpools program and is a solid choice if you are working the Solana Web3.js \([]); diff --git a/examples/ts-sdk/next/package.json b/examples/ts-sdk/next/package.json index c41e51715..1a8cf2203 100644 --- a/examples/ts-sdk/next/package.json +++ b/examples/ts-sdk/next/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@orca-so/whirlpools": "*", - "@solana/web3.js": "^2.0.0", + "@solana/kit": "^2.1.0", "next": "^15.2.0", "react": "^18.3.1", "react-dom": "^18.3.1" diff --git a/legacy-sdk/whirlpool/README.md b/legacy-sdk/whirlpool/README.md index e0f85ea8d..017806edc 100644 --- a/legacy-sdk/whirlpool/README.md +++ b/legacy-sdk/whirlpool/README.md @@ -2,7 +2,7 @@ Whirpools is an open-source concentrated liquidity AMM contract on the Solana blockchain. -The legacy Whirlpools Typescript SDK (`@orca-so/whirlpools-sdk`) allows for easy interaction with a deployed Whirlpools program and is a solid choice if you are working the Solana Web3.js \ **Note:** This SDK uses Solana Web3.js SDK v2. It is not compatible with the widely used v1.x.x version. +> **Note:** This SDK uses Solana Kit. It is not compatible with Solana Web3.js. ## Key Features - **Codama Client**: The package includes a set of generated client code based on the Whirlpool Program IDL. This ensures all the necessary program information is easily accessible in a structured format and handles all decoding and encoding of instructions and account data, making it much easier to interact with the program. @@ -24,7 +24,7 @@ Here are some basic examples of how to use the package. The following example demonstrates how to fetch Whirlpools accounts based on specific filters, using the GPA utilities: ```tsx -import { createSolanaRpc, address, devnet } from '@solana/web3.js'; +import { createSolanaRpc, address, devnet } from '@solana/kit'; import { fetchAllWhirlpoolWithFilter, whirlpoolTokenMintAFilter } from "@orca-so/whirlpools-client"; const rpc = createSolanaRpc(devnet("https://api.devnet.solana.com")); @@ -41,7 +41,7 @@ To derive a PDA for a Whirlpool account, you can use the `getWhirlpoolAddress` P ```tsx import { getWhirlpoolAddress } from "@orca-so/whirlpools-client"; -import { address } from '@solana/web3.js'; +import { address } from '@solana/kit'; const whirlpoolConfigAddress = address("FcrweFY1G9HJAHG5inkGB6pKg1HZ6x9UC2WioAfWrGkR"); const tokenMintA = address("So11111111111111111111111111111111111111112"); //wSOL @@ -62,7 +62,7 @@ The following example demonstrates how to create an InitializePool instruction u ```tsx import { getInitializePoolV2Instruction, getTokenBadgeAddress, getWhirlpoolAddress, getFeeTierAddress } from "@orca-so/whirlpools-client"; -import { address, generateKeyPairSigner } from '@solana/web3.js'; +import { address, generateKeyPairSigner } from '@solana/kit'; const whirlpoolConfigAddress = address("FcrweFY1G9HJAHG5inkGB6pKg1HZ6x9UC2WioAfWrGkR"); const tokenMintA = address("So11111111111111111111111111111111111111112"); // wSOL diff --git a/ts-sdk/client/package.json b/ts-sdk/client/package.json index 09f503073..cfeb43989 100644 --- a/ts-sdk/client/package.json +++ b/ts-sdk/client/package.json @@ -28,13 +28,13 @@ "clean": "rimraf dist src/generated" }, "peerDependencies": { - "@solana/web3.js": "^2.0.0" + "@solana/kit": "^2.1.0" }, "devDependencies": { "@codama/nodes-from-anchor": "^1.1.7", "@codama/renderers-js": "^1.2.6", "@orca-so/whirlpools-program": "*", - "@solana/web3.js": "^2.0.0", + "@solana/kit": "^2.1.0", "codama": "^1.2.7", "typescript": "^5.7.3" }, diff --git a/ts-sdk/client/src/gpa/feeTier.ts b/ts-sdk/client/src/gpa/feeTier.ts index 1c4b2287d..a97c5eff8 100644 --- a/ts-sdk/client/src/gpa/feeTier.ts +++ b/ts-sdk/client/src/gpa/feeTier.ts @@ -4,12 +4,12 @@ import type { GetProgramAccountsApi, GetProgramAccountsMemcmpFilter, Rpc, -} from "@solana/web3.js"; +} from "@solana/kit"; import { getAddressEncoder, getBase58Decoder, getU16Encoder, -} from "@solana/web3.js"; +} from "@solana/kit"; import type { FeeTier } from "../generated/accounts/feeTier"; import { FEE_TIER_DISCRIMINATOR, diff --git a/ts-sdk/client/src/gpa/position.ts b/ts-sdk/client/src/gpa/position.ts index 7b45648bf..67468ac2e 100644 --- a/ts-sdk/client/src/gpa/position.ts +++ b/ts-sdk/client/src/gpa/position.ts @@ -4,12 +4,12 @@ import type { GetProgramAccountsApi, Rpc, Address, -} from "@solana/web3.js"; +} from "@solana/kit"; import { getBase58Decoder, getAddressEncoder, getI32Encoder, -} from "@solana/web3.js"; +} from "@solana/kit"; import type { Position } from "../generated/accounts/position"; import { POSITION_DISCRIMINATOR, diff --git a/ts-sdk/client/src/gpa/positionBundle.ts b/ts-sdk/client/src/gpa/positionBundle.ts index 8608b7e70..3b82c4839 100644 --- a/ts-sdk/client/src/gpa/positionBundle.ts +++ b/ts-sdk/client/src/gpa/positionBundle.ts @@ -4,8 +4,8 @@ import type { GetProgramAccountsApi, GetProgramAccountsMemcmpFilter, Rpc, -} from "@solana/web3.js"; -import { getAddressEncoder, getBase58Decoder } from "@solana/web3.js"; +} from "@solana/kit"; +import { getAddressEncoder, getBase58Decoder } from "@solana/kit"; import type { PositionBundle } from "../generated/accounts/positionBundle"; import { POSITION_BUNDLE_DISCRIMINATOR, diff --git a/ts-sdk/client/src/gpa/tickArray.ts b/ts-sdk/client/src/gpa/tickArray.ts index 2105fc073..d3173f0b9 100644 --- a/ts-sdk/client/src/gpa/tickArray.ts +++ b/ts-sdk/client/src/gpa/tickArray.ts @@ -4,12 +4,12 @@ import type { GetProgramAccountsApi, GetProgramAccountsMemcmpFilter, Rpc, -} from "@solana/web3.js"; +} from "@solana/kit"; import { getAddressEncoder, getBase58Decoder, getI32Encoder, -} from "@solana/web3.js"; +} from "@solana/kit"; import type { TickArray } from "../generated/accounts/tickArray"; import { TICK_ARRAY_DISCRIMINATOR, diff --git a/ts-sdk/client/src/gpa/tokenBadge.ts b/ts-sdk/client/src/gpa/tokenBadge.ts index c8187f27f..2623225c7 100644 --- a/ts-sdk/client/src/gpa/tokenBadge.ts +++ b/ts-sdk/client/src/gpa/tokenBadge.ts @@ -4,8 +4,8 @@ import type { Account, GetProgramAccountsApi, Rpc, -} from "@solana/web3.js"; -import { getBase58Decoder, getAddressEncoder } from "@solana/web3.js"; +} from "@solana/kit"; +import { getBase58Decoder, getAddressEncoder } from "@solana/kit"; import type { TokenBadge } from "../generated/accounts/tokenBadge"; import { TOKEN_BADGE_DISCRIMINATOR, diff --git a/ts-sdk/client/src/gpa/utils.ts b/ts-sdk/client/src/gpa/utils.ts index 679bb6e5e..ddad3369f 100644 --- a/ts-sdk/client/src/gpa/utils.ts +++ b/ts-sdk/client/src/gpa/utils.ts @@ -5,8 +5,8 @@ import type { GetProgramAccountsMemcmpFilter, Rpc, VariableSizeDecoder, -} from "@solana/web3.js"; -import { getBase64Encoder } from "@solana/web3.js"; +} from "@solana/kit"; +import { getBase64Encoder } from "@solana/kit"; export async function fetchDecodedProgramAccounts( rpc: Rpc, diff --git a/ts-sdk/client/src/gpa/whirlpool.ts b/ts-sdk/client/src/gpa/whirlpool.ts index a3e20bea0..1af4f3664 100644 --- a/ts-sdk/client/src/gpa/whirlpool.ts +++ b/ts-sdk/client/src/gpa/whirlpool.ts @@ -4,12 +4,12 @@ import type { GetProgramAccountsApi, GetProgramAccountsMemcmpFilter, Rpc, -} from "@solana/web3.js"; +} from "@solana/kit"; import { getAddressEncoder, getBase58Decoder, getU16Encoder, -} from "@solana/web3.js"; +} from "@solana/kit"; import type { Whirlpool } from "../generated/accounts/whirlpool"; import { WHIRLPOOL_DISCRIMINATOR, @@ -208,7 +208,7 @@ export function whirlpoolRewardVault3Filter( * @returns {Promise[]>} A promise that resolves to an array of Whirlpool accounts. * * @example - * import { address, createSolanaRpc, devnet } from "@solana/web3.js"; + * import { address, createSolanaRpc, devnet } from "@solana/kit"; * import { fetchAllWhirlpoolWithFilter, whirlpoolWhirlpoolConfigFilter } from "@orca-so/whirlpools-client"; * * const rpcDevnet = createSolanaRpc(devnet("https://api.devnet.solana.com")); diff --git a/ts-sdk/client/src/gpa/whirlpoolsConfig.ts b/ts-sdk/client/src/gpa/whirlpoolsConfig.ts index a0cff1121..28548a07a 100644 --- a/ts-sdk/client/src/gpa/whirlpoolsConfig.ts +++ b/ts-sdk/client/src/gpa/whirlpoolsConfig.ts @@ -4,12 +4,12 @@ import type { Account, GetProgramAccountsApi, Rpc, -} from "@solana/web3.js"; +} from "@solana/kit"; import { getBase58Decoder, getAddressEncoder, getU16Encoder, -} from "@solana/web3.js"; +} from "@solana/kit"; import type { WhirlpoolsConfig } from "../generated/accounts/whirlpoolsConfig"; import { WHIRLPOOLS_CONFIG_DISCRIMINATOR, diff --git a/ts-sdk/client/src/gpa/whirlpoolsConfigExtension.ts b/ts-sdk/client/src/gpa/whirlpoolsConfigExtension.ts index 5fcf84b3e..414d25ee5 100644 --- a/ts-sdk/client/src/gpa/whirlpoolsConfigExtension.ts +++ b/ts-sdk/client/src/gpa/whirlpoolsConfigExtension.ts @@ -4,8 +4,8 @@ import type { Account, GetProgramAccountsApi, Rpc, -} from "@solana/web3.js"; -import { getBase58Decoder, getAddressEncoder } from "@solana/web3.js"; +} from "@solana/kit"; +import { getBase58Decoder, getAddressEncoder } from "@solana/kit"; import type { WhirlpoolsConfigExtension } from "../generated/accounts/whirlpoolsConfigExtension"; import { WHIRLPOOLS_CONFIG_EXTENSION_DISCRIMINATOR, diff --git a/ts-sdk/client/src/pda/feeTier.ts b/ts-sdk/client/src/pda/feeTier.ts index e3c14096a..d0545c4e9 100644 --- a/ts-sdk/client/src/pda/feeTier.ts +++ b/ts-sdk/client/src/pda/feeTier.ts @@ -1,9 +1,9 @@ -import type { Address, ProgramDerivedAddress } from "@solana/web3.js"; +import type { Address, ProgramDerivedAddress } from "@solana/kit"; import { getAddressEncoder, getProgramDerivedAddress, getU16Encoder, -} from "@solana/web3.js"; +} from "@solana/kit"; import { WHIRLPOOL_PROGRAM_ADDRESS } from "../generated/programs/whirlpool"; export async function getFeeTierAddress( diff --git a/ts-sdk/client/src/pda/oracle.ts b/ts-sdk/client/src/pda/oracle.ts index 3e314b958..943fe4c57 100644 --- a/ts-sdk/client/src/pda/oracle.ts +++ b/ts-sdk/client/src/pda/oracle.ts @@ -1,5 +1,5 @@ -import type { Address, ProgramDerivedAddress } from "@solana/web3.js"; -import { getAddressEncoder, getProgramDerivedAddress } from "@solana/web3.js"; +import type { Address, ProgramDerivedAddress } from "@solana/kit"; +import { getAddressEncoder, getProgramDerivedAddress } from "@solana/kit"; import { WHIRLPOOL_PROGRAM_ADDRESS } from "../generated/programs/whirlpool"; export async function getOracleAddress( diff --git a/ts-sdk/client/src/pda/position.ts b/ts-sdk/client/src/pda/position.ts index 01abe9eff..835803a1a 100644 --- a/ts-sdk/client/src/pda/position.ts +++ b/ts-sdk/client/src/pda/position.ts @@ -1,5 +1,5 @@ -import type { Address, ProgramDerivedAddress } from "@solana/web3.js"; -import { getAddressEncoder, getProgramDerivedAddress } from "@solana/web3.js"; +import type { Address, ProgramDerivedAddress } from "@solana/kit"; +import { getAddressEncoder, getProgramDerivedAddress } from "@solana/kit"; import { WHIRLPOOL_PROGRAM_ADDRESS } from "../generated/programs/whirlpool"; export async function getPositionAddress( diff --git a/ts-sdk/client/src/pda/positionBundle.ts b/ts-sdk/client/src/pda/positionBundle.ts index 7f12d295e..4b1d4b2f0 100644 --- a/ts-sdk/client/src/pda/positionBundle.ts +++ b/ts-sdk/client/src/pda/positionBundle.ts @@ -1,5 +1,5 @@ -import type { Address, ProgramDerivedAddress } from "@solana/web3.js"; -import { getAddressEncoder, getProgramDerivedAddress } from "@solana/web3.js"; +import type { Address, ProgramDerivedAddress } from "@solana/kit"; +import { getAddressEncoder, getProgramDerivedAddress } from "@solana/kit"; import { WHIRLPOOL_PROGRAM_ADDRESS } from "../generated/programs/whirlpool"; export async function getPositionBundleAddress( diff --git a/ts-sdk/client/src/pda/tickArray.ts b/ts-sdk/client/src/pda/tickArray.ts index 2c7b8add8..534651faf 100644 --- a/ts-sdk/client/src/pda/tickArray.ts +++ b/ts-sdk/client/src/pda/tickArray.ts @@ -1,5 +1,5 @@ -import type { Address, ProgramDerivedAddress } from "@solana/web3.js"; -import { getAddressEncoder, getProgramDerivedAddress } from "@solana/web3.js"; +import type { Address, ProgramDerivedAddress } from "@solana/kit"; +import { getAddressEncoder, getProgramDerivedAddress } from "@solana/kit"; import { WHIRLPOOL_PROGRAM_ADDRESS } from "../generated/programs/whirlpool"; export async function getTickArrayAddress( diff --git a/ts-sdk/client/src/pda/tokenBadge.ts b/ts-sdk/client/src/pda/tokenBadge.ts index 22d1c4206..686a27847 100644 --- a/ts-sdk/client/src/pda/tokenBadge.ts +++ b/ts-sdk/client/src/pda/tokenBadge.ts @@ -1,5 +1,5 @@ -import type { Address, ProgramDerivedAddress } from "@solana/web3.js"; -import { getAddressEncoder, getProgramDerivedAddress } from "@solana/web3.js"; +import type { Address, ProgramDerivedAddress } from "@solana/kit"; +import { getAddressEncoder, getProgramDerivedAddress } from "@solana/kit"; import { WHIRLPOOL_PROGRAM_ADDRESS } from "../generated/programs/whirlpool"; export async function getTokenBadgeAddress( diff --git a/ts-sdk/client/src/pda/whirlpool.ts b/ts-sdk/client/src/pda/whirlpool.ts index 74c6bb18e..a153543d2 100644 --- a/ts-sdk/client/src/pda/whirlpool.ts +++ b/ts-sdk/client/src/pda/whirlpool.ts @@ -1,9 +1,9 @@ -import type { Address, ProgramDerivedAddress } from "@solana/web3.js"; +import type { Address, ProgramDerivedAddress } from "@solana/kit"; import { getAddressEncoder, getProgramDerivedAddress, getU16Encoder, -} from "@solana/web3.js"; +} from "@solana/kit"; import { WHIRLPOOL_PROGRAM_ADDRESS } from "../generated/programs/whirlpool"; export async function getWhirlpoolAddress( diff --git a/ts-sdk/client/src/pda/whirlpoolsConfigExtension.ts b/ts-sdk/client/src/pda/whirlpoolsConfigExtension.ts index 430809463..a79f68e8f 100644 --- a/ts-sdk/client/src/pda/whirlpoolsConfigExtension.ts +++ b/ts-sdk/client/src/pda/whirlpoolsConfigExtension.ts @@ -1,5 +1,5 @@ -import type { Address, ProgramDerivedAddress } from "@solana/web3.js"; -import { getAddressEncoder, getProgramDerivedAddress } from "@solana/web3.js"; +import type { Address, ProgramDerivedAddress } from "@solana/kit"; +import { getAddressEncoder, getProgramDerivedAddress } from "@solana/kit"; import { WHIRLPOOL_PROGRAM_ADDRESS } from "../generated/programs/whirlpool"; export async function getWhirlpoolsConfigExtensionAddress( diff --git a/ts-sdk/client/tests/gpa.test.ts b/ts-sdk/client/tests/gpa.test.ts index e661a3374..b5577c885 100644 --- a/ts-sdk/client/tests/gpa.test.ts +++ b/ts-sdk/client/tests/gpa.test.ts @@ -6,13 +6,13 @@ import type { Address, GetProgramAccountsMemcmpFilter, ReadonlyUint8Array, -} from "@solana/web3.js"; +} from "@solana/kit"; import { createDefaultRpcTransport, createSolanaRpcFromTransport, getAddressDecoder, getBase58Encoder, -} from "@solana/web3.js"; +} from "@solana/kit"; import { feeTierFeeRateFilter, feeTierTickSpacingFilter, diff --git a/ts-sdk/client/tests/pda.test.ts b/ts-sdk/client/tests/pda.test.ts index 0cebb6af9..0aee42e05 100644 --- a/ts-sdk/client/tests/pda.test.ts +++ b/ts-sdk/client/tests/pda.test.ts @@ -1,4 +1,4 @@ -import { address } from "@solana/web3.js"; +import { address } from "@solana/kit"; import assert from "assert"; import { getFeeTierAddress } from "../src/pda/feeTier"; import { getOracleAddress } from "../src/pda/oracle"; diff --git a/ts-sdk/tx-sender/README.md b/ts-sdk/tx-sender/README.md index a5b5656da..13a9226ed 100644 --- a/ts-sdk/tx-sender/README.md +++ b/ts-sdk/tx-sender/README.md @@ -1,6 +1,6 @@ # @orca-so/tx-sender -A lightweight TypeScript package for building and sending Solana transactions with support for priority fees and Jito tips. (based on @solana/web3.js 2.0) +A lightweight TypeScript package for building and sending Solana transactions with support for priority fees and Jito tips. (based on @solana/kit 2.0) ## Key Features diff --git a/ts-sdk/tx-sender/package.json b/ts-sdk/tx-sender/package.json index 7fa06f698..d1675950d 100644 --- a/ts-sdk/tx-sender/package.json +++ b/ts-sdk/tx-sender/package.json @@ -33,11 +33,12 @@ "@solana-program/system": "^0.6.2" }, "peerDependencies": { - "@solana/web3.js": "^2.0.0" + "@solana/kit": "^2.1.0" }, "devDependencies": { - "@solana/web3.js": "^2.0.0", - "tsup": "^8.4.0" + "@solana/kit": "^2.1.0", + "tsup": "^8.4.0", + "typescript": "^5.7.3" }, "repository": { "type": "git", diff --git a/ts-sdk/tx-sender/src/buildTransaction.ts b/ts-sdk/tx-sender/src/buildTransaction.ts index f302592c5..8b309164b 100644 --- a/ts-sdk/tx-sender/src/buildTransaction.ts +++ b/ts-sdk/tx-sender/src/buildTransaction.ts @@ -6,7 +6,7 @@ import type { SolanaRpcApi, FullySignedTransaction, TransactionWithLifetime, -} from "@solana/web3.js"; +} from "@solana/kit"; import { compressTransactionMessageUsingAddressLookupTables, assertAccountDecoded, @@ -17,7 +17,7 @@ import { setTransactionMessageLifetimeUsingBlockhash, signTransactionMessageWithSigners, createNoopSigner, -} from "@solana/web3.js"; +} from "@solana/kit"; import { normalizeAddresses, rpcFromUrl } from "./compatibility"; import { fetchAllMaybeAddressLookupTable } from "@solana-program/address-lookup-table"; import { addPriorityInstructions } from "./priorityFees"; diff --git a/ts-sdk/tx-sender/src/compatibility.ts b/ts-sdk/tx-sender/src/compatibility.ts index 34cb08821..2a0d54ba1 100644 --- a/ts-sdk/tx-sender/src/compatibility.ts +++ b/ts-sdk/tx-sender/src/compatibility.ts @@ -1,6 +1,6 @@ import { createSolanaRpcApi, createRpc } from "@solana/rpc"; -import type { Address, Rpc, SolanaRpcApi } from "@solana/web3.js"; -import { createDefaultRpcTransport, address } from "@solana/web3.js"; +import type { Address, Rpc, SolanaRpcApi } from "@solana/kit"; +import { createDefaultRpcTransport, address } from "@solana/kit"; /** * Creates an RPC client instance for interacting with the SVM blockchains using the provided RPC URL. diff --git a/ts-sdk/tx-sender/src/computeBudget.ts b/ts-sdk/tx-sender/src/computeBudget.ts index e626f74ea..b5e69798d 100644 --- a/ts-sdk/tx-sender/src/computeBudget.ts +++ b/ts-sdk/tx-sender/src/computeBudget.ts @@ -2,16 +2,11 @@ import { getSetComputeUnitPriceInstruction, getSetComputeUnitLimitInstruction, } from "@solana-program/compute-budget"; -import type { - IInstruction, - MicroLamports, - Address, - Slot, -} from "@solana/web3.js"; +import type { IInstruction, MicroLamports, Address, Slot } from "@solana/kit"; import { prependTransactionMessageInstruction, isWritableRole, -} from "@solana/web3.js"; +} from "@solana/kit"; import { rpcFromUrl } from "./compatibility"; import type { Percentile } from "./config"; import { diff --git a/ts-sdk/tx-sender/src/config.ts b/ts-sdk/tx-sender/src/config.ts index 2286ffd19..f060ce5a1 100644 --- a/ts-sdk/tx-sender/src/config.ts +++ b/ts-sdk/tx-sender/src/config.ts @@ -1,4 +1,4 @@ -import type { Rpc, SolanaRpcApi } from "@solana/web3.js"; +import type { Rpc, SolanaRpcApi } from "@solana/kit"; import { rpcFromUrl } from "./compatibility"; let globalConfig: { diff --git a/ts-sdk/tx-sender/src/jito.ts b/ts-sdk/tx-sender/src/jito.ts index 354d52d5f..aa3331a8c 100644 --- a/ts-sdk/tx-sender/src/jito.ts +++ b/ts-sdk/tx-sender/src/jito.ts @@ -1,9 +1,9 @@ -import type { Address, TransactionSigner } from "@solana/web3.js"; +import type { Address, TransactionSigner } from "@solana/kit"; import { address, lamports, prependTransactionMessageInstruction, -} from "@solana/web3.js"; +} from "@solana/kit"; import { getJitoBlockEngineUrl, type JitoFeeSetting, diff --git a/ts-sdk/tx-sender/src/priorityFees.ts b/ts-sdk/tx-sender/src/priorityFees.ts index 3efa116bc..eda968ed5 100644 --- a/ts-sdk/tx-sender/src/priorityFees.ts +++ b/ts-sdk/tx-sender/src/priorityFees.ts @@ -9,8 +9,8 @@ import type { ITransactionMessageWithFeePayerSigner, TransactionMessageWithBlockhashLifetime, TransactionVersion, -} from "@solana/web3.js"; -import { getComputeUnitEstimateForTransactionMessageFactory } from "@solana/web3.js"; +} from "@solana/kit"; +import { getComputeUnitEstimateForTransactionMessageFactory } from "@solana/kit"; import { getJitoConfig, getRpcConfig } from "./config"; import { rpcFromUrl } from "./compatibility"; import { processJitoTipForTxMessage } from "./jito"; diff --git a/ts-sdk/tx-sender/src/sendTransaction.ts b/ts-sdk/tx-sender/src/sendTransaction.ts index 242294084..0eccd17c6 100644 --- a/ts-sdk/tx-sender/src/sendTransaction.ts +++ b/ts-sdk/tx-sender/src/sendTransaction.ts @@ -6,12 +6,12 @@ import type { FullySignedTransaction, Signature, Commitment, -} from "@solana/web3.js"; +} from "@solana/kit"; import { assertTransactionIsFullySigned, getBase64EncodedWireTransaction, getBase58Decoder, -} from "@solana/web3.js"; +} from "@solana/kit"; import { rpcFromUrl } from "./compatibility"; import { buildTransaction } from "./buildTransaction"; diff --git a/ts-sdk/tx-sender/tests/build.test.ts b/ts-sdk/tx-sender/tests/build.test.ts index a9fce2623..d402b0dfc 100644 --- a/ts-sdk/tx-sender/tests/build.test.ts +++ b/ts-sdk/tx-sender/tests/build.test.ts @@ -9,13 +9,13 @@ import type { Rpc, SolanaRpcApi, Address, -} from "@solana/web3.js"; +} from "@solana/kit"; import { generateKeyPairSigner, getBase64EncodedWireTransaction, -} from "@solana/web3.js"; +} from "@solana/kit"; import { getTransferSolInstruction } from "@solana-program/system"; -import { address } from "@solana/web3.js"; +import { address } from "@solana/kit"; import assert from "assert"; import { setRpc, @@ -57,8 +57,8 @@ vi.mock("@solana-program/address-lookup-table", async () => { }; }); -vi.mock("@solana/web3.js", async () => { - const actual = await vi.importActual("@solana/web3.js"); +vi.mock("@solana/kit", async () => { + const actual = await vi.importActual("@solana/kit"); return { ...actual, signTransactionMessageWithSigners: vi.fn().mockImplementation( diff --git a/ts-sdk/tx-sender/tests/send.test.ts b/ts-sdk/tx-sender/tests/send.test.ts index c46f2ee53..38d095de5 100644 --- a/ts-sdk/tx-sender/tests/send.test.ts +++ b/ts-sdk/tx-sender/tests/send.test.ts @@ -12,10 +12,10 @@ import type { Rpc, SolanaRpcApi, TransactionMessageBytes, -} from "@solana/web3.js"; -import { generateKeyPairSigner } from "@solana/web3.js"; +} from "@solana/kit"; +import { generateKeyPairSigner } from "@solana/kit"; import { getTransferSolInstruction } from "@solana-program/system"; -import { address } from "@solana/web3.js"; +import { address } from "@solana/kit"; import { setRpc, setPriorityFeeSetting, @@ -25,8 +25,8 @@ import { import { encodeTransaction } from "./utils"; import { buildTransaction } from "../src/buildTransaction"; -vi.mock("@solana/web3.js", async () => { - const actual = await vi.importActual("@solana/web3.js"); +vi.mock("@solana/kit", async () => { + const actual = await vi.importActual("@solana/kit"); return { ...actual, signTransactionMessageWithSigners: vi.fn().mockImplementation( diff --git a/ts-sdk/tx-sender/tests/utils.ts b/ts-sdk/tx-sender/tests/utils.ts index 4a4f85da6..0b2c02a18 100644 --- a/ts-sdk/tx-sender/tests/utils.ts +++ b/ts-sdk/tx-sender/tests/utils.ts @@ -7,7 +7,7 @@ import type { SignatureBytes, Rpc, SolanaRpcApi, -} from "@solana/web3.js"; +} from "@solana/kit"; import { getTransactionDecoder, getCompiledTransactionMessageDecoder, @@ -20,7 +20,7 @@ import { pipe, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, -} from "@solana/web3.js"; +} from "@solana/kit"; import { rpcFromUrl } from "../src/compatibility"; export async function decodeTransaction(base64EncodedTransaction: string) { diff --git a/ts-sdk/whirlpool/README.md b/ts-sdk/whirlpool/README.md index a8541961a..ece3dee5e 100644 --- a/ts-sdk/whirlpool/README.md +++ b/ts-sdk/whirlpool/README.md @@ -13,7 +13,7 @@ The Orca Whirlpools SDK provides a comprehensive set of tools to interact with t To install the SDK, use the following command: ```sh -npm install @orca-so/whirlpools @solana/web3.js@2 +npm install @orca-so/whirlpools @solana/kit@2 ``` ## Basic Usage @@ -22,7 +22,7 @@ npm install @orca-so/whirlpools @solana/web3.js@2 You can [generate a file system wallet using the Solana CLI](https://docs.solanalabs.com/cli/wallets/file-system) and load it in your program. ```tsx -import { createKeyPairSignerFromBytes } from '@solana/web3.js'; +import { createKeyPairSignerFromBytes } from '@solana/kit'; import fs from 'fs'; const keyPairBytes = new Uint8Array(JSON.parse(fs.readFileSync('path/to/solana-keypair.json', 'utf8'))); @@ -72,7 +72,7 @@ const { instructions, quote } = await swapInstructions( ### 4. Putting it all together ```tsx import { swapInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; -import { generateKeyPairSigner, createSolanaRpc, devnet } from '@solana/web3.js'; +import { generateKeyPairSigner, createSolanaRpc, devnet } from '@solana/kit'; const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); await setWhirlpoolsConfig('solanaDevnet'); diff --git a/ts-sdk/whirlpool/package.json b/ts-sdk/whirlpool/package.json index 613cbf3be..4c4db5327 100644 --- a/ts-sdk/whirlpool/package.json +++ b/ts-sdk/whirlpool/package.json @@ -36,10 +36,10 @@ "@solana-program/token-2022": "^0.3.4" }, "peerDependencies": { - "@solana/web3.js": "^2.0.0" + "@solana/kit": "^2.1.0" }, "devDependencies": { - "@solana/web3.js": "^2.0.0", + "@solana/kit": "^2.1.0", "solana-bankrun": "^0.4.0", "typescript": "^5.7.3" }, diff --git a/ts-sdk/whirlpool/src/config.ts b/ts-sdk/whirlpool/src/config.ts index 54737ab5d..b9aedc37f 100644 --- a/ts-sdk/whirlpool/src/config.ts +++ b/ts-sdk/whirlpool/src/config.ts @@ -1,6 +1,6 @@ import { getWhirlpoolsConfigExtensionAddress } from "@orca-so/whirlpools-client"; -import type { Address, TransactionSigner } from "@solana/web3.js"; -import { address, createNoopSigner, isAddress } from "@solana/web3.js"; +import type { Address, TransactionSigner } from "@solana/kit"; +import { address, createNoopSigner, isAddress } from "@solana/kit"; /** * The default (null) address. diff --git a/ts-sdk/whirlpool/src/createPool.ts b/ts-sdk/whirlpool/src/createPool.ts index 44d76c8ac..958b8258b 100644 --- a/ts-sdk/whirlpool/src/createPool.ts +++ b/ts-sdk/whirlpool/src/createPool.ts @@ -16,8 +16,8 @@ import type { Lamports, Rpc, TransactionSigner, -} from "@solana/web3.js"; -import { generateKeyPairSigner, lamports } from "@solana/web3.js"; +} from "@solana/kit"; +import { generateKeyPairSigner, lamports } from "@solana/kit"; import { fetchSysvarRent } from "@solana/sysvars"; import { DEFAULT_ADDRESS, @@ -63,7 +63,7 @@ export type CreatePoolInstructions = { * * @example * import { createSplashPoolInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - * import { generateKeyPairSigner, createSolanaRpc, devnet, address } from '@solana/web3.js'; + * import { generateKeyPairSigner, createSolanaRpc, devnet, address } from '@solana/kit'; * * await setWhirlpoolsConfig('solanaDevnet'); * const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); @@ -115,7 +115,7 @@ export function createSplashPoolInstructions( * * @example * import { createConcentratedLiquidityPoolInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - * import { generateKeyPairSigner, createSolanaRpc, devnet, address } from '@solana/web3.js'; + * import { generateKeyPairSigner, createSolanaRpc, devnet, address } from '@solana/kit'; * * await setWhirlpoolsConfig('solanaDevnet'); * const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); diff --git a/ts-sdk/whirlpool/src/decreaseLiquidity.ts b/ts-sdk/whirlpool/src/decreaseLiquidity.ts index 55e6c3ac1..48cd9f8fd 100644 --- a/ts-sdk/whirlpool/src/decreaseLiquidity.ts +++ b/ts-sdk/whirlpool/src/decreaseLiquidity.ts @@ -38,7 +38,7 @@ import type { IInstruction, Rpc, TransactionSigner, -} from "@solana/web3.js"; +} from "@solana/kit"; import { DEFAULT_ADDRESS, FUNDER, SLIPPAGE_TOLERANCE_BPS } from "./config"; import { findAssociatedTokenPda, @@ -143,7 +143,7 @@ function getDecreaseLiquidityQuote( * * @example * import { decreaseLiquidityInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - * import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + * import { createSolanaRpc, devnet, address } from '@solana/kit'; * import { loadWallet } from './utils'; * * await setWhirlpoolsConfig('solanaDevnet'); @@ -287,7 +287,7 @@ export type ClosePositionInstructions = DecreaseLiquidityInstructions & { * * @example * import { closePositionInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - * import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + * import { createSolanaRpc, devnet, address } from '@solana/kit'; * import { loadWallet } from './utils'; * * await setWhirlpoolsConfig('solanaDevnet'); diff --git a/ts-sdk/whirlpool/src/harvest.ts b/ts-sdk/whirlpool/src/harvest.ts index b856b0201..1fb1869dd 100644 --- a/ts-sdk/whirlpool/src/harvest.ts +++ b/ts-sdk/whirlpool/src/harvest.ts @@ -17,7 +17,7 @@ import type { GetMultipleAccountsApi, GetMinimumBalanceForRentExemptionApi, GetEpochInfoApi, -} from "@solana/web3.js"; +} from "@solana/kit"; import { DEFAULT_ADDRESS, FUNDER } from "./config"; import { fetchAllTickArray, @@ -69,7 +69,7 @@ export type HarvestPositionInstructions = { * A promise that resolves to an object containing the instructions, fees, and rewards quotes. * @example * import { harvestPositionInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - * import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + * import { createSolanaRpc, devnet, address } from '@solana/kit'; * import { loadWallet } from './utils'; * * await setWhirlpoolsConfig('solanaDevnet'); diff --git a/ts-sdk/whirlpool/src/increaseLiquidity.ts b/ts-sdk/whirlpool/src/increaseLiquidity.ts index dd174c9c5..00e956500 100644 --- a/ts-sdk/whirlpool/src/increaseLiquidity.ts +++ b/ts-sdk/whirlpool/src/increaseLiquidity.ts @@ -37,8 +37,8 @@ import type { Lamports, Rpc, TransactionSigner, -} from "@solana/web3.js"; -import { address, generateKeyPairSigner, lamports } from "@solana/web3.js"; +} from "@solana/kit"; +import { address, generateKeyPairSigner, lamports } from "@solana/kit"; import { fetchSysvarRent } from "@solana/sysvars"; import { DEFAULT_ADDRESS, @@ -150,7 +150,7 @@ function getIncreaseLiquidityQuote( * * @example * import { increaseLiquidityInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - * import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + * import { createSolanaRpc, devnet, address } from '@solana/kit'; * import { loadWallet } from './utils'; * * await setWhirlpoolsConfig('solanaDevnet'); @@ -478,7 +478,7 @@ async function internalOpenPositionInstructions( * * @example * import { openFullRangePositionInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - * import { generateKeyPairSigner, createSolanaRpc, devnet, address } from '@solana/web3.js'; + * import { generateKeyPairSigner, createSolanaRpc, devnet, address } from '@solana/kit'; * * await setWhirlpoolsConfig('solanaDevnet'); * const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); @@ -545,7 +545,7 @@ export async function openFullRangePositionInstructions( * * @example * import { openPositionInstructions, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - * import { generateKeyPairSigner, createSolanaRpc, devnet, address } from '@solana/web3.js'; + * import { generateKeyPairSigner, createSolanaRpc, devnet, address } from '@solana/kit'; * * await setWhirlpoolsConfig('solanaDevnet'); * const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); diff --git a/ts-sdk/whirlpool/src/pool.ts b/ts-sdk/whirlpool/src/pool.ts index c121edc16..a49e0848a 100644 --- a/ts-sdk/whirlpool/src/pool.ts +++ b/ts-sdk/whirlpool/src/pool.ts @@ -15,7 +15,7 @@ import type { GetMultipleAccountsApi, Address, GetProgramAccountsApi, -} from "@solana/web3.js"; +} from "@solana/kit"; import { SPLASH_POOL_TICK_SPACING, WHIRLPOOLS_CONFIG_ADDRESS } from "./config"; import { orderMints } from "./token"; import { sqrtPriceToPrice } from "@orca-so/whirlpools-core"; @@ -65,7 +65,7 @@ export type PoolInfo = (InitializablePool | InitializedPool) & { * * @example * import { fetchSplashPool, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - * import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + * import { createSolanaRpc, devnet, address } from '@solana/kit'; * * await setWhirlpoolsConfig('solanaDevnet'); * const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); @@ -108,7 +108,7 @@ export async function fetchSplashPool( * * @example * import { fetchConcentratedLiquidityPool, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - * import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + * import { createSolanaRpc, devnet, address } from '@solana/kit'; * * await setWhirlpoolsConfig('solanaDevnet'); * const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); @@ -194,7 +194,7 @@ export async function fetchConcentratedLiquidityPool( * * @example * import { fetchWhirlpoolsByTokenPair, setWhirlpoolsConfig } from '@orca-so/whirlpools'; - * import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + * import { createSolanaRpc, devnet, address } from '@solana/kit'; * * await setWhirlpoolsConfig('solanaDevnet'); * const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); diff --git a/ts-sdk/whirlpool/src/position.ts b/ts-sdk/whirlpool/src/position.ts index f093c19a2..73da448d4 100644 --- a/ts-sdk/whirlpool/src/position.ts +++ b/ts-sdk/whirlpool/src/position.ts @@ -19,8 +19,8 @@ import type { GetProgramAccountsApi, GetTokenAccountsByOwnerApi, Rpc, -} from "@solana/web3.js"; -import { getBase64Encoder } from "@solana/web3.js"; +} from "@solana/kit"; +import { getBase64Encoder } from "@solana/kit"; /** * Represents a Position account. @@ -82,7 +82,7 @@ function getPositionInBundleAddresses( * * @example * import { fetchPositionsForOwner } from '@orca-so/whirlpools'; - * import { generateKeyPairSigner, createSolanaRpc, devnet } from '@solana/web3.js'; + * import { generateKeyPairSigner, createSolanaRpc, devnet } from '@solana/kit'; * * const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); * const wallet = address("INSERT_WALLET_ADDRESS"); @@ -190,7 +190,7 @@ export async function fetchPositionsForOwner( * * @example * import { fetchPositionsInWhirlpool } from '@orca-so/whirlpools'; - * import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + * import { createSolanaRpc, devnet, address } from '@solana/kit'; * * const devnetRpc = createSolanaRpc(devnet('https://api.devnet.solana.com')); * diff --git a/ts-sdk/whirlpool/src/swap.ts b/ts-sdk/whirlpool/src/swap.ts index a7730296c..178d962bc 100644 --- a/ts-sdk/whirlpool/src/swap.ts +++ b/ts-sdk/whirlpool/src/swap.ts @@ -8,8 +8,8 @@ import type { IInstruction, Rpc, TransactionSigner, -} from "@solana/web3.js"; -import { AccountRole, lamports } from "@solana/web3.js"; +} from "@solana/kit"; +import { AccountRole, lamports } from "@solana/kit"; import { FUNDER, SLIPPAGE_TOLERANCE_BPS } from "./config"; import type { ExactInSwapQuote, @@ -204,7 +204,7 @@ function getSwapQuote( * * @example * import { setWhirlpoolsConfig, swapInstructions } from '@orca-so/whirlpools'; - * import { createSolanaRpc, devnet, address } from '@solana/web3.js'; + * import { createSolanaRpc, devnet, address } from '@solana/kit'; * import { loadWallet } from './utils'; * * await setWhirlpoolsConfig('solanaDevnet'); diff --git a/ts-sdk/whirlpool/src/token.ts b/ts-sdk/whirlpool/src/token.ts index 7d677e892..1f57ee959 100644 --- a/ts-sdk/whirlpool/src/token.ts +++ b/ts-sdk/whirlpool/src/token.ts @@ -18,14 +18,14 @@ import type { MaybeAccount, Rpc, TransactionSigner, -} from "@solana/web3.js"; +} from "@solana/kit"; import { address, generateKeyPairSigner, getAddressDecoder, getAddressEncoder, lamports, -} from "@solana/web3.js"; +} from "@solana/kit"; import { NATIVE_MINT_WRAPPING_STRATEGY } from "./config"; import { getCreateAccountInstruction, diff --git a/ts-sdk/whirlpool/tests/closePosition.test.ts b/ts-sdk/whirlpool/tests/closePosition.test.ts index 1e1aa4cdb..195f5ea47 100644 --- a/ts-sdk/whirlpool/tests/closePosition.test.ts +++ b/ts-sdk/whirlpool/tests/closePosition.test.ts @@ -3,8 +3,8 @@ import { getPositionAddress, } from "@orca-so/whirlpools-client"; import { fetchToken } from "@solana-program/token"; -import type { Address } from "@solana/web3.js"; -import { address } from "@solana/web3.js"; +import type { Address } from "@solana/kit"; +import { address } from "@solana/kit"; import assert from "assert"; import { beforeAll, describe, it } from "vitest"; import { closePositionInstructions } from "../src/decreaseLiquidity"; diff --git a/ts-sdk/whirlpool/tests/config.test.ts b/ts-sdk/whirlpool/tests/config.test.ts index 65d7c8b4a..5f996f3ce 100644 --- a/ts-sdk/whirlpool/tests/config.test.ts +++ b/ts-sdk/whirlpool/tests/config.test.ts @@ -17,10 +17,7 @@ import { DEFAULT_WHIRLPOOLS_CONFIG_ADDRESSES, } from "../src/config"; import assert from "assert"; -import { - address, - createKeyPairSignerFromPrivateKeyBytes, -} from "@solana/web3.js"; +import { address, createKeyPairSignerFromPrivateKeyBytes } from "@solana/kit"; // Tests in order, which is important here diff --git a/ts-sdk/whirlpool/tests/createPool.test.ts b/ts-sdk/whirlpool/tests/createPool.test.ts index 833a9dbe7..f54ab747b 100644 --- a/ts-sdk/whirlpool/tests/createPool.test.ts +++ b/ts-sdk/whirlpool/tests/createPool.test.ts @@ -13,8 +13,8 @@ import { setupMintTE, setupMintTEFee } from "./utils/tokenExtensions"; import { rpc, sendTransaction, signer } from "./utils/mockRpc"; import { fetchMaybeWhirlpool } from "@orca-so/whirlpools-client"; import assert from "assert"; -import type { Address } from "@solana/web3.js"; -import { assertAccountExists } from "@solana/web3.js"; +import type { Address } from "@solana/kit"; +import { assertAccountExists } from "@solana/kit"; import { _TICK_ARRAY_SIZE, priceToSqrtPrice } from "@orca-so/whirlpools-core"; describe("Create Pool", () => { diff --git a/ts-sdk/whirlpool/tests/decreaseLiquidity.test.ts b/ts-sdk/whirlpool/tests/decreaseLiquidity.test.ts index 4332d379a..5e9b7ce95 100644 --- a/ts-sdk/whirlpool/tests/decreaseLiquidity.test.ts +++ b/ts-sdk/whirlpool/tests/decreaseLiquidity.test.ts @@ -1,6 +1,6 @@ import { fetchPosition, getPositionAddress } from "@orca-so/whirlpools-client"; import { fetchToken } from "@solana-program/token-2022"; -import type { Address } from "@solana/web3.js"; +import type { Address } from "@solana/kit"; import assert from "assert"; import { beforeAll, describe, it } from "vitest"; import { DEFAULT_FUNDER, setDefaultFunder } from "../src/config"; diff --git a/ts-sdk/whirlpool/tests/e2e.test.ts b/ts-sdk/whirlpool/tests/e2e.test.ts index 23824f332..c7513a507 100644 --- a/ts-sdk/whirlpool/tests/e2e.test.ts +++ b/ts-sdk/whirlpool/tests/e2e.test.ts @@ -10,7 +10,7 @@ import { import { sendTransaction, rpc } from "./utils/mockRpc"; import { SPLASH_POOL_TICK_SPACING } from "../src/config"; import { swapInstructions } from "../src/swap"; -import type { Address } from "@solana/web3.js"; +import type { Address } from "@solana/kit"; import { harvestPositionInstructions } from "../src/harvest"; import { decreaseLiquidityInstructions, diff --git a/ts-sdk/whirlpool/tests/harvest.test.ts b/ts-sdk/whirlpool/tests/harvest.test.ts index fec3b2fd5..5ae79085d 100644 --- a/ts-sdk/whirlpool/tests/harvest.test.ts +++ b/ts-sdk/whirlpool/tests/harvest.test.ts @@ -1,5 +1,5 @@ import { fetchToken } from "@solana-program/token"; -import type { Address } from "@solana/web3.js"; +import type { Address } from "@solana/kit"; import assert from "assert"; import { beforeAll, describe, it } from "vitest"; import { harvestPositionInstructions } from "../src/harvest"; diff --git a/ts-sdk/whirlpool/tests/increaseLiquidity.test.ts b/ts-sdk/whirlpool/tests/increaseLiquidity.test.ts index c95a3333c..9097a5871 100644 --- a/ts-sdk/whirlpool/tests/increaseLiquidity.test.ts +++ b/ts-sdk/whirlpool/tests/increaseLiquidity.test.ts @@ -4,7 +4,7 @@ import { rpc, signer, sendTransaction } from "./utils/mockRpc"; import { setupMint, setupAta } from "./utils/token"; import { fetchPosition, getPositionAddress } from "@orca-so/whirlpools-client"; import { fetchToken } from "@solana-program/token-2022"; -import type { Address } from "@solana/web3.js"; +import type { Address } from "@solana/kit"; import assert from "assert"; import { setupPosition, diff --git a/ts-sdk/whirlpool/tests/openPosition.test.ts b/ts-sdk/whirlpool/tests/openPosition.test.ts index 85c3aedb1..2d4c96e94 100644 --- a/ts-sdk/whirlpool/tests/openPosition.test.ts +++ b/ts-sdk/whirlpool/tests/openPosition.test.ts @@ -1,6 +1,6 @@ import { describe, it, beforeAll } from "vitest"; -import type { Address } from "@solana/web3.js"; -import { assertAccountExists } from "@solana/web3.js"; +import type { Address } from "@solana/kit"; +import { assertAccountExists } from "@solana/kit"; import { setupAta, setupMint } from "./utils/token"; import { setupAtaTE, diff --git a/ts-sdk/whirlpool/tests/pool.test.ts b/ts-sdk/whirlpool/tests/pool.test.ts index af0724c70..558e97815 100644 --- a/ts-sdk/whirlpool/tests/pool.test.ts +++ b/ts-sdk/whirlpool/tests/pool.test.ts @@ -10,7 +10,7 @@ import { SPLASH_POOL_TICK_SPACING, WHIRLPOOLS_CONFIG_ADDRESS, } from "../src/config"; -import type { Address } from "@solana/web3.js"; +import type { Address } from "@solana/kit"; import { setupMint } from "./utils/token"; import { setupWhirlpool } from "./utils/program"; import { getWhirlpoolAddress } from "@orca-so/whirlpools-client"; diff --git a/ts-sdk/whirlpool/tests/position.test.ts b/ts-sdk/whirlpool/tests/position.test.ts index 4e801ea62..93c9deaa5 100644 --- a/ts-sdk/whirlpool/tests/position.test.ts +++ b/ts-sdk/whirlpool/tests/position.test.ts @@ -1,5 +1,5 @@ -import type { Address } from "@solana/web3.js"; -import { generateKeyPairSigner } from "@solana/web3.js"; +import type { Address } from "@solana/kit"; +import { generateKeyPairSigner } from "@solana/kit"; import { assert, beforeAll, describe, it } from "vitest"; import { setupAta, setupMint } from "./utils/token"; import { diff --git a/ts-sdk/whirlpool/tests/swap.test.ts b/ts-sdk/whirlpool/tests/swap.test.ts index f309cc09f..ffba6dc6d 100644 --- a/ts-sdk/whirlpool/tests/swap.test.ts +++ b/ts-sdk/whirlpool/tests/swap.test.ts @@ -1,5 +1,5 @@ import { fetchToken } from "@solana-program/token-2022"; -import type { Address } from "@solana/web3.js"; +import type { Address } from "@solana/kit"; import assert from "assert"; import { beforeAll, describe, it } from "vitest"; import { swapInstructions } from "../src/swap"; diff --git a/ts-sdk/whirlpool/tests/sysvar.test.ts b/ts-sdk/whirlpool/tests/sysvar.test.ts index 8c55429f4..1a67c00f4 100644 --- a/ts-sdk/whirlpool/tests/sysvar.test.ts +++ b/ts-sdk/whirlpool/tests/sysvar.test.ts @@ -1,6 +1,6 @@ import { describe, it } from "vitest"; import type { SysvarRent } from "@solana/sysvars"; -import { lamports } from "@solana/web3.js"; +import { lamports } from "@solana/kit"; import { calculateMinimumBalanceForRentExemption } from "../src/sysvar"; import assert from "assert"; diff --git a/ts-sdk/whirlpool/tests/token.test.ts b/ts-sdk/whirlpool/tests/token.test.ts index dec837071..6f88f70c4 100644 --- a/ts-sdk/whirlpool/tests/token.test.ts +++ b/ts-sdk/whirlpool/tests/token.test.ts @@ -22,8 +22,8 @@ import { prepareTokenAccountsInstructions, } from "../src/token"; import assert from "assert"; -import type { Address } from "@solana/web3.js"; -import { address } from "@solana/web3.js"; +import type { Address } from "@solana/kit"; +import { address } from "@solana/kit"; import { setupAta, setupMint } from "./utils/token"; import { setupMintTE, setupMintTEFee } from "./utils/tokenExtensions"; diff --git a/ts-sdk/whirlpool/tests/utils/keypair.ts b/ts-sdk/whirlpool/tests/utils/keypair.ts index 6b23baa0b..50a105820 100644 --- a/ts-sdk/whirlpool/tests/utils/keypair.ts +++ b/ts-sdk/whirlpool/tests/utils/keypair.ts @@ -1,5 +1,5 @@ -import type { KeyPairSigner } from "@solana/web3.js"; -import { generateKeyPairSigner } from "@solana/web3.js"; +import type { KeyPairSigner } from "@solana/kit"; +import { generateKeyPairSigner } from "@solana/kit"; import { orderMints } from "../../src/token"; const keypairs = await Promise.all( diff --git a/ts-sdk/whirlpool/tests/utils/mockRpc.ts b/ts-sdk/whirlpool/tests/utils/mockRpc.ts index 44782bd19..dd32c5370 100644 --- a/ts-sdk/whirlpool/tests/utils/mockRpc.ts +++ b/ts-sdk/whirlpool/tests/utils/mockRpc.ts @@ -1,8 +1,4 @@ -import type { - Address, - IInstruction, - VariableSizeDecoder, -} from "@solana/web3.js"; +import type { Address, IInstruction, VariableSizeDecoder } from "@solana/kit"; import { appendTransactionMessageInstructions, assertIsAddress, @@ -20,7 +16,7 @@ import { setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransactionMessageWithSigners, -} from "@solana/web3.js"; +} from "@solana/kit"; import assert from "assert"; import type { ProgramTestContext } from "solana-bankrun/dist/internal"; import { Account, startAnchor } from "solana-bankrun/dist/internal"; diff --git a/ts-sdk/whirlpool/tests/utils/program.ts b/ts-sdk/whirlpool/tests/utils/program.ts index 687133da6..8b41f956d 100644 --- a/ts-sdk/whirlpool/tests/utils/program.ts +++ b/ts-sdk/whirlpool/tests/utils/program.ts @@ -28,7 +28,7 @@ import { findAssociatedTokenPda, TOKEN_2022_PROGRAM_ADDRESS, } from "@solana-program/token-2022"; -import { address, type Address, type IInstruction } from "@solana/web3.js"; +import { address, type Address, type IInstruction } from "@solana/kit"; import { SPLASH_POOL_TICK_SPACING, WHIRLPOOLS_CONFIG_ADDRESS, diff --git a/ts-sdk/whirlpool/tests/utils/token.ts b/ts-sdk/whirlpool/tests/utils/token.ts index a0fb9500d..93cc68ec7 100644 --- a/ts-sdk/whirlpool/tests/utils/token.ts +++ b/ts-sdk/whirlpool/tests/utils/token.ts @@ -11,7 +11,7 @@ import { getMintToInstruction, getSyncNativeInstruction, } from "@solana-program/token"; -import type { Address, IInstruction } from "@solana/web3.js"; +import type { Address, IInstruction } from "@solana/kit"; import { signer, sendTransaction } from "./mockRpc"; import { NATIVE_MINT } from "../../src/token"; import { getNextKeypair } from "./keypair"; diff --git a/ts-sdk/whirlpool/tests/utils/tokenExtensions.ts b/ts-sdk/whirlpool/tests/utils/tokenExtensions.ts index 2b3c640e6..bcdb66aa2 100644 --- a/ts-sdk/whirlpool/tests/utils/tokenExtensions.ts +++ b/ts-sdk/whirlpool/tests/utils/tokenExtensions.ts @@ -9,7 +9,7 @@ import { getInitializeTransferFeeConfigInstruction, getSetTransferFeeInstruction, } from "@solana-program/token-2022"; -import type { Address, IInstruction } from "@solana/web3.js"; +import type { Address, IInstruction } from "@solana/kit"; import { sendTransaction, signer } from "./mockRpc"; import { getCreateAccountInstruction } from "@solana-program/system"; import { DEFAULT_ADDRESS } from "../../src/config"; diff --git a/yarn.lock b/yarn.lock index b021abfdb..7b54133a5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4142,10 +4142,11 @@ __metadata: "@solana-program/address-lookup-table": "npm:^0.6.1" "@solana-program/compute-budget": "npm:^0.6.1" "@solana-program/system": "npm:^0.6.2" - "@solana/web3.js": "npm:^2.0.0" + "@solana/kit": "npm:^2.1.0" tsup: "npm:^8.4.0" + typescript: "npm:^5.7.3" peerDependencies: - "@solana/web3.js": ^2.0.0 + "@solana/kit": ^2.1.0 languageName: unknown linkType: soft @@ -4156,11 +4157,11 @@ __metadata: "@codama/nodes-from-anchor": "npm:^1.1.7" "@codama/renderers-js": "npm:^1.2.6" "@orca-so/whirlpools-program": "npm:*" - "@solana/web3.js": "npm:^2.0.0" + "@solana/kit": "npm:^2.1.0" codama: "npm:^1.2.7" typescript: "npm:^5.7.3" peerDependencies: - "@solana/web3.js": ^2.0.0 + "@solana/kit": ^2.1.0 languageName: unknown linkType: soft @@ -4251,7 +4252,7 @@ __metadata: dependencies: "@next/bundle-analyzer": "npm:^15.2.0" "@orca-so/whirlpools": "npm:*" - "@solana/web3.js": "npm:^2.0.0" + "@solana/kit": "npm:^2.1.0" "@types/node": "npm:^22.13.5" "@types/react": "npm:^18.3.13" copy-webpack-plugin: "npm:^13.0.0" @@ -4413,11 +4414,11 @@ __metadata: "@solana-program/system": "npm:^0.6.2" "@solana-program/token": "npm:^0.4.1" "@solana-program/token-2022": "npm:^0.3.4" - "@solana/web3.js": "npm:^2.0.0" + "@solana/kit": "npm:^2.1.0" solana-bankrun: "npm:^0.4.0" typescript: "npm:^5.7.3" peerDependencies: - "@solana/web3.js": ^2.0.0 + "@solana/kit": ^2.1.0 languageName: unknown linkType: soft @@ -4731,44 +4732,44 @@ __metadata: languageName: node linkType: hard -"@solana/accounts@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/accounts@npm:2.0.0" +"@solana/accounts@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/accounts@npm:2.1.0" dependencies: - "@solana/addresses": "npm:2.0.0" - "@solana/codecs-core": "npm:2.0.0" - "@solana/codecs-strings": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" - "@solana/rpc-spec": "npm:2.0.0" - "@solana/rpc-types": "npm:2.0.0" + "@solana/addresses": "npm:2.1.0" + "@solana/codecs-core": "npm:2.1.0" + "@solana/codecs-strings": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" + "@solana/rpc-spec": "npm:2.1.0" + "@solana/rpc-types": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/a64065a15b308d4a5a3de315bbdc6163cefd84e739dd21964945e34c16e6f9098d102630d3188abfb32e04808a09b3e14ec6bf2d199e47d757010769efba74f0 + checksum: 10c0/c6d216b5bbb2e2c1067afd552a1532beb029467feb46535650d9f70b2f988891986b13807a7f2c5ea4bab50d53999523506b8d70ad344eb1df4e44f60262bc24 languageName: node linkType: hard -"@solana/addresses@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/addresses@npm:2.0.0" +"@solana/addresses@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/addresses@npm:2.1.0" dependencies: - "@solana/assertions": "npm:2.0.0" - "@solana/codecs-core": "npm:2.0.0" - "@solana/codecs-strings": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" + "@solana/assertions": "npm:2.1.0" + "@solana/codecs-core": "npm:2.1.0" + "@solana/codecs-strings": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/b4dc51c5818a36668d653f4162f4aba0356d7212ae0271483da992272bcb95b5626b6a7305c175e1d7b39b28c91ebe2768728b67ab557ac601637a0465537b87 + checksum: 10c0/dd5188a0fb7be075380c52627c90acf06aa9fd8de7826ee53e87645da402c09f94188e14002db1b896afe2575cd7c309ef6db986a8d750038114e053806f45bd languageName: node linkType: hard -"@solana/assertions@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/assertions@npm:2.0.0" +"@solana/assertions@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/assertions@npm:2.1.0" dependencies: - "@solana/errors": "npm:2.0.0" + "@solana/errors": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/a04e9def2a43b80b6299e83c631743ecc5e5e8ba062ec4576d8f49c297b9b96c2b0bc101e160353f3883b54907415d5815ad8e7f81bde5f0431c86462913121c + checksum: 10c0/062e7025da3f4947486dd528eac744bdea0f5fa01330a2fcdfe25135f246fd1978f7ec1702db18802d34c08d2022edd1b183509a2fe2d3a7d8756850b203513e languageName: node linkType: hard @@ -4826,6 +4827,17 @@ __metadata: languageName: node linkType: hard +"@solana/codecs-core@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/codecs-core@npm:2.1.0" + dependencies: + "@solana/errors": "npm:2.1.0" + peerDependencies: + typescript: ">=5" + checksum: 10c0/9435aa070433733b7cfee6b98abbf59503a7e828cbb8d70ecae5f7223d21a127fc750ba4fee11f08c2211cc88f7af4a8d460bf52e20aac1308c00be87b057c56 + languageName: node + linkType: hard + "@solana/codecs-data-structures@npm:2.0.0": version: 2.0.0 resolution: "@solana/codecs-data-structures@npm:2.0.0" @@ -4852,6 +4864,19 @@ __metadata: languageName: node linkType: hard +"@solana/codecs-data-structures@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/codecs-data-structures@npm:2.1.0" + dependencies: + "@solana/codecs-core": "npm:2.1.0" + "@solana/codecs-numbers": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" + peerDependencies: + typescript: ">=5" + checksum: 10c0/2520f4d4648bbe97383d8df42423ceee14473ae4e608f68fa372b8121b764559fd14fb34c65dfce6e98d3c79b142890a628239003365a70cab993fe7073046ee + languageName: node + linkType: hard + "@solana/codecs-numbers@npm:2.0.0": version: 2.0.0 resolution: "@solana/codecs-numbers@npm:2.0.0" @@ -4888,6 +4913,18 @@ __metadata: languageName: node linkType: hard +"@solana/codecs-numbers@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/codecs-numbers@npm:2.1.0" + dependencies: + "@solana/codecs-core": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" + peerDependencies: + typescript: ">=5" + checksum: 10c0/ae5c256e4d49f7d2eb37ad5aa52e038eb3f13d611cd5799f3d7e549b6b983571511a0d924fb287f49b687a101bb849114de4e7b29eb103a2369126e4fd3dbebb + languageName: node + linkType: hard + "@solana/codecs-strings@npm:2.0.0": version: 2.0.0 resolution: "@solana/codecs-strings@npm:2.0.0" @@ -4916,6 +4953,20 @@ __metadata: languageName: node linkType: hard +"@solana/codecs-strings@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/codecs-strings@npm:2.1.0" + dependencies: + "@solana/codecs-core": "npm:2.1.0" + "@solana/codecs-numbers": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: ">=5" + checksum: 10c0/c156f4b56ab1dd4949ce4fa97d77af83f45c5225a8724c6fba72ef0160830c12e5c06fab97631b471cf6835998acce290bae2e0862cc9725d563822214d1c06d + languageName: node + linkType: hard + "@solana/codecs-strings@npm:rc": version: 2.0.0-rc.4 resolution: "@solana/codecs-strings@npm:2.0.0-rc.4" @@ -4960,6 +5011,21 @@ __metadata: languageName: node linkType: hard +"@solana/codecs@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/codecs@npm:2.1.0" + dependencies: + "@solana/codecs-core": "npm:2.1.0" + "@solana/codecs-data-structures": "npm:2.1.0" + "@solana/codecs-numbers": "npm:2.1.0" + "@solana/codecs-strings": "npm:2.1.0" + "@solana/options": "npm:2.1.0" + peerDependencies: + typescript: ">=5" + checksum: 10c0/5395221a6fffe3c4cfd9c7e2e41067226c4e34a10bcebb7490ef8313d7ccceefa1f81c1aa762197ed49f69266a5efd8d8f86ccf40ff123bbd16bd74850d17b6c + languageName: node + linkType: hard + "@solana/errors@npm:2.0.0": version: 2.0.0 resolution: "@solana/errors@npm:2.0.0" @@ -5002,46 +5068,89 @@ __metadata: languageName: node linkType: hard -"@solana/fast-stable-stringify@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/fast-stable-stringify@npm:2.0.0" +"@solana/errors@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/errors@npm:2.1.0" + dependencies: + chalk: "npm:^5.3.0" + commander: "npm:^13.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/60d9bd8d3ab8afaabecbe883afdb4ab846e2beba629994e7765466fb69c9cd60432cbf21f15d7337f04d06514d56800abc1ff3695b2c05749be8b25918b0837c + bin: + errors: bin/cli.mjs + checksum: 10c0/707f657721d5421af3d016fb876a20c6f9f9c70e9012c7ddb23c02d9f29349edee273e6d2ec219fa38dc569df4a5aa90111bfd49eef435b232e381e243c013de languageName: node linkType: hard -"@solana/functional@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/functional@npm:2.0.0" +"@solana/fast-stable-stringify@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/fast-stable-stringify@npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/17bc11ec69513cf57f698cddafa4ead0848781f5622d980732f31bb8196ad5f06d5f9c802a24adbde9c778f5b3f9570c24112b51eeafc266ef20c73a0fafe0cd + checksum: 10c0/3fa5a15533ceba0ed9dbf54dbe19e8ae0c816f554846282999035a2a9d76d0c8cf0b020e2c55a87ce2362d36b98e31c765e24328bd831e19b24b148b5fe9fcde languageName: node linkType: hard -"@solana/instructions@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/instructions@npm:2.0.0" +"@solana/functional@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/functional@npm:2.1.0" + peerDependencies: + typescript: ">=5" + checksum: 10c0/ff4599afcf238f83bb7f44e953da82eeae987a635232f2b2b1feaaad0b9880827775d61d9ade89def7afdcccd037896054afc22191d200d7a8cf56ce9081551c + languageName: node + linkType: hard + +"@solana/instructions@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/instructions@npm:2.1.0" dependencies: - "@solana/errors": "npm:2.0.0" + "@solana/codecs-core": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/a55b80cae9f8044ddc0c90145f8e084b1b1f5c7cba9071a750a91c024b085b8be47b3686fa85ddd90b95cbaaf225a1c93794133cb09d99a31f83aa50ce721103 + checksum: 10c0/90b53e7b598baef90dab61bc53c2a2aec4f50bfbd3f6374fffae271d6002fcd6694282960af5ac1e3f1a14e0e27168b1745042730c46bb48fe736a1d69f10f25 languageName: node linkType: hard -"@solana/keys@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/keys@npm:2.0.0" +"@solana/keys@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/keys@npm:2.1.0" dependencies: - "@solana/assertions": "npm:2.0.0" - "@solana/codecs-core": "npm:2.0.0" - "@solana/codecs-strings": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" + "@solana/assertions": "npm:2.1.0" + "@solana/codecs-core": "npm:2.1.0" + "@solana/codecs-strings": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/ae1fee4b84fda011736a175e044e94a15743669acdaba5ca7e744bec43ce3af8c6b0c841d26a5f9f3ddd68b422002969459e68d97ebe20e2817b39369da10dfb + checksum: 10c0/8a295977a8e21c2b7f0f29e4e9b2597c182b124147c32d6d5d1320c5bd2c10ff848f7415516eba2c0c644d2f2cceb1e280f6164fd4346f6a501ff198deb9ec54 + languageName: node + linkType: hard + +"@solana/kit@npm:^2.1.0": + version: 2.1.0 + resolution: "@solana/kit@npm:2.1.0" + dependencies: + "@solana/accounts": "npm:2.1.0" + "@solana/addresses": "npm:2.1.0" + "@solana/codecs": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" + "@solana/functional": "npm:2.1.0" + "@solana/instructions": "npm:2.1.0" + "@solana/keys": "npm:2.1.0" + "@solana/programs": "npm:2.1.0" + "@solana/rpc": "npm:2.1.0" + "@solana/rpc-parsed-types": "npm:2.1.0" + "@solana/rpc-spec-types": "npm:2.1.0" + "@solana/rpc-subscriptions": "npm:2.1.0" + "@solana/rpc-types": "npm:2.1.0" + "@solana/signers": "npm:2.1.0" + "@solana/sysvars": "npm:2.1.0" + "@solana/transaction-confirmation": "npm:2.1.0" + "@solana/transaction-messages": "npm:2.1.0" + "@solana/transactions": "npm:2.1.0" + peerDependencies: + typescript: ">=5" + checksum: 10c0/9c377875ad054df0e5e0912db78893c9608a38a39fab49e6b73ceb14f7298efc28298ac11a684dd6dcee7627ef8a7a33663ddc48db441563543f8479e6551eaf languageName: node linkType: hard @@ -5075,221 +5184,236 @@ __metadata: languageName: node linkType: hard -"@solana/programs@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/programs@npm:2.0.0" +"@solana/options@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/options@npm:2.1.0" dependencies: - "@solana/addresses": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" + "@solana/codecs-core": "npm:2.1.0" + "@solana/codecs-data-structures": "npm:2.1.0" + "@solana/codecs-numbers": "npm:2.1.0" + "@solana/codecs-strings": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/44754822825e8e4a450eade9f6791c40970f193251edc5da7da9c8a7c60c4d0b655d225c9a1df3960d880b65bad2c4d1a742c6f5b0269e850ee05df1fddaba18 + checksum: 10c0/3ba2e15da4f3182f284882ecd9bd295907426275e835fc7471f40a00258f0b4816e5a14a3b5bde1013723c7ff736cfad4002126ac08d1de40a28f81f8b9b262c languageName: node linkType: hard -"@solana/promises@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/promises@npm:2.0.0" +"@solana/programs@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/programs@npm:2.1.0" + dependencies: + "@solana/addresses": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/6ff6bac8d01ea17c8b6a8aa7ec2cb6766242e44ccb258f9ec041b3c2e27b28740666a2881c3dc4943d86ca1f4f8230fcda7155e69e08f7631248499676e1ea6b + checksum: 10c0/2a518681028fa5561ac8717fd3912541ce36421382efbdd6262b28e44b0aa16f58e6899925bc4af5591ba4b1a26e551b69116e829688bd0d1d8832a6357c684e languageName: node linkType: hard -"@solana/rpc-api@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/rpc-api@npm:2.0.0" - dependencies: - "@solana/addresses": "npm:2.0.0" - "@solana/codecs-core": "npm:2.0.0" - "@solana/codecs-strings": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" - "@solana/keys": "npm:2.0.0" - "@solana/rpc-parsed-types": "npm:2.0.0" - "@solana/rpc-spec": "npm:2.0.0" - "@solana/rpc-transformers": "npm:2.0.0" - "@solana/rpc-types": "npm:2.0.0" - "@solana/transaction-messages": "npm:2.0.0" - "@solana/transactions": "npm:2.0.0" +"@solana/promises@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/promises@npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/10fb96f31156681d104d42ddfe7cd97127626846a95ef4943ccbf4a863884faf012c81bbb68e084e94b06ebec256e75e42c16daf5dbef5a50bf47bcc75070ac4 + checksum: 10c0/72d1804bf6292ec05451099fa6cc86c060050f1b5743be18be1ce2ddf277f0f05c694f0f87dcce4f7cc44548172f36c6e94b75b33c8c000670c3794177afc82f languageName: node linkType: hard -"@solana/rpc-parsed-types@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/rpc-parsed-types@npm:2.0.0" +"@solana/rpc-api@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/rpc-api@npm:2.1.0" + dependencies: + "@solana/addresses": "npm:2.1.0" + "@solana/codecs-core": "npm:2.1.0" + "@solana/codecs-strings": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" + "@solana/keys": "npm:2.1.0" + "@solana/rpc-parsed-types": "npm:2.1.0" + "@solana/rpc-spec": "npm:2.1.0" + "@solana/rpc-transformers": "npm:2.1.0" + "@solana/rpc-types": "npm:2.1.0" + "@solana/transaction-messages": "npm:2.1.0" + "@solana/transactions": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/764b4313b58a9029909df4af087ad64045171a9502a749a85712043e28b038fed976580527f2618bb3a47dd6766975f45e218747a8241545f8d041fe81e411bb + checksum: 10c0/ffb2a78f7c79e463862621d20c331c4c3b941a5ff0dc520bd0bd61e6ba1429b26de378bfe9a55ce927366ba97689ce0f0c46b827a74f1c5916f253bd3518e6b6 languageName: node linkType: hard -"@solana/rpc-spec-types@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/rpc-spec-types@npm:2.0.0" +"@solana/rpc-parsed-types@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/rpc-parsed-types@npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/5d28975af024310c619cb8fdb9b6ec8027a0361ec80adddbbcc5e204ef77304f53f648b40700b445c320f0677ac5d5cd5fde5e54f48b7d302317e9bae3b11935 + checksum: 10c0/5159249e1c0c17c9df429dcad289edd0bb504e6198798013acff777fd3e53976bec858874319708b924ba1966edce98ebfa101fb59e8d77071b8129069f61a13 languageName: node linkType: hard -"@solana/rpc-spec@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/rpc-spec@npm:2.0.0" +"@solana/rpc-spec-types@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/rpc-spec-types@npm:2.1.0" + peerDependencies: + typescript: ">=5" + checksum: 10c0/9d350c377c86927b02dea2049b27e5ae6e9477b8e7faa9a7015ddc32384941669b6a898243ce94b3e4d47e0a0be2b642d695cf3a0ab9a1d689393376114bf31e + languageName: node + linkType: hard + +"@solana/rpc-spec@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/rpc-spec@npm:2.1.0" dependencies: - "@solana/errors": "npm:2.0.0" - "@solana/rpc-spec-types": "npm:2.0.0" + "@solana/errors": "npm:2.1.0" + "@solana/rpc-spec-types": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/8f6f49fd7b6b91598a8255d3120c8e19224ba74175d1835ca0226cb301b0cce1fa56ab0d502f4d1466fb36c31cd55a8dee941d3e7c83f2a0b6d8d3a1d7d910bf + checksum: 10c0/882722e1304e919adf9ce62e5f54973fbc7c65c78392c5516179f7a08f471f6a2c48228fada7ff197ab8bf9b0a7d4c207d8c1f4dcc99e0329f6679621793134b languageName: node linkType: hard -"@solana/rpc-subscriptions-api@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/rpc-subscriptions-api@npm:2.0.0" +"@solana/rpc-subscriptions-api@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/rpc-subscriptions-api@npm:2.1.0" dependencies: - "@solana/addresses": "npm:2.0.0" - "@solana/keys": "npm:2.0.0" - "@solana/rpc-subscriptions-spec": "npm:2.0.0" - "@solana/rpc-transformers": "npm:2.0.0" - "@solana/rpc-types": "npm:2.0.0" - "@solana/transaction-messages": "npm:2.0.0" - "@solana/transactions": "npm:2.0.0" + "@solana/addresses": "npm:2.1.0" + "@solana/keys": "npm:2.1.0" + "@solana/rpc-subscriptions-spec": "npm:2.1.0" + "@solana/rpc-transformers": "npm:2.1.0" + "@solana/rpc-types": "npm:2.1.0" + "@solana/transaction-messages": "npm:2.1.0" + "@solana/transactions": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/75e48496644d29084b19c1a5221babc8c8a4a91d2a100b3f1bc460cf280da5ad13335c72a55a5a1da69bafa9e6e51adc7f2ab80de0de3a009b2d6e3d58efb9fa + checksum: 10c0/aeec184098921d7f51445360a5bc6bdfa568cb79e5c37cb936857474e008e7abfc5a7451d82d45334aa5261fb0249e33c9bb9579a3528a3578883b89ecbaf5f8 languageName: node linkType: hard -"@solana/rpc-subscriptions-channel-websocket@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/rpc-subscriptions-channel-websocket@npm:2.0.0" +"@solana/rpc-subscriptions-channel-websocket@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/rpc-subscriptions-channel-websocket@npm:2.1.0" dependencies: - "@solana/errors": "npm:2.0.0" - "@solana/functional": "npm:2.0.0" - "@solana/rpc-subscriptions-spec": "npm:2.0.0" - "@solana/subscribable": "npm:2.0.0" + "@solana/errors": "npm:2.1.0" + "@solana/functional": "npm:2.1.0" + "@solana/rpc-subscriptions-spec": "npm:2.1.0" + "@solana/subscribable": "npm:2.1.0" peerDependencies: typescript: ">=5" ws: ^8.18.0 - checksum: 10c0/44edef27369b5fd429d2a9564bf9dac3e62fad39558d410ce6b33f3f1127c8831b8edb58bf6c1630d190c23c404d082c04d5b02e1452c4b17d9df25ed523cfbd + checksum: 10c0/7a9e9106347fd606a502c4ffcf9d26e75c6824299058514e865625e952a328cc75b7c9a9ebfaafed1ae4db47f739f3d12a9be1e6f75219b0c4ef4749cb0d51f0 languageName: node linkType: hard -"@solana/rpc-subscriptions-spec@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/rpc-subscriptions-spec@npm:2.0.0" +"@solana/rpc-subscriptions-spec@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/rpc-subscriptions-spec@npm:2.1.0" dependencies: - "@solana/errors": "npm:2.0.0" - "@solana/promises": "npm:2.0.0" - "@solana/rpc-spec-types": "npm:2.0.0" - "@solana/subscribable": "npm:2.0.0" + "@solana/errors": "npm:2.1.0" + "@solana/promises": "npm:2.1.0" + "@solana/rpc-spec-types": "npm:2.1.0" + "@solana/subscribable": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/6890409fd9d56587d5fa4e7d156d9b557082e24adc5f61530c09dfd624c48a941ef81e0a0e85c5637d05cc17e02fbb8e616308d2a6cec8a172fb6d626caea70a + checksum: 10c0/57e8247855e692b3221e79c1820e8ed98fbdfe6e7492ad82ec2285e41f9a08d8b7d0ba6884884be297288ab5a5960d88fc2cbab72fa14742c1e423135e4e3d83 languageName: node linkType: hard -"@solana/rpc-subscriptions@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/rpc-subscriptions@npm:2.0.0" - dependencies: - "@solana/errors": "npm:2.0.0" - "@solana/fast-stable-stringify": "npm:2.0.0" - "@solana/functional": "npm:2.0.0" - "@solana/promises": "npm:2.0.0" - "@solana/rpc-spec-types": "npm:2.0.0" - "@solana/rpc-subscriptions-api": "npm:2.0.0" - "@solana/rpc-subscriptions-channel-websocket": "npm:2.0.0" - "@solana/rpc-subscriptions-spec": "npm:2.0.0" - "@solana/rpc-transformers": "npm:2.0.0" - "@solana/rpc-types": "npm:2.0.0" - "@solana/subscribable": "npm:2.0.0" +"@solana/rpc-subscriptions@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/rpc-subscriptions@npm:2.1.0" + dependencies: + "@solana/errors": "npm:2.1.0" + "@solana/fast-stable-stringify": "npm:2.1.0" + "@solana/functional": "npm:2.1.0" + "@solana/promises": "npm:2.1.0" + "@solana/rpc-spec-types": "npm:2.1.0" + "@solana/rpc-subscriptions-api": "npm:2.1.0" + "@solana/rpc-subscriptions-channel-websocket": "npm:2.1.0" + "@solana/rpc-subscriptions-spec": "npm:2.1.0" + "@solana/rpc-transformers": "npm:2.1.0" + "@solana/rpc-types": "npm:2.1.0" + "@solana/subscribable": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/c712e6354763ad710ddcb5f64c5b2b4cfeb5662c586c20abae65906b4f3986ada838f7f853e020bab5986a094da709ef72127063eeb993f1939d1a184c26de07 + checksum: 10c0/0ef601e68bc519d5e8a05903b9ad10b42ea3d3a509fa49f043dacc241660419b58b76f32727d0ea53a02fea5e01160618757837cab929467217db049db4b1161 languageName: node linkType: hard -"@solana/rpc-transformers@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/rpc-transformers@npm:2.0.0" +"@solana/rpc-transformers@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/rpc-transformers@npm:2.1.0" dependencies: - "@solana/errors": "npm:2.0.0" - "@solana/functional": "npm:2.0.0" - "@solana/rpc-spec-types": "npm:2.0.0" - "@solana/rpc-types": "npm:2.0.0" + "@solana/errors": "npm:2.1.0" + "@solana/functional": "npm:2.1.0" + "@solana/rpc-spec-types": "npm:2.1.0" + "@solana/rpc-types": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/13d71f1f4f4ceabe49e6812c21ae613221627aa08628e686f265a3207e92b103d719297183984c5ca54f4b27b0accd1a58b740264590332d5896011fb5b4ebe5 + checksum: 10c0/a8253b450a7f6e8b3b4fcb4b2004dcf6cca53e3df24798fbda4f5c19afc86bef4ffbfcc34ba2514284b3bf64c1ed09dc879b3f07ae2f3ff381422970d3a3f666 languageName: node linkType: hard -"@solana/rpc-transport-http@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/rpc-transport-http@npm:2.0.0" +"@solana/rpc-transport-http@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/rpc-transport-http@npm:2.1.0" dependencies: - "@solana/errors": "npm:2.0.0" - "@solana/rpc-spec": "npm:2.0.0" - "@solana/rpc-spec-types": "npm:2.0.0" - undici-types: "npm:^6.20.0" + "@solana/errors": "npm:2.1.0" + "@solana/rpc-spec": "npm:2.1.0" + "@solana/rpc-spec-types": "npm:2.1.0" + undici-types: "npm:^7.3.0" peerDependencies: typescript: ">=5" - checksum: 10c0/3a8b8348038071accb4c1dc1814bfa51b0fe2c2eb6d54254921dde521d6d19bb63c3b0db74a3b865bee53bd905f90c1be8022dd64fc56772732b1cf901a91554 + checksum: 10c0/5387bb83bdad024baee5b954c93a9f1f65a8b99335732ae0b82a2460cc72cde06fdb51b32f17eabd44dc2a3a7ddad759a8cebd579dc096da91e175d39bfddf5b languageName: node linkType: hard -"@solana/rpc-types@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/rpc-types@npm:2.0.0" +"@solana/rpc-types@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/rpc-types@npm:2.1.0" dependencies: - "@solana/addresses": "npm:2.0.0" - "@solana/codecs-core": "npm:2.0.0" - "@solana/codecs-numbers": "npm:2.0.0" - "@solana/codecs-strings": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" + "@solana/addresses": "npm:2.1.0" + "@solana/codecs-core": "npm:2.1.0" + "@solana/codecs-numbers": "npm:2.1.0" + "@solana/codecs-strings": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/d70b8df33d4bb6f149475c26d73a907805d2553a6edfb50aee7e5de90e7c1b017159eafdf2690e300d51a73122b5f02aec212bee0371cf521d926e38f06559ed + checksum: 10c0/038f33e045ae9c385e74e04a1fac43d15d74be88693953e090154b8c6fc9e8977303a2fa3ec35c953441db5809216836fed67f19ed65de144e1d03e0eca17a50 languageName: node linkType: hard -"@solana/rpc@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/rpc@npm:2.0.0" - dependencies: - "@solana/errors": "npm:2.0.0" - "@solana/fast-stable-stringify": "npm:2.0.0" - "@solana/functional": "npm:2.0.0" - "@solana/rpc-api": "npm:2.0.0" - "@solana/rpc-spec": "npm:2.0.0" - "@solana/rpc-spec-types": "npm:2.0.0" - "@solana/rpc-transformers": "npm:2.0.0" - "@solana/rpc-transport-http": "npm:2.0.0" - "@solana/rpc-types": "npm:2.0.0" +"@solana/rpc@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/rpc@npm:2.1.0" + dependencies: + "@solana/errors": "npm:2.1.0" + "@solana/fast-stable-stringify": "npm:2.1.0" + "@solana/functional": "npm:2.1.0" + "@solana/rpc-api": "npm:2.1.0" + "@solana/rpc-spec": "npm:2.1.0" + "@solana/rpc-spec-types": "npm:2.1.0" + "@solana/rpc-transformers": "npm:2.1.0" + "@solana/rpc-transport-http": "npm:2.1.0" + "@solana/rpc-types": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/7131fe53b3ba90d870b13dd4f7d2e5fee612911b55f22e5af2d2711a6f51c210b120545e133aa73043a7b2592e7e2310e4e0886bf55e9035f1c7af84ac700b98 + checksum: 10c0/8fc72809dcc34c2fb4f5fe9cc108b20804deb40c167ec6fdd1d9ff95f573eeea4baf6262455ea1aa250c005e8e3be5e406c4dd13d241ad12feb6e8d2f8ad08bc languageName: node linkType: hard -"@solana/signers@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/signers@npm:2.0.0" +"@solana/signers@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/signers@npm:2.1.0" dependencies: - "@solana/addresses": "npm:2.0.0" - "@solana/codecs-core": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" - "@solana/instructions": "npm:2.0.0" - "@solana/keys": "npm:2.0.0" - "@solana/transaction-messages": "npm:2.0.0" - "@solana/transactions": "npm:2.0.0" + "@solana/addresses": "npm:2.1.0" + "@solana/codecs-core": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" + "@solana/instructions": "npm:2.1.0" + "@solana/keys": "npm:2.1.0" + "@solana/transaction-messages": "npm:2.1.0" + "@solana/transactions": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/92ac409ce1faa318029d6e125c9bea78359193ed3e13a63948504ca331c2453e773fe56d8c9a9e3a01db98515db81f57de5acddd4d87c59a0f9c6d54005c0697 + checksum: 10c0/5d55be1e0653b65e08459da9434569b2c470a745597d2ca7113ce477ecb168991d412630c235ab205df866be09aad851ea8069c1246bb1cd103d635c13bc66a7 languageName: node linkType: hard @@ -5330,87 +5454,87 @@ __metadata: languageName: node linkType: hard -"@solana/subscribable@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/subscribable@npm:2.0.0" +"@solana/subscribable@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/subscribable@npm:2.1.0" dependencies: - "@solana/errors": "npm:2.0.0" + "@solana/errors": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/2d921b9545741f47945e51bb017b625b933a63ab60a3031a647fce367883afab5636a1f450787a0d42e9ccbbc17792f7de6dd765350e97272a0e1dde0641b7f5 + checksum: 10c0/d881eda8f5261c0f49c3e236945bdc40422f4406537448177951206719ad2b1f0c6439564cf64ee37df0caf1a0ce059c80275da8169f32cb07ffbcf5f0b483bc languageName: node linkType: hard -"@solana/sysvars@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/sysvars@npm:2.0.0" +"@solana/sysvars@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/sysvars@npm:2.1.0" dependencies: - "@solana/accounts": "npm:2.0.0" - "@solana/codecs": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" - "@solana/rpc-types": "npm:2.0.0" + "@solana/accounts": "npm:2.1.0" + "@solana/codecs": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" + "@solana/rpc-types": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/03b80110d1012089d3b0d4252c6d4259bac25ca105b7e8e32cd4dfbb91a7daf54694ea5be6f9c64cd25fe1e039aa8f32868053c7ae0fadb9a54b38d21d805744 + checksum: 10c0/02ac9111c10d614f6e9f9cf62d4c05c36b97c020fc058a00ae62724386bf9f95fba7bbdda29ce2bd61c7522752f050476de88a34d7b66a7ec352a280bcd46e0d languageName: node linkType: hard -"@solana/transaction-confirmation@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/transaction-confirmation@npm:2.0.0" - dependencies: - "@solana/addresses": "npm:2.0.0" - "@solana/codecs-strings": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" - "@solana/keys": "npm:2.0.0" - "@solana/promises": "npm:2.0.0" - "@solana/rpc": "npm:2.0.0" - "@solana/rpc-subscriptions": "npm:2.0.0" - "@solana/rpc-types": "npm:2.0.0" - "@solana/transaction-messages": "npm:2.0.0" - "@solana/transactions": "npm:2.0.0" +"@solana/transaction-confirmation@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/transaction-confirmation@npm:2.1.0" + dependencies: + "@solana/addresses": "npm:2.1.0" + "@solana/codecs-strings": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" + "@solana/keys": "npm:2.1.0" + "@solana/promises": "npm:2.1.0" + "@solana/rpc": "npm:2.1.0" + "@solana/rpc-subscriptions": "npm:2.1.0" + "@solana/rpc-types": "npm:2.1.0" + "@solana/transaction-messages": "npm:2.1.0" + "@solana/transactions": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/402fd4d6d3832c98fa7f90ec37af930224fdccde49110eea79f1c76a0dc45f5dd47585b5f6390c2b5ad8e114d1750a62bd3eac6c86c05b5bc614a40779fb6db8 + checksum: 10c0/a79931802d065aceca7d231382e65df280f373ba2032710ecc95fcf0d19c9974d7178c3ffd7b9612195ff0e33cbaf47e4286375a04fcc7a4433b4d5616581af3 languageName: node linkType: hard -"@solana/transaction-messages@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/transaction-messages@npm:2.0.0" +"@solana/transaction-messages@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/transaction-messages@npm:2.1.0" dependencies: - "@solana/addresses": "npm:2.0.0" - "@solana/codecs-core": "npm:2.0.0" - "@solana/codecs-data-structures": "npm:2.0.0" - "@solana/codecs-numbers": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" - "@solana/functional": "npm:2.0.0" - "@solana/instructions": "npm:2.0.0" - "@solana/rpc-types": "npm:2.0.0" + "@solana/addresses": "npm:2.1.0" + "@solana/codecs-core": "npm:2.1.0" + "@solana/codecs-data-structures": "npm:2.1.0" + "@solana/codecs-numbers": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" + "@solana/functional": "npm:2.1.0" + "@solana/instructions": "npm:2.1.0" + "@solana/rpc-types": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/cf490ac96ea2960562e50a28e4edbcdbfbff47e8d012241b85de83511b30dd2b4afd4ee0a35c6d350a0eabb45e8c7e76bf27844b4506029bf96a7857b5e6d29c + checksum: 10c0/1f8a1d877b889897e6456384a181ca1e0a82cffabda2e1cfe919e4f882b84682d3efa361c02481a77bb20cc5fa4e78182a941ab57ce2d605a1d17bd29fa67eda languageName: node linkType: hard -"@solana/transactions@npm:2.0.0": - version: 2.0.0 - resolution: "@solana/transactions@npm:2.0.0" - dependencies: - "@solana/addresses": "npm:2.0.0" - "@solana/codecs-core": "npm:2.0.0" - "@solana/codecs-data-structures": "npm:2.0.0" - "@solana/codecs-numbers": "npm:2.0.0" - "@solana/codecs-strings": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" - "@solana/functional": "npm:2.0.0" - "@solana/instructions": "npm:2.0.0" - "@solana/keys": "npm:2.0.0" - "@solana/rpc-types": "npm:2.0.0" - "@solana/transaction-messages": "npm:2.0.0" +"@solana/transactions@npm:2.1.0": + version: 2.1.0 + resolution: "@solana/transactions@npm:2.1.0" + dependencies: + "@solana/addresses": "npm:2.1.0" + "@solana/codecs-core": "npm:2.1.0" + "@solana/codecs-data-structures": "npm:2.1.0" + "@solana/codecs-numbers": "npm:2.1.0" + "@solana/codecs-strings": "npm:2.1.0" + "@solana/errors": "npm:2.1.0" + "@solana/functional": "npm:2.1.0" + "@solana/instructions": "npm:2.1.0" + "@solana/keys": "npm:2.1.0" + "@solana/rpc-types": "npm:2.1.0" + "@solana/transaction-messages": "npm:2.1.0" peerDependencies: typescript: ">=5" - checksum: 10c0/c3e590e786e51eee96e83672936c7f2c7ec449968e45981b1c49397e40577d7d6e7ecb91bf85c894887467ae67d2659af3aa26fef6bc3b86a43046301af94c6e + checksum: 10c0/38cf2f5f0c8841e5fdffb4588c86cdaf83c865dacaf418f5ac43b420807b247abe93253dea9d87a863658be7219aab7970b79f98fe1446c319e6e487a11029ef languageName: node linkType: hard @@ -5437,34 +5561,6 @@ __metadata: languageName: node linkType: hard -"@solana/web3.js@npm:^2.0.0": - version: 2.0.0 - resolution: "@solana/web3.js@npm:2.0.0" - dependencies: - "@solana/accounts": "npm:2.0.0" - "@solana/addresses": "npm:2.0.0" - "@solana/codecs": "npm:2.0.0" - "@solana/errors": "npm:2.0.0" - "@solana/functional": "npm:2.0.0" - "@solana/instructions": "npm:2.0.0" - "@solana/keys": "npm:2.0.0" - "@solana/programs": "npm:2.0.0" - "@solana/rpc": "npm:2.0.0" - "@solana/rpc-parsed-types": "npm:2.0.0" - "@solana/rpc-spec-types": "npm:2.0.0" - "@solana/rpc-subscriptions": "npm:2.0.0" - "@solana/rpc-types": "npm:2.0.0" - "@solana/signers": "npm:2.0.0" - "@solana/sysvars": "npm:2.0.0" - "@solana/transaction-confirmation": "npm:2.0.0" - "@solana/transaction-messages": "npm:2.0.0" - "@solana/transactions": "npm:2.0.0" - peerDependencies: - typescript: ">=5" - checksum: 10c0/50f955225bc1ec75e39930eba80dcdfec2aaefaadd6e82344cd3a0e73d1eda15888c097f39635982835d37771db84fd16a341ecdd3e78d9b6c682ee44859f6e5 - languageName: node - linkType: hard - "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0": version: 8.0.0 resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0" @@ -17815,10 +17911,10 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:^6.20.0": - version: 6.21.0 - resolution: "undici-types@npm:6.21.0" - checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 +"undici-types@npm:^7.3.0": + version: 7.4.0 + resolution: "undici-types@npm:7.4.0" + checksum: 10c0/52e27716782b2a9d90cb0777a4aafc4891d795469d7d7396701fa4ff80b7965ee19b32204b4817f381518488b12617487266258248b50c454c0d5bd5e704625f languageName: node linkType: hard From ee1b6d6d4d350353dc53b929e26e130317b7198d Mon Sep 17 00:00:00 2001 From: Wilhelm Thieme Date: Fri, 28 Feb 2025 12:09:40 -0500 Subject: [PATCH 3/6] Changeset --- .changeset/long-wombats-hug.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .changeset/long-wombats-hug.md diff --git a/.changeset/long-wombats-hug.md b/.changeset/long-wombats-hug.md new file mode 100644 index 000000000..95b080fc9 --- /dev/null +++ b/.changeset/long-wombats-hug.md @@ -0,0 +1,10 @@ +--- +"@orca-so/whirlpools-example-ts-next": patch +"@orca-so/tx-sender": patch +"@orca-so/whirlpools": patch +"@orca-so/whirlpools-docs": patch +"@orca-so/whirlpools-client": patch +"@orca-so/whirlpools-docs-ts": patch +--- + +Switch from @solana/web3.js v2 to @solana/kit From 45d87676582310ebc3dd984175f78bc929b205ee Mon Sep 17 00:00:00 2001 From: Wilhelm Thieme Date: Mon, 3 Mar 2025 11:56:02 -0500 Subject: [PATCH 4/6] yarn --- legacy-sdk/cli/package.json | 2 +- yarn.lock | 188 ++++++++++++++++++++++++++---------- 2 files changed, 138 insertions(+), 52 deletions(-) diff --git a/legacy-sdk/cli/package.json b/legacy-sdk/cli/package.json index 4a50c77d7..8bfa7ca5e 100644 --- a/legacy-sdk/cli/package.json +++ b/legacy-sdk/cli/package.json @@ -8,7 +8,7 @@ "start": "tsx src/index.ts" }, "dependencies": { - "@coral-xyz/anchor": "0.30.1", + "@coral-xyz/anchor": "0.29.0", "@orca-so/common-sdk": "*", "@orca-so/whirlpools-sdk": "*", "@solana/spl-token": "0.4.12", diff --git a/yarn.lock b/yarn.lock index 7b54133a5..63050b072 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1744,6 +1744,19 @@ __metadata: languageName: node linkType: hard +"@codama/errors@npm:1.2.8": + version: 1.2.8 + resolution: "@codama/errors@npm:1.2.8" + dependencies: + "@codama/node-types": "npm:1.2.8" + chalk: "npm:^5.4.1" + commander: "npm:^13.1.0" + bin: + errors: bin/cli.cjs + checksum: 10c0/e70baafca6dbadc1fe3c725dc27c908419381796f4f92634df424d1c2f3c5a83b453297595c01584462016b1aa556277782ac5b76d08f961969f95e0c2908db3 + languageName: node + linkType: hard + "@codama/node-types@npm:1.2.7": version: 1.2.7 resolution: "@codama/node-types@npm:1.2.7" @@ -1751,6 +1764,13 @@ __metadata: languageName: node linkType: hard +"@codama/node-types@npm:1.2.8": + version: 1.2.8 + resolution: "@codama/node-types@npm:1.2.8" + checksum: 10c0/6b15d9b0c34ca078e2f3d9fe16e5fb6d332afc3fcbe2e15eb7eddbbef1b538e938e054559d726078b55e5b2dc9147b2890816b17d17c69afbf615d9f9696c880 + languageName: node + linkType: hard + "@codama/nodes-from-anchor@npm:1.1.7, @codama/nodes-from-anchor@npm:^1.1.7": version: 1.1.7 resolution: "@codama/nodes-from-anchor@npm:1.1.7" @@ -1774,6 +1794,27 @@ __metadata: languageName: node linkType: hard +"@codama/nodes@npm:1.2.8": + version: 1.2.8 + resolution: "@codama/nodes@npm:1.2.8" + dependencies: + "@codama/errors": "npm:1.2.8" + "@codama/node-types": "npm:1.2.8" + checksum: 10c0/6b718e2e83019ade5491e0f64ffd02b8555a1b9ee56c0bf0e8a9f350d83bf204ae754adeffa9375c8abbf10102678d8a27227978c9065ce0f1d0ac4acf75236d + languageName: node + linkType: hard + +"@codama/renderers-core@npm:1.0.10": + version: 1.0.10 + resolution: "@codama/renderers-core@npm:1.0.10" + dependencies: + "@codama/errors": "npm:1.2.8" + "@codama/nodes": "npm:1.2.8" + "@codama/visitors-core": "npm:1.2.8" + checksum: 10c0/4bc33894f08ad86f724f82a2c4272fd1e0563e3a33d9170e5027fc449c02d6dda17b1a8338ff5c7899fafb667b1690aeca3941d446c2c5103da80a7aa2f738de + languageName: node + linkType: hard + "@codama/renderers-core@npm:1.0.9": version: 1.0.9 resolution: "@codama/renderers-core@npm:1.0.9" @@ -1817,7 +1858,7 @@ __metadata: languageName: node linkType: hard -"@codama/renderers-rust@npm:1.0.15, @codama/renderers-rust@npm:^1.0.15": +"@codama/renderers-rust@npm:1.0.15": version: 1.0.15 resolution: "@codama/renderers-rust@npm:1.0.15" dependencies: @@ -1831,6 +1872,20 @@ __metadata: languageName: node linkType: hard +"@codama/renderers-rust@npm:^1.0.16": + version: 1.0.16 + resolution: "@codama/renderers-rust@npm:1.0.16" + dependencies: + "@codama/errors": "npm:1.2.8" + "@codama/nodes": "npm:1.2.8" + "@codama/renderers-core": "npm:1.0.10" + "@codama/visitors-core": "npm:1.2.8" + "@solana/codecs-strings": "npm:rc" + nunjucks: "npm:^3.2.4" + checksum: 10c0/18781fd8e89fcea799ebc49e01ae935ec04ca483daf89e4d00cecdd1cda1ebd4d66731edad33de2ab5e58cab4eabfb2ea191ca0938f56b661cdf43c6d803b7ce + languageName: node + linkType: hard + "@codama/renderers@npm:1.0.15": version: 1.0.15 resolution: "@codama/renderers@npm:1.0.15" @@ -1864,6 +1919,17 @@ __metadata: languageName: node linkType: hard +"@codama/visitors-core@npm:1.2.8": + version: 1.2.8 + resolution: "@codama/visitors-core@npm:1.2.8" + dependencies: + "@codama/errors": "npm:1.2.8" + "@codama/nodes": "npm:1.2.8" + json-stable-stringify: "npm:^1.2.1" + checksum: 10c0/c8da7557393d5ee1ba6f32247a8d1a5b866538256606854f4e30bde9678d359bf8c29cd9f9c6ff8021ad2653e62082c023d007bf668dc197f743e0fffc0f8463 + languageName: node + linkType: hard + "@codama/visitors@npm:1.2.7": version: 1.2.7 resolution: "@codama/visitors@npm:1.2.7" @@ -4128,7 +4194,7 @@ __metadata: "@solana/web3.js": "npm:^1.90.0" decimal.js: "npm:^10.5.0" tiny-invariant: "npm:^1.3.1" - typescript: "npm:^5.7.3" + typescript: "npm:^5.8.2" peerDependencies: "@solana/spl-token": ^0.4.12 "@solana/web3.js": ^1.90.0 @@ -4139,9 +4205,9 @@ __metadata: version: 0.0.0-use.local resolution: "@orca-so/tx-sender@workspace:ts-sdk/tx-sender" dependencies: - "@solana-program/address-lookup-table": "npm:^0.6.1" - "@solana-program/compute-budget": "npm:^0.6.1" - "@solana-program/system": "npm:^0.6.2" + "@solana-program/address-lookup-table": "npm:^0.7.0" + "@solana-program/compute-budget": "npm:^0.7.0" + "@solana-program/system": "npm:^0.7.0" "@solana/kit": "npm:^2.1.0" tsup: "npm:^8.4.0" typescript: "npm:^5.7.3" @@ -4159,7 +4225,7 @@ __metadata: "@orca-so/whirlpools-program": "npm:*" "@solana/kit": "npm:^2.1.0" codama: "npm:^1.2.7" - typescript: "npm:^5.7.3" + typescript: "npm:^5.8.2" peerDependencies: "@solana/kit": ^2.1.0 languageName: unknown @@ -4171,7 +4237,7 @@ __metadata: dependencies: "@orca-so/whirlpools-client": "npm:*" "@orca-so/whirlpools-rust-core": "npm:*" - typescript: "npm:^5.7.3" + typescript: "npm:^5.8.2" wasm-pack: "npm:^0.13.1" languageName: unknown linkType: soft @@ -4183,7 +4249,7 @@ __metadata: "@orca-so/common-sdk": "npm:*" "@orca-so/whirlpools-sdk": "npm:*" typedoc: "npm:^0.27.9" - typescript: "npm:^5.7.3" + typescript: "npm:^5.8.2" languageName: unknown linkType: soft @@ -4206,7 +4272,7 @@ __metadata: "@orca-so/whirlpools-core": "npm:*" typedoc: "npm:^0.27.9" typedoc-plugin-merge-modules: "npm:^6.1.0" - typescript: "npm:^5.7.3" + typescript: "npm:^5.8.2" languageName: unknown linkType: soft @@ -4253,13 +4319,13 @@ __metadata: "@next/bundle-analyzer": "npm:^15.2.0" "@orca-so/whirlpools": "npm:*" "@solana/kit": "npm:^2.1.0" - "@types/node": "npm:^22.13.5" + "@types/node": "npm:^22.13.8" "@types/react": "npm:^18.3.13" copy-webpack-plugin: "npm:^13.0.0" next: "npm:^15.2.0" react: "npm:^18.3.1" react-dom: "npm:^18.3.1" - typescript: "npm:^5.7.3" + typescript: "npm:^5.8.2" webpack: "npm:^5.98.0" languageName: unknown linkType: soft @@ -4270,7 +4336,7 @@ __metadata: dependencies: "@orca-so/whirlpools": "npm:*" tsx: "npm:^4.19.3" - typescript: "npm:^5.7.3" + typescript: "npm:^5.8.2" languageName: unknown linkType: soft @@ -4280,7 +4346,7 @@ __metadata: dependencies: eslint: "npm:^9.21.0" prettier: "npm:^3.5.2" - typescript: "npm:^5.7.3" + typescript: "npm:^5.8.2" typescript-eslint: "npm:^8.25.0" languageName: unknown linkType: soft @@ -4291,7 +4357,7 @@ __metadata: dependencies: "@changesets/changelog-github": "npm:^0.5.1" "@changesets/cli": "npm:^2.28.1" - "@types/node": "npm:^22.13.5" + "@types/node": "npm:^22.13.8" nx: "npm:^20.4.6" rimraf: "npm:^6.0.1" tsup: "npm:^8.4.0" @@ -4310,7 +4376,7 @@ __metadata: resolution: "@orca-so/whirlpools-rust-client@workspace:rust-sdk/client" dependencies: "@codama/nodes-from-anchor": "npm:^1.1.7" - "@codama/renderers-rust": "npm:^1.0.15" + "@codama/renderers-rust": "npm:^1.0.16" "@orca-so/whirlpools-program": "npm:*" "@orca-so/whirlpools-rust-core": "npm:*" codama: "npm:^1.2.7" @@ -4335,7 +4401,7 @@ __metadata: "@types/semver": "npm:^7.5.8" semver: "npm:^7.7.1" smol-toml: "npm:^1.3.1" - typescript: "npm:^5.7.3" + typescript: "npm:^5.8.2" languageName: unknown linkType: soft @@ -4370,7 +4436,7 @@ __metadata: js-convert-case: "npm:^4.2.0" prompts: "npm:^2.4.2" tsx: "npm:^4.19.3" - typescript: "npm:^5.7.3" + typescript: "npm:^5.8.2" languageName: unknown linkType: soft @@ -4396,7 +4462,7 @@ __metadata: "@types/jest": "npm:^29.5.14" decimal.js: "npm:^10.5.0" tiny-invariant: "npm:^1.3.1" - typescript: "npm:^5.7.3" + typescript: "npm:^5.8.2" peerDependencies: "@coral-xyz/anchor": ~0.29.0 "@solana/spl-token": ^0.4.12 @@ -4410,13 +4476,13 @@ __metadata: dependencies: "@orca-so/whirlpools-client": "npm:*" "@orca-so/whirlpools-core": "npm:*" - "@solana-program/memo": "npm:^0.6.1" - "@solana-program/system": "npm:^0.6.2" - "@solana-program/token": "npm:^0.4.1" + "@solana-program/memo": "npm:^0.7.0" + "@solana-program/system": "npm:^0.7.0" + "@solana-program/token": "npm:^0.5.1" "@solana-program/token-2022": "npm:^0.3.4" "@solana/kit": "npm:^2.1.0" solana-bankrun: "npm:^0.4.0" - typescript: "npm:^5.7.3" + typescript: "npm:^5.8.2" peerDependencies: "@solana/kit": ^2.1.0 languageName: unknown @@ -4678,39 +4744,39 @@ __metadata: languageName: node linkType: hard -"@solana-program/address-lookup-table@npm:^0.6.1": - version: 0.6.1 - resolution: "@solana-program/address-lookup-table@npm:0.6.1" +"@solana-program/address-lookup-table@npm:^0.7.0": + version: 0.7.0 + resolution: "@solana-program/address-lookup-table@npm:0.7.0" peerDependencies: - "@solana/web3.js": ^2.0.0 - checksum: 10c0/ec749290e7bf08836a7163996684e8cb13cf8f408a17ebff78956d7d24606d967c12083b85bb9c4a44fa5a25ff8901df81c2a8d5bbb7b4f5e2e1601617c4bab5 + "@solana/kit": ^2.1.0 + checksum: 10c0/5832582b3768dfae5770176fb9ce3ec0dacc76f754664c757c565a7d7c5f10cbd5eaa2a1d2d8dbe058309e66618bb0e9fda078cbef8816ecd18020c195b67166 languageName: node linkType: hard -"@solana-program/compute-budget@npm:^0.6.1": - version: 0.6.1 - resolution: "@solana-program/compute-budget@npm:0.6.1" +"@solana-program/compute-budget@npm:^0.7.0": + version: 0.7.0 + resolution: "@solana-program/compute-budget@npm:0.7.0" peerDependencies: - "@solana/web3.js": ^2.0.0 - checksum: 10c0/0f3d77b7edc4339e5b278400217ef7985c66fb08cb4cb706f218c8ec75a097cbdc11236ff1d8f874306e1a08b6deb2e68710eb1494d796cb327d146b93f912b3 + "@solana/kit": ^2.1.0 + checksum: 10c0/134545e66f267602e575ff2fa7b57eaf590397bd62f17c73edfe1e8e915c5533df1d64368b3cbf1f63a7dc97f829278a43fc38c463437f142ebad00e6e0b7c73 languageName: node linkType: hard -"@solana-program/memo@npm:^0.6.1": - version: 0.6.1 - resolution: "@solana-program/memo@npm:0.6.1" +"@solana-program/memo@npm:^0.7.0": + version: 0.7.0 + resolution: "@solana-program/memo@npm:0.7.0" peerDependencies: - "@solana/web3.js": ^2.0.0 - checksum: 10c0/b047d742c4320eeabe38ff32643f6c57a24c1582b1b7168525af457e4c94d15223c7ff4b13af081b63e02120530faa2cec4f2054577810996d866f327c7c8051 + "@solana/kit": ^2.1.0 + checksum: 10c0/b299a352e6bf4fcf8db9b144a7a6407dcf0791815b3cf471ca5d590a9a679cf86ba4e7c56ea1d43ca9157f3eb862d5a6ef40b3b5535339eb1a05fbf2a17d103d languageName: node linkType: hard -"@solana-program/system@npm:^0.6.2": - version: 0.6.2 - resolution: "@solana-program/system@npm:0.6.2" +"@solana-program/system@npm:^0.7.0": + version: 0.7.0 + resolution: "@solana-program/system@npm:0.7.0" peerDependencies: - "@solana/web3.js": ^2.0.0 - checksum: 10c0/ccdbb5464132aba7634f298d90dd8189f557fc5bb3e0f51c7f43323d87da9b50ccde1885ad2dbfe11094acf15bf767620310bc23b1dd9b7c91592b437dbae113 + "@solana/kit": ^2.1.0 + checksum: 10c0/0316a6f5359a79b7d070358bf5b7443ff99419f2b7120f78fe625861925b227c7129fa9c2d88c53a8731630032777491e25e8cf6c0711f92fe956d90d40b5662 languageName: node linkType: hard @@ -4723,12 +4789,12 @@ __metadata: languageName: node linkType: hard -"@solana-program/token@npm:^0.4.1": - version: 0.4.1 - resolution: "@solana-program/token@npm:0.4.1" +"@solana-program/token@npm:^0.5.1": + version: 0.5.1 + resolution: "@solana-program/token@npm:0.5.1" peerDependencies: - "@solana/web3.js": ^2.0.0 - checksum: 10c0/d7b8d64d67f50c2cfab71b55d77e0979725ecac44a8a0be73ebce2a5901ee0775f337c4564ce436ada138fac3decb121b848118849f6203323c2717b7ffb47bc + "@solana/kit": ^2.1.0 + checksum: 10c0/cbcf0487defbc73938b060ea377d1eb0a8aa47b6aaa55d9e16a2917c6a4ff1167501d67b3b46b408b787d426333c5468798df438d60e992f0756f23b54d91e7a languageName: node linkType: hard @@ -6071,12 +6137,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^22.13.5": - version: 22.13.5 - resolution: "@types/node@npm:22.13.5" +"@types/node@npm:^22.13.8": + version: 22.13.8 + resolution: "@types/node@npm:22.13.8" dependencies: undici-types: "npm:~6.20.0" - checksum: 10c0/a2e7ed7bb0690e439004779baedeb05159c5cc41ef6d81c7a6ebea5303fde4033669e1c0e41ff7453b45fd2fea8dbd55fddfcd052950c7fcae3167c970bca725 + checksum: 10c0/bfc92b734a9dce6ac5daee0a52feccdf5dcb3804d895e4bc5384e2f4644612b8801725cd03c8c3c0888fb5eeb16b875877ac44b77641e0196dc1a837b1c2a366 languageName: node linkType: hard @@ -17894,6 +17960,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:^5.8.2": + version: 5.8.2 + resolution: "typescript@npm:5.8.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/5c4f6fbf1c6389b6928fe7b8fcd5dc73bb2d58cd4e3883f1d774ed5bd83b151cbac6b7ecf11723de56d4676daeba8713894b1e9af56174f2f9780ae7848ec3c6 + languageName: node + linkType: hard + "typescript@patch:typescript@npm%3A^5.7.3#optional!builtin": version: 5.7.3 resolution: "typescript@patch:typescript@npm%3A5.7.3#optional!builtin::version=5.7.3&hash=5786d5" @@ -17904,6 +17980,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A^5.8.2#optional!builtin": + version: 5.8.2 + resolution: "typescript@patch:typescript@npm%3A5.8.2#optional!builtin::version=5.8.2&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/5448a08e595cc558ab321e49d4cac64fb43d1fa106584f6ff9a8d8e592111b373a995a1d5c7f3046211c8a37201eb6d0f1566f15cdb7a62a5e3be01d087848e2 + languageName: node + linkType: hard + "uc.micro@npm:^2.0.0, uc.micro@npm:^2.1.0": version: 2.1.0 resolution: "uc.micro@npm:2.1.0" From 3c8761d72997f4627882bbf1da8aaa0f311146fc Mon Sep 17 00:00:00 2001 From: Wilhelm Thieme Date: Mon, 3 Mar 2025 14:53:10 -0500 Subject: [PATCH 5/6] Build fix --- ts-sdk/whirlpool/src/swap.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/ts-sdk/whirlpool/src/swap.ts b/ts-sdk/whirlpool/src/swap.ts index 178d962bc..89bf1f69d 100644 --- a/ts-sdk/whirlpool/src/swap.ts +++ b/ts-sdk/whirlpool/src/swap.ts @@ -106,6 +106,7 @@ function createUninitializedTickArray( rewardGrowthsOutside: [0n, 0n, 0n], }), }, + space: 0n, executable: false, lamports: lamports(0n), programAddress, From 34c5ec79099a29a5a627ff5ac6f354fef4c2c20d Mon Sep 17 00:00:00 2001 From: Wilhelm Thieme Date: Tue, 4 Mar 2025 13:36:53 -0500 Subject: [PATCH 6/6] Fix --- yarn.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index cc8bfbc2b..dcbf3d8d7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4359,7 +4359,7 @@ __metadata: "@next/bundle-analyzer": "npm:^15.2.1" "@orca-so/whirlpools": "npm:*" "@solana/kit": "npm:^2.1.0" - "@types/node": "npm:^22.13.9 + "@types/node": "npm:^22.13.9" "@types/react": "npm:^18.3.13" copy-webpack-plugin: "npm:^13.0.0" next: "npm:^15.2.1"