diff --git a/clients/js/package.json b/clients/js/package.json index ee60819..6588d79 100644 --- a/clients/js/package.json +++ b/clients/js/package.json @@ -47,7 +47,7 @@ }, "devDependencies": { "@solana/eslint-config-solana": "^6.0.0", - "@solana/kit-plugins": "^0.5.0", + "@solana/kit-client-rpc": "^0.6.0", "@solana/kit": "^6.1.0", "@types/node": "^24", "eslint": "^9.39.2", diff --git a/clients/js/pnpm-lock.yaml b/clients/js/pnpm-lock.yaml index 0266755..f623271 100644 --- a/clients/js/pnpm-lock.yaml +++ b/clients/js/pnpm-lock.yaml @@ -14,9 +14,9 @@ importers: '@solana/kit': specifier: ^6.1.0 version: 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/kit-plugins': - specifier: ^0.5.0 - version: 0.5.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) + '@solana/kit-client-rpc': + specifier: ^0.6.0 + version: 0.6.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)) '@types/node': specifier: ^24 version: 24.3.0 @@ -711,46 +711,6 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@loris-sandbox/litesvm-kit-darwin-arm64@0.5.0': - resolution: {integrity: sha512-yWPgh8bQsHJtmVcHcwhJFFEjh5G6wigHYuiRBIbY+lybKPTQ1LKJ3CK/zlD74KwL/xfgUdiyBLz+fORQrCO19Q==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [darwin] - - '@loris-sandbox/litesvm-kit-darwin-x64@0.5.0': - resolution: {integrity: sha512-fddPO15++i67Yemiopxj/qEw4X/Jup/jBcWBN/UeE1bPt2GDrj02alzO1CSOKfaRrfu7MeWbwPumG07xQpwF9Q==} - engines: {node: '>= 20'} - cpu: [x64] - os: [darwin] - - '@loris-sandbox/litesvm-kit-linux-arm64-gnu@0.5.0': - resolution: {integrity: sha512-otmfH7UBYseWzPMPOKVc4k6/G8QXCeZ8scd+eoINwcvNYtEtKoUe0CBItnwTSCiwLyzYDcWB4LXzcpQV0ZNZKg==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [linux] - - '@loris-sandbox/litesvm-kit-linux-arm64-musl@0.5.0': - resolution: {integrity: sha512-mCGPqtl5PcJ3PTb20NnaCnFZ00E54c4r00e1IPB7O4DW+fLYoICfgNUy5S6mVNv0Yt45fT8QaUQbWcoGnmL6IQ==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [linux] - - '@loris-sandbox/litesvm-kit-linux-x64-gnu@0.5.0': - resolution: {integrity: sha512-zbXvI71o9k715m1H/CtH2vEIwlf54O5oUmIZthVmnMRa33ct9vZj/sz0mcPW7NIIsYQEm1+rKysqXXNoThiFwg==} - engines: {node: '>= 20'} - cpu: [x64] - os: [linux] - - '@loris-sandbox/litesvm-kit-linux-x64-musl@0.5.0': - resolution: {integrity: sha512-bI30I12C7HczA9Q6c9d6DMKGHEqQBn0zRHDHAYX1T8YfGFFEKxTm0XtTFPH1BZrFfBzEHEUHfPB/pYaVjzb1cA==} - engines: {node: '>= 20'} - cpu: [x64] - os: [linux] - - '@loris-sandbox/litesvm-kit@0.5.0': - resolution: {integrity: sha512-zJcAFmEX82td18uzxhLX9yM6lqQ3as3FzLpJpARdJtTrIMNe0txVdAB+vZw1FqMQ9dL3h6IkUBahIWdCT4uHzw==} - engines: {node: '>= 20'} - '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} @@ -988,29 +948,10 @@ packages: '@sinonjs/fake-timers@13.0.5': resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} - '@solana-program/compute-budget@0.13.0': - resolution: {integrity: sha512-jdiiWaxFG3kEf6bYPNo2mwz2jNxaj7sF+gZIb8wHw9zK3ZILmpkg4sUeChb1BnH2UGf+HgYb9L/lMdqOTqUoWA==} - peerDependencies: - '@solana/kit': ^6.0.0 - - '@solana-program/system@0.10.0': - resolution: {integrity: sha512-Go+LOEZmqmNlfr+Gjy5ZWAdY5HbYzk2RBewD9QinEU/bBSzpFfzqDRT55JjFRBGJUvMgf3C2vfXEGT4i8DSI4g==} - peerDependencies: - '@solana/kit': ^5.0 - - '@solana-program/token@0.9.0': - resolution: {integrity: sha512-vnZxndd4ED4Fc56sw93cWZ2djEeeOFxtaPS8SPf5+a+JZjKA/EnKqzbE1y04FuMhIVrLERQ8uR8H2h72eZzlsA==} - peerDependencies: - '@solana/kit': ^5.0 - - '@solana/accounts@5.5.1': - resolution: {integrity: sha512-TfOY9xixg5rizABuLVuZ9XI2x2tmWUC/OoN556xwfDlhBHBjKfszicYYOyD6nbFmwTGYarCmyGIdteXxTXIdhQ==} - engines: {node: '>=20.18.0'} + '@solana-program/compute-budget@0.14.0': + resolution: {integrity: sha512-tgvey/2bT35gUlb1lC84Hh2VqkOLoSa6KvaVz5DT037Mg8ECM+f2Q5Prv6V9yKQjRGGF2Y8BZgpOoUg6lTUl/Q==} peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true + '@solana/kit': ^6.1.0 '@solana/accounts@6.1.0': resolution: {integrity: sha512-0jhmhSSS71ClLtBQIDrLlhkiNER4M9RIXTl1eJ1yJoFlE608JaKHTjNWsdVKdke7uBD6exdjNZkIVmouQPHMcA==} @@ -1021,15 +962,6 @@ packages: typescript: optional: true - '@solana/addresses@5.5.1': - resolution: {integrity: sha512-5xoah3Q9G30HQghu/9BiHLb5pzlPKRC3zydQDmE3O9H//WfayxTFppsUDCL6FjYUHqj/wzK6CWHySglc2RkpdA==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/addresses@6.1.0': resolution: {integrity: sha512-QT04Vie4iICaalQQRJFMGj/P56IxXiwFtVuZHu1qjZUNmuGTOvX6G98b27RaGtLzpJ3NIku/6OtKxLUBqAKAyQ==} engines: {node: '>=20.18.0'} @@ -1039,15 +971,6 @@ packages: typescript: optional: true - '@solana/assertions@5.5.1': - resolution: {integrity: sha512-YTCSWAlGwSlVPnWtWLm3ukz81wH4j2YaCveK+TjpvUU88hTy6fmUqxi0+hvAMAe4zKXpJyj3Az7BrLJRxbIm4Q==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/assertions@6.1.0': resolution: {integrity: sha512-pLgxB2xxTk2QfTaWpnRpSMYgaPkKYDQgptRvbwmuDQnOW1Zopg+42MT2UrDGd3UFMML1uOFPxIwKM6m51H0uXw==} engines: {node: '>=20.18.0'} @@ -1057,15 +980,6 @@ packages: typescript: optional: true - '@solana/codecs-core@5.5.1': - resolution: {integrity: sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/codecs-core@6.1.0': resolution: {integrity: sha512-5rNnDOOm2GRFMJbd9imYCPNvGOrQ+TZ53NCkFFWbbB7f+L9KkLeuuAsDMFN1lCziJFlymvN785YtDnMeWj2W+g==} engines: {node: '>=20.18.0'} @@ -1075,15 +989,6 @@ packages: typescript: optional: true - '@solana/codecs-data-structures@5.5.1': - resolution: {integrity: sha512-97bJWGyUY9WvBz3mX1UV3YPWGDTez6btCfD0ip3UVEXJbItVuUiOkzcO5iFDUtQT5riKT6xC+Mzl+0nO76gd0w==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/codecs-data-structures@6.1.0': resolution: {integrity: sha512-1cb9g5hrrucTuGkGxqVVq7dCwSMnn4YqwTe365iKkK8HBpLBmUl8XATf1MUs5UtDun1g9eNWOL72Psr8mIUqTQ==} engines: {node: '>=20.18.0'} @@ -1093,15 +998,6 @@ packages: typescript: optional: true - '@solana/codecs-numbers@5.5.1': - resolution: {integrity: sha512-rllMIZAHqmtvC0HO/dc/21wDuWaD0B8Ryv8o+YtsICQBuiL/0U4AGwH7Pi5GNFySYk0/crSuwfIqQFtmxNSPFw==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/codecs-numbers@6.1.0': resolution: {integrity: sha512-YPQwwl6LE3igH23ah+d8kgpyE5xFcPbuwhxCDsLWqY/ESrvO/0YQSbsgIXahbhZxN59ZC4uq1LnHhBNbpCSVQg==} engines: {node: '>=20.18.0'} @@ -1111,18 +1007,6 @@ packages: typescript: optional: true - '@solana/codecs-strings@5.5.1': - resolution: {integrity: sha512-7klX4AhfHYA+uKKC/nxRGP2MntbYQCR3N6+v7bk1W/rSxYuhNmt+FN8aoThSZtWIKwN6BEyR1167ka8Co1+E7A==} - engines: {node: '>=20.18.0'} - peerDependencies: - fastestsmallesttextencoderdecoder: ^1.0.22 - typescript: ^5.0.0 - peerDependenciesMeta: - fastestsmallesttextencoderdecoder: - optional: true - typescript: - optional: true - '@solana/codecs-strings@6.1.0': resolution: {integrity: sha512-pRH5uAn4VCFUs2rYiDITyWsRnpvs3Uh/nhSc6OSP/kusghcCcCJcUzHBIjT4x08MVacXmGUlSLe/9qPQO+QK3Q==} engines: {node: '>=20.18.0'} @@ -1135,15 +1019,6 @@ packages: typescript: optional: true - '@solana/codecs@5.5.1': - resolution: {integrity: sha512-Vea29nJub/bXjfzEV7ZZQ/PWr1pYLZo3z0qW0LQL37uKKVzVFRQlwetd7INk3YtTD3xm9WUYr7bCvYUk3uKy2g==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/codecs@6.1.0': resolution: {integrity: sha512-VHBS3t8fyVjE0Nqo6b4TUnzdwdRaVo+B5ufHhPLbbjkEXzz8HB4E/OBjgasn+zWGlfScfQAiBFOsfZjbVWu4XA==} engines: {node: '>=20.18.0'} @@ -1153,16 +1028,6 @@ packages: typescript: optional: true - '@solana/errors@5.5.1': - resolution: {integrity: sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==} - engines: {node: '>=20.18.0'} - hasBin: true - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/errors@6.1.0': resolution: {integrity: sha512-cqSwcw3Rmn85UR7PyF5nKPdlQsRYBkx7YGRvFaJ6Sal1PM+bfolhL5iT7STQoXxdhXGYwHMPg7kZYxmMdjwnJA==} engines: {node: '>=20.18.0'} @@ -1190,15 +1055,6 @@ packages: typescript: ^5.9.3 typescript-eslint: ^8.49.0 - '@solana/fast-stable-stringify@5.5.1': - resolution: {integrity: sha512-Ni7s2FN33zTzhTFgRjEbOVFO+UAmK8qi3Iu0/GRFYK4jN696OjKHnboSQH/EacQ+yGqS54bfxf409wU5dsLLCw==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/fast-stable-stringify@6.1.0': resolution: {integrity: sha512-QXUfDFaJCFeARsxJgScWmJ153Tit7Cimk9y0UWWreNBr2Aphi67Nlcj/tr7UABTO0Qaw/0gwrK76zz3m1t3nIw==} engines: {node: '>=20.18.0'} @@ -1208,15 +1064,6 @@ packages: typescript: optional: true - '@solana/functional@5.5.1': - resolution: {integrity: sha512-tTHoJcEQq3gQx5qsdsDJ0LEJeFzwNpXD80xApW9o/PPoCNimI3SALkZl+zNW8VnxRrV3l3yYvfHWBKe/X3WG3w==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/functional@6.1.0': resolution: {integrity: sha512-+Sm8ldVxSTHIKaZDvcBu81FPjknXx6OMPlakkKmXjKxPgVLl86ruqMo2yEwoDUHV7DysLrLLcRNn13rfulomRw==} engines: {node: '>=20.18.0'} @@ -1226,15 +1073,6 @@ packages: typescript: optional: true - '@solana/instruction-plans@5.5.1': - resolution: {integrity: sha512-7z3CB7YMcFKuVvgcnNY8bY6IsZ8LG61Iytbz7HpNVGX2u1RthOs1tRW8luTzSG1MPL0Ox7afyAVMYeFqSPHnaQ==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/instruction-plans@6.1.0': resolution: {integrity: sha512-zcsHg544t1zn7LLOVUxOWYlsKn9gvT7R+pL3cTiP2wFNoUN0h9En87H6nVqkZ8LWw23asgW0uM5uJGwfBx2h1Q==} engines: {node: '>=20.18.0'} @@ -1244,15 +1082,6 @@ packages: typescript: optional: true - '@solana/instructions@5.5.1': - resolution: {integrity: sha512-h0G1CG6S+gUUSt0eo6rOtsaXRBwCq1+Js2a+Ps9Bzk9q7YHNFA75/X0NWugWLgC92waRp66hrjMTiYYnLBoWOQ==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/instructions@6.1.0': resolution: {integrity: sha512-w1LdbJ3yanESckNTYC5KPckgN/25FyGCm07WWrs+dCnnpRNeLiVHIytXCPmArOVAXVkOYidXzhWmqCzqKUjYaA==} engines: {node: '>=20.18.0'} @@ -1262,15 +1091,6 @@ packages: typescript: optional: true - '@solana/keys@5.5.1': - resolution: {integrity: sha512-KRD61cL7CRL+b4r/eB9dEoVxIf/2EJ1Pm1DmRYhtSUAJD2dJ5Xw8QFuehobOGm9URqQ7gaQl+Fkc1qvDlsWqKg==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/keys@6.1.0': resolution: {integrity: sha512-C/SGCl3VOgBQZ0mLrMxCcJYnMsGpgE8wbx29jqRY+R91m5YhS1f/GfXJPR1lN/h7QGrJ6YDm8eI0Y3AZ7goKHg==} engines: {node: '>=20.18.0'} @@ -1280,44 +1100,30 @@ packages: typescript: optional: true - '@solana/kit-plugin-airdrop@0.5.0': - resolution: {integrity: sha512-vPM+wpmtka4R0Uh3FQI5xbIui9qXWkk5nXsj5OPU6794ZV7O6QYwod7LSRE5i4cxVTxgBv660NCPA6tRc/Jo9w==} + '@solana/kit-client-rpc@0.6.0': + resolution: {integrity: sha512-a8UOl0TrclL4jkI0HyIc1ok8bzjfz8JIKYItMSAoT59lk2z0Vz7m02IuWAOp41Cb1fulHPocWJ6k766MbcAIzw==} peerDependencies: '@solana/kit': ^6.1.0 - '@solana/kit-plugin-instruction-plan@0.4.0': - resolution: {integrity: sha512-8YnzOAo42nrYVR9EmioeOM8lJwAdyDn8O1XTe1ddFrlaAsYsXYZV8SxVs4OgduEgWxTnr47xaHMJF2IW23SppA==} + '@solana/kit-plugin-airdrop@0.5.0': + resolution: {integrity: sha512-vPM+wpmtka4R0Uh3FQI5xbIui9qXWkk5nXsj5OPU6794ZV7O6QYwod7LSRE5i4cxVTxgBv660NCPA6tRc/Jo9w==} peerDependencies: '@solana/kit': ^6.1.0 - '@solana/kit-plugin-litesvm@0.3.1': - resolution: {integrity: sha512-nPcog11FvCbxAhs78q37YsgbbuvRhGvlY8Z5xwgqKxcF+vCu8rNK6wBJDGqjgAS28NcgLRBAhTH0ZZYYN/d7XA==} - peerDependencies: - '@solana/kit': ^6.0.0 - - '@solana/kit-plugin-payer@0.5.0': - resolution: {integrity: sha512-PfY/l1ZevuJBh0QdYTR9MAPlrVLiVBVMWstR8TIbORkfx6K9oNLFYLcS2kT1P+sc8qU2Utfs9kPpwkbssPwKcQ==} + '@solana/kit-plugin-instruction-plan@0.6.0': + resolution: {integrity: sha512-YqAAipZPkzJlADnXfhJ3Jz7AILrkfl6x+Wi0oyk26KgsgCrfcxr0ebhwQt2fUsyVceC++6AF0pK/UsFUj/HeZw==} peerDependencies: '@solana/kit': ^6.1.0 - '@solana/kit-plugin-rpc@0.3.0': - resolution: {integrity: sha512-+HOc9HJw0wn6Yqe6cPnEzw9Cg57bl+grC1ptBmYBFfTIFM709nsbvXIC/Rxm7mCaHf/4joGrixEsAWWNBCWwaQ==} - peerDependencies: - '@solana/kit': ^6.0.0 - - '@solana/kit-plugins@0.5.0': - resolution: {integrity: sha512-smQzPRej3N99za2ebIc4hIhIBwxG5sbyVubP80ww73soFOjlfvdl8VJlGhIzXgn0jHJ7fFJckvAwfd8zymzTMw==} + '@solana/kit-plugin-payer@0.6.0': + resolution: {integrity: sha512-dtPpzhGtv0RaFGJWtXM/LYrDrM9a2AJK7X1/0rXMmFNAFxQE9M8H7TO0bczaFpZ6HFHYcp3XjOYQh/aBakaE4g==} peerDependencies: '@solana/kit': ^6.1.0 - '@solana/kit@5.5.1': - resolution: {integrity: sha512-irKUGiV2yRoyf+4eGQ/ZeCRxa43yjFEL1DUI5B0DkcfZw3cr0VJtVJnrG8OtVF01vT0OUfYOcUn6zJW5TROHvQ==} - engines: {node: '>=20.18.0'} + '@solana/kit-plugin-rpc@0.6.0': + resolution: {integrity: sha512-RMrk499+mEciT2UlFeUbVtEgSX/n8acf+Qk4m4MoX9WZzB1qmCWBXhquDoh1pOoRovVExFfgEmyKX8HIu8rVRA==} peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true + '@solana/kit': ^6.1.0 '@solana/kit@6.1.0': resolution: {integrity: sha512-24exn11BPonquufyCkGgypVtmN4JOsdGMsbF3EZ4kFyk7ZNryCn/N8eELr1FCVrHWRXoc0xy/HFaESBULTMf6g==} @@ -1328,15 +1134,6 @@ packages: typescript: optional: true - '@solana/nominal-types@5.5.1': - resolution: {integrity: sha512-I1ImR+kfrLFxN5z22UDiTWLdRZeKtU0J/pkWkO8qm/8WxveiwdIv4hooi8pb6JnlR4mSrWhq0pCIOxDYrL9GIQ==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/nominal-types@6.1.0': resolution: {integrity: sha512-+skHjN0arNNB9TLsGqA94VCx7euyGURI+qG6wck6E4D7hH6i6DxGiVrtKRghx+smJkkLtTm9BvdVKGoeNQYr7Q==} engines: {node: '>=20.18.0'} @@ -1346,15 +1143,6 @@ packages: typescript: optional: true - '@solana/offchain-messages@5.5.1': - resolution: {integrity: sha512-g+xHH95prTU+KujtbOzj8wn+C7ZNoiLhf3hj6nYq3MTyxOXtBEysguc97jJveUZG0K97aIKG6xVUlMutg5yxhw==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/offchain-messages@6.1.0': resolution: {integrity: sha512-jrUb7HGUnRA+k44upcqKeevtEdqMxYRSlFdE0JTctZunGlP3GCcTl12tFOpbnFHvBLt8RwS62+nyeES8zzNwXA==} engines: {node: '>=20.18.0'} @@ -1364,15 +1152,6 @@ packages: typescript: optional: true - '@solana/options@5.5.1': - resolution: {integrity: sha512-eo971c9iLNLmk+yOFyo7yKIJzJ/zou6uKpy6mBuyb/thKtS/haiKIc3VLhyTXty3OH2PW8yOlORJnv4DexJB8A==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/options@6.1.0': resolution: {integrity: sha512-/4FtVfR6nkHkMCumyh7/lJ6jMqyES6tKUbOJRa6gJxcIUWeRDu+XrHTHLf3gRNUqDAbFvW8FMIrQm7PdreZgRA==} engines: {node: '>=20.18.0'} @@ -1382,15 +1161,6 @@ packages: typescript: optional: true - '@solana/plugin-core@5.5.1': - resolution: {integrity: sha512-VUZl30lDQFJeiSyNfzU1EjYt2QZvoBFKEwjn1lilUJw7KgqD5z7mbV7diJhT+dLFs36i0OsjXvq5kSygn8YJ3A==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/plugin-core@6.1.0': resolution: {integrity: sha512-2nmNCPa6B1QArqpAZHWUkK6K7UXLTrekfcfJm2V//ATEtLpKEBlv0c3mrhOYwNAKP2TpNuvEV33InXWKst9oXQ==} engines: {node: '>=20.18.0'} @@ -1418,15 +1188,6 @@ packages: typescript: optional: true - '@solana/programs@5.5.1': - resolution: {integrity: sha512-7U9kn0Jsx1NuBLn5HRTFYh78MV4XN145Yc3WP/q5BlqAVNlMoU9coG5IUTJIG847TUqC1lRto3Dnpwm6T4YRpA==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/programs@6.1.0': resolution: {integrity: sha512-i4L4gSlIHDsdYRt3/YKVKMIN3UuYSKHRqK9B+AejcIc0y6Y/AXnHqzmpBRXEhvTXz18nt59MLXpVU4wu7ASjJA==} engines: {node: '>=20.18.0'} @@ -1436,15 +1197,6 @@ packages: typescript: optional: true - '@solana/promises@5.5.1': - resolution: {integrity: sha512-T9lfuUYkGykJmppEcssNiCf6yiYQxJkhiLPP+pyAc2z84/7r3UVIb2tNJk4A9sucS66pzJnVHZKcZVGUUp6wzA==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/promises@6.1.0': resolution: {integrity: sha512-/mUW6peXQiEOaylLpGv4vtkvPzQvSbfhX9j5PNIK/ry4S3SHRQ3j3W/oGy4y3LR5alwo7NcVbubrkh4e4xwcww==} engines: {node: '>=20.18.0'} @@ -1454,15 +1206,6 @@ packages: typescript: optional: true - '@solana/rpc-api@5.5.1': - resolution: {integrity: sha512-XWOQQPhKl06Vj0xi3RYHAc6oEQd8B82okYJ04K7N0Vvy3J4PN2cxeK7klwkjgavdcN9EVkYCChm2ADAtnztKnA==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/rpc-api@6.1.0': resolution: {integrity: sha512-+hO5+kZjJHuUNATUQxlJ1+ztXFkgn1j46zRwt3X7kF+VHkW3wsQ7up0JTS+Xsacmkrj1WKfymQweq8JTrsAG8A==} engines: {node: '>=20.18.0'} @@ -1472,15 +1215,6 @@ packages: typescript: optional: true - '@solana/rpc-parsed-types@5.5.1': - resolution: {integrity: sha512-HEi3G2nZqGEsa3vX6U0FrXLaqnUCg4SKIUrOe8CezD+cSFbRTOn3rCLrUmJrhVyXlHoQVaRO9mmeovk31jWxJg==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/rpc-parsed-types@6.1.0': resolution: {integrity: sha512-YKccynVgWt/gbs0tBYstNw6BSVuOeWdeAldTB2OgH95o2Q04DpO4v97X1MZDysA4SvSZM30Ek5Ni5ss3kskgdw==} engines: {node: '>=20.18.0'} @@ -1490,15 +1224,6 @@ packages: typescript: optional: true - '@solana/rpc-spec-types@5.5.1': - resolution: {integrity: sha512-6OFKtRpIEJQs8Jb2C4OO8KyP2h2Hy1MFhatMAoXA+0Ik8S3H+CicIuMZvGZ91mIu/tXicuOOsNNLu3HAkrakrw==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/rpc-spec-types@6.1.0': resolution: {integrity: sha512-tldMv1b6VGcvcRrY5MDWKlsyEKH6K96zE7gAIpKDX2G4T47ZOV+OMA3nh6xQpRgtyCUBsej0t80qmvTBDX/5IQ==} engines: {node: '>=20.18.0'} @@ -1508,15 +1233,6 @@ packages: typescript: optional: true - '@solana/rpc-spec@5.5.1': - resolution: {integrity: sha512-m3LX2bChm3E3by4mQrH4YwCAFY57QBzuUSWqlUw7ChuZ+oLLOq7b2czi4i6L4Vna67j3eCmB3e+4tqy1j5wy7Q==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/rpc-spec@6.1.0': resolution: {integrity: sha512-RxpkIGizCYhXGUcap7npV2S/rAXZ7P/liozY/ExjMmCxYTDwGIW33kp/uH/JRxuzrL8+f8FqY76VsqqIe+2VZw==} engines: {node: '>=20.18.0'} @@ -1526,15 +1242,6 @@ packages: typescript: optional: true - '@solana/rpc-subscriptions-api@5.5.1': - resolution: {integrity: sha512-5Oi7k+GdeS8xR2ly1iuSFkAv6CZqwG0Z6b1QZKbEgxadE1XGSDrhM2cn59l+bqCozUWCqh4c/A2znU/qQjROlw==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/rpc-subscriptions-api@6.1.0': resolution: {integrity: sha512-I6J+3VU0dda6EySKbDyd+1urC7RGIRPRp0DcWRVcy68NOLbq0I5C40Dn9O2Zf8iCdK4PbQ7JKdCvZ/bDd45hdg==} engines: {node: '>=20.18.0'} @@ -1544,15 +1251,6 @@ packages: typescript: optional: true - '@solana/rpc-subscriptions-channel-websocket@5.5.1': - resolution: {integrity: sha512-7tGfBBrYY8TrngOyxSHoCU5shy86iA9SRMRrPSyBhEaZRAk6dnbdpmUTez7gtdVo0BCvh9nzQtUycKWSS7PnFQ==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/rpc-subscriptions-channel-websocket@6.1.0': resolution: {integrity: sha512-vsx9b+uyCr9L3giao/BTiBFA8DxV5+gDNFq0t5uL21uQ17JXzBektwzHuHoth9IjkvXV/h+IhwXfuLE9Qm4GQg==} engines: {node: '>=20.18.0'} @@ -1562,15 +1260,6 @@ packages: typescript: optional: true - '@solana/rpc-subscriptions-spec@5.5.1': - resolution: {integrity: sha512-iq+rGq5fMKP3/mKHPNB6MC8IbVW41KGZg83Us/+LE3AWOTWV1WT20KT2iH1F1ik9roi42COv/TpoZZvhKj45XQ==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/rpc-subscriptions-spec@6.1.0': resolution: {integrity: sha512-P06jhqzHpZGaLeJmIQkpDeMDD1xUp53ARpmXMsduMC+U5ZKQt29CLo+JrR18boNtls6WfttjVMEbzF25/4UPVA==} engines: {node: '>=20.18.0'} @@ -1580,15 +1269,6 @@ packages: typescript: optional: true - '@solana/rpc-subscriptions@5.5.1': - resolution: {integrity: sha512-CTMy5bt/6mDh4tc6vUJms9EcuZj3xvK0/xq8IQ90rhkpYvate91RjBP+egvjgSayUg9yucU9vNuUpEjz4spM7w==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/rpc-subscriptions@6.1.0': resolution: {integrity: sha512-sqwj+cQinWcZ7M/9+cudKxMPTkTQyGP73980vPCWM7vCpPkp2qzgrEie4DdgDGo+NMwIjeFgu2kdUuLHI3GD/g==} engines: {node: '>=20.18.0'} @@ -1598,15 +1278,6 @@ packages: typescript: optional: true - '@solana/rpc-transformers@5.5.1': - resolution: {integrity: sha512-OsWqLCQdcrRJKvHiMmwFhp9noNZ4FARuMkHT5us3ustDLXaxOjF0gfqZLnMkulSLcKt7TGXqMhBV+HCo7z5M8Q==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/rpc-transformers@6.1.0': resolution: {integrity: sha512-OsSuuRPmsmS02eR9Zz+4iTsr+21hvEMEex5vwbwN6LAGPFlQ4ohqGkxgZCwmYd+Q5HWpnn9Uuf1MDTLLrKQkig==} engines: {node: '>=20.18.0'} @@ -1616,15 +1287,6 @@ packages: typescript: optional: true - '@solana/rpc-transport-http@5.5.1': - resolution: {integrity: sha512-yv8GoVSHqEV0kUJEIhkdOVkR2SvJ6yoWC51cJn2rSV7plr6huLGe0JgujCmB7uZhhaLbcbP3zxXxu9sOjsi7Fg==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/rpc-transport-http@6.1.0': resolution: {integrity: sha512-3ebaTYuglLJagaXtjwDPVI7SQeeeFN2fpetpGKsuMAiti4fzYqEkNN8FIo+nXBzqqG/cVc2421xKjXl6sO1k/g==} engines: {node: '>=20.18.0'} @@ -1634,15 +1296,6 @@ packages: typescript: optional: true - '@solana/rpc-types@5.5.1': - resolution: {integrity: sha512-bibTFQ7PbHJJjGJPmfYC2I+/5CRFS4O2p9WwbFraX1Keeel+nRrt/NBXIy8veP5AEn2sVJIyJPpWBRpCx1oATA==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - '@solana/rpc-types@6.1.0': resolution: {integrity: sha512-lR+Cb3v5Rpl49HsXWASy++TSE1AD86eRKabY+iuWnbBMYVGI4MamAvYwgBiygsCNc30nyO2TFNj9STMeSD/gAg==} engines: {node: '>=20.18.0'} @@ -1652,71 +1305,8 @@ packages: typescript: optional: true - '@solana/rpc@5.5.1': - resolution: {integrity: sha512-ku8zTUMrkCWci66PRIBC+1mXepEnZH/q1f3ck0kJZ95a06bOTl5KU7HeXWtskkyefzARJ5zvCs54AD5nxjQJ+A==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - - '@solana/rpc@6.1.0': - resolution: {integrity: sha512-R3y5PklW9mPy5Y34hsXj40R28zN2N7AGLnHqYJVkXkllwVub/QCNpSdDxAnbbS5EGOYGoUOW8s5LFoXwMSr1LQ==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - - '@solana/signers@5.5.1': - resolution: {integrity: sha512-FY0IVaBT2kCAze55vEieR6hag4coqcuJ31Aw3hqRH7mv6sV8oqwuJmUrx+uFwOp1gwd5OEAzlv6N4hOOple4sQ==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - - '@solana/signers@6.1.0': - resolution: {integrity: sha512-WDPGZJr6jIe2dEChv/2KQBnaga8dqOjd6ceBj/HcDHxnCudo66t7GlyZ9+9jMO40AgOOb7EDE5FDqPMrHMg5Yw==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - - '@solana/subscribable@5.5.1': - resolution: {integrity: sha512-9K0PsynFq0CsmK1CDi5Y2vUIJpCqkgSS5yfDN0eKPgHqEptLEaia09Kaxc90cSZDZU5mKY/zv1NBmB6Aro9zQQ==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - - '@solana/subscribable@6.1.0': - resolution: {integrity: sha512-HiUfkxN7638uxPmY4t0gI4+yqnFLZYJKFaT9EpWIuGrOB1d9n+uOHNs3NU7cVMwWXgfZUbztTCKyCVTbcwesNg==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - - '@solana/sysvars@5.5.1': - resolution: {integrity: sha512-k3Quq87Mm+geGUu1GWv6knPk0ALsfY6EKSJGw9xUJDHzY/RkYSBnh0RiOrUhtFm2TDNjOailg8/m0VHmi3reFA==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - - '@solana/sysvars@6.1.0': - resolution: {integrity: sha512-KwJyBBrAOx0BgkiZqOKAaySDb/0JrUFSBQL9/O1kSKGy9TCRX55Ytr1HxNTcTPppWNpbM6JZVK+yW3Ruey0HRw==} + '@solana/rpc@6.1.0': + resolution: {integrity: sha512-R3y5PklW9mPy5Y34hsXj40R28zN2N7AGLnHqYJVkXkllwVub/QCNpSdDxAnbbS5EGOYGoUOW8s5LFoXwMSr1LQ==} engines: {node: '>=20.18.0'} peerDependencies: typescript: ^5.0.0 @@ -1724,8 +1314,8 @@ packages: typescript: optional: true - '@solana/transaction-confirmation@5.5.1': - resolution: {integrity: sha512-j4mKlYPHEyu+OD7MBt3jRoX4ScFgkhZC6H65on4Fux6LMScgivPJlwnKoZMnsgxFgWds0pl+BYzSiALDsXlYtw==} + '@solana/signers@6.1.0': + resolution: {integrity: sha512-WDPGZJr6jIe2dEChv/2KQBnaga8dqOjd6ceBj/HcDHxnCudo66t7GlyZ9+9jMO40AgOOb7EDE5FDqPMrHMg5Yw==} engines: {node: '>=20.18.0'} peerDependencies: typescript: ^5.0.0 @@ -1733,8 +1323,8 @@ packages: typescript: optional: true - '@solana/transaction-confirmation@6.1.0': - resolution: {integrity: sha512-akSjcqAMOGPFvKctFDSzhjcRc/45WbEVdVQ9mjgH6OYo7B11WZZZaeGPlzAw5KyuG34Px941xmICkBmNqEH47Q==} + '@solana/subscribable@6.1.0': + resolution: {integrity: sha512-HiUfkxN7638uxPmY4t0gI4+yqnFLZYJKFaT9EpWIuGrOB1d9n+uOHNs3NU7cVMwWXgfZUbztTCKyCVTbcwesNg==} engines: {node: '>=20.18.0'} peerDependencies: typescript: ^5.0.0 @@ -1742,8 +1332,8 @@ packages: typescript: optional: true - '@solana/transaction-messages@5.5.1': - resolution: {integrity: sha512-aXyhMCEaAp3M/4fP0akwBBQkFPr4pfwoC5CLDq999r/FUwDax2RE/h4Ic7h2Xk+JdcUwsb+rLq85Y52hq84XvQ==} + '@solana/sysvars@6.1.0': + resolution: {integrity: sha512-KwJyBBrAOx0BgkiZqOKAaySDb/0JrUFSBQL9/O1kSKGy9TCRX55Ytr1HxNTcTPppWNpbM6JZVK+yW3Ruey0HRw==} engines: {node: '>=20.18.0'} peerDependencies: typescript: ^5.0.0 @@ -1751,8 +1341,8 @@ packages: typescript: optional: true - '@solana/transaction-messages@6.1.0': - resolution: {integrity: sha512-Dpv54LRVcfFbFEa/uB53LaY/TRfKuPGMKR7Z4F290zBgkj9xkpZkI+WLiJBiSloI7Qo2KZqXj3514BIeZvJLcg==} + '@solana/transaction-confirmation@6.1.0': + resolution: {integrity: sha512-akSjcqAMOGPFvKctFDSzhjcRc/45WbEVdVQ9mjgH6OYo7B11WZZZaeGPlzAw5KyuG34Px941xmICkBmNqEH47Q==} engines: {node: '>=20.18.0'} peerDependencies: typescript: ^5.0.0 @@ -1760,8 +1350,8 @@ packages: typescript: optional: true - '@solana/transactions@5.5.1': - resolution: {integrity: sha512-8hHtDxtqalZ157pnx6p8k10D7J/KY/biLzfgh9R09VNLLY3Fqi7kJvJCr7M2ik3oRll56pxhraAGCC9yIT6eOA==} + '@solana/transaction-messages@6.1.0': + resolution: {integrity: sha512-Dpv54LRVcfFbFEa/uB53LaY/TRfKuPGMKR7Z4F290zBgkj9xkpZkI+WLiJBiSloI7Qo2KZqXj3514BIeZvJLcg==} engines: {node: '>=20.18.0'} peerDependencies: typescript: ^5.0.0 @@ -2308,10 +1898,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - commander@14.0.2: - resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==} - engines: {node: '>=20'} - commander@14.0.3: resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} @@ -4326,42 +3912,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@loris-sandbox/litesvm-kit-darwin-arm64@0.5.0': - optional: true - - '@loris-sandbox/litesvm-kit-darwin-x64@0.5.0': - optional: true - - '@loris-sandbox/litesvm-kit-linux-arm64-gnu@0.5.0': - optional: true - - '@loris-sandbox/litesvm-kit-linux-arm64-musl@0.5.0': - optional: true - - '@loris-sandbox/litesvm-kit-linux-x64-gnu@0.5.0': - optional: true - - '@loris-sandbox/litesvm-kit-linux-x64-musl@0.5.0': - optional: true - - '@loris-sandbox/litesvm-kit@0.5.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana-program/system': 0.10.0(@solana/kit@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)) - '@solana-program/token': 0.9.0(@solana/kit@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)) - '@solana/kit': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - optionalDependencies: - '@loris-sandbox/litesvm-kit-darwin-arm64': 0.5.0 - '@loris-sandbox/litesvm-kit-darwin-x64': 0.5.0 - '@loris-sandbox/litesvm-kit-linux-arm64-gnu': 0.5.0 - '@loris-sandbox/litesvm-kit-linux-arm64-musl': 0.5.0 - '@loris-sandbox/litesvm-kit-linux-x64-gnu': 0.5.0 - '@loris-sandbox/litesvm-kit-linux-x64-musl': 0.5.0 - transitivePeerDependencies: - - bufferutil - - fastestsmallesttextencoderdecoder - - typescript - - utf-8-validate - '@napi-rs/wasm-runtime@0.2.12': dependencies: '@emnapi/core': 1.7.1 @@ -4530,31 +4080,10 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@solana-program/compute-budget@0.13.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))': + '@solana-program/compute-budget@0.14.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))': dependencies: '@solana/kit': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana-program/system@0.10.0(@solana/kit@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))': - dependencies: - '@solana/kit': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - - '@solana-program/token@0.9.0(@solana/kit@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))': - dependencies: - '@solana/kit': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - - '@solana/accounts@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/rpc-spec': 5.5.1(typescript@5.9.3) - '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/accounts@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/addresses': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) @@ -4568,18 +4097,6 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/addresses@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/assertions': 5.5.1(typescript@5.9.3) - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/nominal-types': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/addresses@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/assertions': 6.1.0(typescript@5.9.3) @@ -4592,38 +4109,18 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/assertions@5.5.1(typescript@5.9.3)': - dependencies: - '@solana/errors': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - '@solana/assertions@6.1.0(typescript@5.9.3)': dependencies: '@solana/errors': 6.1.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 - '@solana/codecs-core@5.5.1(typescript@5.9.3)': - dependencies: - '@solana/errors': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - '@solana/codecs-core@6.1.0(typescript@5.9.3)': dependencies: '@solana/errors': 6.1.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 - '@solana/codecs-data-structures@5.5.1(typescript@5.9.3)': - dependencies: - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/codecs-numbers': 5.5.1(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - '@solana/codecs-data-structures@6.1.0(typescript@5.9.3)': dependencies: '@solana/codecs-core': 6.1.0(typescript@5.9.3) @@ -4632,13 +4129,6 @@ snapshots: optionalDependencies: typescript: 5.9.3 - '@solana/codecs-numbers@5.5.1(typescript@5.9.3)': - dependencies: - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - '@solana/codecs-numbers@6.1.0(typescript@5.9.3)': dependencies: '@solana/codecs-core': 6.1.0(typescript@5.9.3) @@ -4646,15 +4136,6 @@ snapshots: optionalDependencies: typescript: 5.9.3 - '@solana/codecs-strings@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/codecs-numbers': 5.5.1(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - optionalDependencies: - fastestsmallesttextencoderdecoder: 1.0.22 - typescript: 5.9.3 - '@solana/codecs-strings@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/codecs-core': 6.1.0(typescript@5.9.3) @@ -4664,18 +4145,6 @@ snapshots: fastestsmallesttextencoderdecoder: 1.0.22 typescript: 5.9.3 - '@solana/codecs@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/codecs-data-structures': 5.5.1(typescript@5.9.3) - '@solana/codecs-numbers': 5.5.1(typescript@5.9.3) - '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/options': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/codecs@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/codecs-core': 6.1.0(typescript@5.9.3) @@ -4688,13 +4157,6 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/errors@5.5.1(typescript@5.9.3)': - dependencies: - chalk: 5.6.2 - commander: 14.0.2 - optionalDependencies: - typescript: 5.9.3 - '@solana/errors@6.1.0(typescript@5.9.3)': dependencies: chalk: 5.6.2 @@ -4718,35 +4180,14 @@ snapshots: typescript: 5.9.3 typescript-eslint: 8.48.1(eslint@9.39.2)(typescript@5.9.3) - '@solana/fast-stable-stringify@5.5.1(typescript@5.9.3)': - optionalDependencies: - typescript: 5.9.3 - '@solana/fast-stable-stringify@6.1.0(typescript@5.9.3)': optionalDependencies: typescript: 5.9.3 - '@solana/functional@5.5.1(typescript@5.9.3)': - optionalDependencies: - typescript: 5.9.3 - '@solana/functional@6.1.0(typescript@5.9.3)': optionalDependencies: typescript: 5.9.3 - '@solana/instruction-plans@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/instructions': 5.5.1(typescript@5.9.3) - '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/promises': 5.5.1(typescript@5.9.3) - '@solana/transaction-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/transactions': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/instruction-plans@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/errors': 6.1.0(typescript@5.9.3) @@ -4760,13 +4201,6 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/instructions@5.5.1(typescript@5.9.3)': - dependencies: - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - '@solana/instructions@6.1.0(typescript@5.9.3)': dependencies: '@solana/codecs-core': 6.1.0(typescript@5.9.3) @@ -4774,18 +4208,6 @@ snapshots: optionalDependencies: typescript: 5.9.3 - '@solana/keys@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/assertions': 5.5.1(typescript@5.9.3) - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/nominal-types': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/keys@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/assertions': 6.1.0(typescript@5.9.3) @@ -4798,77 +4220,30 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/kit-plugin-airdrop@0.5.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))': - dependencies: - '@solana/kit': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - - '@solana/kit-plugin-instruction-plan@0.4.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))': + '@solana/kit-client-rpc@0.6.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))': dependencies: - '@solana-program/compute-budget': 0.13.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)) '@solana/kit': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) + '@solana/kit-plugin-airdrop': 0.5.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)) + '@solana/kit-plugin-instruction-plan': 0.6.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)) + '@solana/kit-plugin-payer': 0.6.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)) + '@solana/kit-plugin-rpc': 0.6.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)) - '@solana/kit-plugin-litesvm@0.3.1(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': + '@solana/kit-plugin-airdrop@0.5.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))': dependencies: - '@loris-sandbox/litesvm-kit': 0.5.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) '@solana/kit': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - transitivePeerDependencies: - - bufferutil - - fastestsmallesttextencoderdecoder - - typescript - - utf-8-validate - '@solana/kit-plugin-payer@0.5.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))': + '@solana/kit-plugin-instruction-plan@0.6.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))': dependencies: '@solana/kit': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/kit-plugin-rpc@0.3.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))': + '@solana/kit-plugin-payer@0.6.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))': dependencies: '@solana/kit': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/kit-plugins@0.5.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': + '@solana/kit-plugin-rpc@0.6.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))': dependencies: + '@solana-program/compute-budget': 0.14.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)) '@solana/kit': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/kit-plugin-airdrop': 0.5.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)) - '@solana/kit-plugin-instruction-plan': 0.4.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)) - '@solana/kit-plugin-litesvm': 0.3.1(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/kit-plugin-payer': 0.5.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)) - '@solana/kit-plugin-rpc': 0.3.0(@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)) - transitivePeerDependencies: - - bufferutil - - fastestsmallesttextencoderdecoder - - typescript - - utf-8-validate - - '@solana/kit@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/accounts': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/codecs': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/functional': 5.5.1(typescript@5.9.3) - '@solana/instruction-plans': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/instructions': 5.5.1(typescript@5.9.3) - '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/offchain-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/plugin-core': 5.5.1(typescript@5.9.3) - '@solana/programs': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/rpc': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/rpc-api': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/rpc-parsed-types': 5.5.1(typescript@5.9.3) - '@solana/rpc-spec-types': 5.5.1(typescript@5.9.3) - '@solana/rpc-subscriptions': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/signers': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/sysvars': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/transaction-confirmation': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/transaction-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/transactions': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - bufferutil - - fastestsmallesttextencoderdecoder - - utf-8-validate '@solana/kit@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: @@ -4903,29 +4278,10 @@ snapshots: - fastestsmallesttextencoderdecoder - utf-8-validate - '@solana/nominal-types@5.5.1(typescript@5.9.3)': - optionalDependencies: - typescript: 5.9.3 - '@solana/nominal-types@6.1.0(typescript@5.9.3)': optionalDependencies: typescript: 5.9.3 - '@solana/offchain-messages@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/codecs-data-structures': 5.5.1(typescript@5.9.3) - '@solana/codecs-numbers': 5.5.1(typescript@5.9.3) - '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/nominal-types': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/offchain-messages@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/addresses': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) @@ -4941,18 +4297,6 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/options@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/codecs-data-structures': 5.5.1(typescript@5.9.3) - '@solana/codecs-numbers': 5.5.1(typescript@5.9.3) - '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/options@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/codecs-core': 6.1.0(typescript@5.9.3) @@ -4965,10 +4309,6 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/plugin-core@5.5.1(typescript@5.9.3)': - optionalDependencies: - typescript: 5.9.3 - '@solana/plugin-core@6.1.0(typescript@5.9.3)': optionalDependencies: typescript: 5.9.3 @@ -5003,15 +4343,6 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/programs@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/programs@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/addresses': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) @@ -5021,32 +4352,10 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/promises@5.5.1(typescript@5.9.3)': - optionalDependencies: - typescript: 5.9.3 - '@solana/promises@6.1.0(typescript@5.9.3)': optionalDependencies: typescript: 5.9.3 - '@solana/rpc-api@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/rpc-parsed-types': 5.5.1(typescript@5.9.3) - '@solana/rpc-spec': 5.5.1(typescript@5.9.3) - '@solana/rpc-transformers': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/transaction-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/transactions': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/rpc-api@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/addresses': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) @@ -5065,29 +4374,14 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/rpc-parsed-types@5.5.1(typescript@5.9.3)': - optionalDependencies: - typescript: 5.9.3 - '@solana/rpc-parsed-types@6.1.0(typescript@5.9.3)': optionalDependencies: typescript: 5.9.3 - '@solana/rpc-spec-types@5.5.1(typescript@5.9.3)': - optionalDependencies: - typescript: 5.9.3 - '@solana/rpc-spec-types@6.1.0(typescript@5.9.3)': optionalDependencies: typescript: 5.9.3 - '@solana/rpc-spec@5.5.1(typescript@5.9.3)': - dependencies: - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/rpc-spec-types': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - '@solana/rpc-spec@6.1.0(typescript@5.9.3)': dependencies: '@solana/errors': 6.1.0(typescript@5.9.3) @@ -5095,20 +4389,6 @@ snapshots: optionalDependencies: typescript: 5.9.3 - '@solana/rpc-subscriptions-api@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/rpc-subscriptions-spec': 5.5.1(typescript@5.9.3) - '@solana/rpc-transformers': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/transaction-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/transactions': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/rpc-subscriptions-api@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/addresses': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) @@ -5123,19 +4403,6 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/rpc-subscriptions-channel-websocket@5.5.1(typescript@5.9.3)': - dependencies: - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/functional': 5.5.1(typescript@5.9.3) - '@solana/rpc-subscriptions-spec': 5.5.1(typescript@5.9.3) - '@solana/subscribable': 5.5.1(typescript@5.9.3) - ws: 8.19.0 - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - '@solana/rpc-subscriptions-channel-websocket@6.1.0(typescript@5.9.3)': dependencies: '@solana/errors': 6.1.0(typescript@5.9.3) @@ -5149,15 +4416,6 @@ snapshots: - bufferutil - utf-8-validate - '@solana/rpc-subscriptions-spec@5.5.1(typescript@5.9.3)': - dependencies: - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/promises': 5.5.1(typescript@5.9.3) - '@solana/rpc-spec-types': 5.5.1(typescript@5.9.3) - '@solana/subscribable': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - '@solana/rpc-subscriptions-spec@6.1.0(typescript@5.9.3)': dependencies: '@solana/errors': 6.1.0(typescript@5.9.3) @@ -5167,26 +4425,6 @@ snapshots: optionalDependencies: typescript: 5.9.3 - '@solana/rpc-subscriptions@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/fast-stable-stringify': 5.5.1(typescript@5.9.3) - '@solana/functional': 5.5.1(typescript@5.9.3) - '@solana/promises': 5.5.1(typescript@5.9.3) - '@solana/rpc-spec-types': 5.5.1(typescript@5.9.3) - '@solana/rpc-subscriptions-api': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/rpc-subscriptions-channel-websocket': 5.5.1(typescript@5.9.3) - '@solana/rpc-subscriptions-spec': 5.5.1(typescript@5.9.3) - '@solana/rpc-transformers': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/subscribable': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - bufferutil - - fastestsmallesttextencoderdecoder - - utf-8-validate - '@solana/rpc-subscriptions@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/errors': 6.1.0(typescript@5.9.3) @@ -5207,18 +4445,6 @@ snapshots: - fastestsmallesttextencoderdecoder - utf-8-validate - '@solana/rpc-transformers@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/functional': 5.5.1(typescript@5.9.3) - '@solana/nominal-types': 5.5.1(typescript@5.9.3) - '@solana/rpc-spec-types': 5.5.1(typescript@5.9.3) - '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/rpc-transformers@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/errors': 6.1.0(typescript@5.9.3) @@ -5231,15 +4457,6 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/rpc-transport-http@5.5.1(typescript@5.9.3)': - dependencies: - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/rpc-spec': 5.5.1(typescript@5.9.3) - '@solana/rpc-spec-types': 5.5.1(typescript@5.9.3) - undici-types: 7.22.0 - optionalDependencies: - typescript: 5.9.3 - '@solana/rpc-transport-http@6.1.0(typescript@5.9.3)': dependencies: '@solana/errors': 6.1.0(typescript@5.9.3) @@ -5249,19 +4466,6 @@ snapshots: optionalDependencies: typescript: 5.9.3 - '@solana/rpc-types@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/codecs-numbers': 5.5.1(typescript@5.9.3) - '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/nominal-types': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/rpc-types@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/addresses': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) @@ -5275,22 +4479,6 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/rpc@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/fast-stable-stringify': 5.5.1(typescript@5.9.3) - '@solana/functional': 5.5.1(typescript@5.9.3) - '@solana/rpc-api': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/rpc-spec': 5.5.1(typescript@5.9.3) - '@solana/rpc-spec-types': 5.5.1(typescript@5.9.3) - '@solana/rpc-transformers': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/rpc-transport-http': 5.5.1(typescript@5.9.3) - '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/rpc@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/errors': 6.1.0(typescript@5.9.3) @@ -5307,22 +4495,6 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/signers@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/instructions': 5.5.1(typescript@5.9.3) - '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/nominal-types': 5.5.1(typescript@5.9.3) - '@solana/offchain-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/transaction-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/transactions': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/signers@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/addresses': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) @@ -5339,29 +4511,12 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/subscribable@5.5.1(typescript@5.9.3)': - dependencies: - '@solana/errors': 5.5.1(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - '@solana/subscribable@6.1.0(typescript@5.9.3)': dependencies: '@solana/errors': 6.1.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 - '@solana/sysvars@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/accounts': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/codecs': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/sysvars@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/accounts': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) @@ -5373,25 +4528,6 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/transaction-confirmation@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/promises': 5.5.1(typescript@5.9.3) - '@solana/rpc': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/rpc-subscriptions': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/transaction-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/transactions': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - bufferutil - - fastestsmallesttextencoderdecoder - - utf-8-validate - '@solana/transaction-confirmation@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/addresses': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) @@ -5411,22 +4547,6 @@ snapshots: - fastestsmallesttextencoderdecoder - utf-8-validate - '@solana/transaction-messages@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/codecs-data-structures': 5.5.1(typescript@5.9.3) - '@solana/codecs-numbers': 5.5.1(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/functional': 5.5.1(typescript@5.9.3) - '@solana/instructions': 5.5.1(typescript@5.9.3) - '@solana/nominal-types': 5.5.1(typescript@5.9.3) - '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/transaction-messages@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/addresses': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) @@ -5443,25 +4563,6 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/transactions@5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': - dependencies: - '@solana/addresses': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/codecs-core': 5.5.1(typescript@5.9.3) - '@solana/codecs-data-structures': 5.5.1(typescript@5.9.3) - '@solana/codecs-numbers': 5.5.1(typescript@5.9.3) - '@solana/codecs-strings': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/errors': 5.5.1(typescript@5.9.3) - '@solana/functional': 5.5.1(typescript@5.9.3) - '@solana/instructions': 5.5.1(typescript@5.9.3) - '@solana/keys': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/nominal-types': 5.5.1(typescript@5.9.3) - '@solana/rpc-types': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - '@solana/transaction-messages': 5.5.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - fastestsmallesttextencoderdecoder - '@solana/transactions@6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)': dependencies: '@solana/addresses': 6.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3) @@ -6076,8 +5177,6 @@ snapshots: color-name@1.1.4: {} - commander@14.0.2: {} - commander@14.0.3: {} commander@4.1.1: {} diff --git a/clients/js/test/_setup.ts b/clients/js/test/_setup.ts index 0eb6bd1..bed7ce2 100644 --- a/clients/js/test/_setup.ts +++ b/clients/js/test/_setup.ts @@ -1,110 +1,42 @@ import { - Address, - BaseTransactionMessage, - Commitment, - Rpc, - RpcSubscriptions, - SolanaRpcApi, - SolanaRpcSubscriptionsApi, - TransactionMessageWithBlockhashLifetime, - TransactionMessageWithFeePayer, + ClientWithPayer, + ClientWithRpc, + GetMinimumBalanceForRentExemptionApi, TransactionSigner, - airdropFactory, - appendTransactionMessageInstruction, - assertIsSendableTransaction, - assertIsTransactionWithBlockhashLifetime, - createSolanaRpc, - createSolanaRpcSubscriptions, - createTransactionMessage, - generateKeyPairSigner, - getSignatureFromTransaction, - lamports, - pipe, - sendAndConfirmTransactionFactory, - setTransactionMessageFeePayerSigner, - setTransactionMessageLifetimeUsingBlockhash, - signTransactionMessageWithSigners, + sequentialInstructionPlan, } from '@solana/kit'; +import { createLocalClient } from '@solana/kit-client-rpc'; import { SYSTEM_PROGRAM_ADDRESS, getCreateAccountInstruction, getInitializeNonceAccountInstruction, getNonceSize, + systemProgram, } from '../src'; -type Client = { - rpc: Rpc; - rpcSubscriptions: RpcSubscriptions; +export const createClient = () => { + return createLocalClient().use(systemProgram()); }; -export const createDefaultSolanaClient = (): Client => { - const rpc = createSolanaRpc('http://127.0.0.1:8899'); - const rpcSubscriptions = createSolanaRpcSubscriptions('ws://127.0.0.1:8900'); - return { rpc, rpcSubscriptions }; -}; - -export const generateKeyPairSignerWithSol = async (client: Client, putativeLamports: bigint = 1_000_000_000n) => { - const signer = await generateKeyPairSigner(); - await airdropFactory(client)({ - recipientAddress: signer.address, - lamports: lamports(putativeLamports), - commitment: 'confirmed', - }); - return signer; -}; - -export const createDefaultTransaction = async (client: Client, feePayer: TransactionSigner) => { - const { value: latestBlockhash } = await client.rpc.getLatestBlockhash().send(); - return pipe( - createTransactionMessage({ version: 0 }), - tx => setTransactionMessageFeePayerSigner(feePayer, tx), - tx => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, tx), - ); -}; - -export const signAndSendTransaction = async ( - client: Client, - transactionMessage: BaseTransactionMessage & - TransactionMessageWithFeePayer & - TransactionMessageWithBlockhashLifetime, - commitment: Commitment = 'confirmed', -) => { - const signedTransaction = await signTransactionMessageWithSigners(transactionMessage); - const signature = getSignatureFromTransaction(signedTransaction); - assertIsSendableTransaction(signedTransaction); - assertIsTransactionWithBlockhashLifetime(signedTransaction); - await sendAndConfirmTransactionFactory(client)(signedTransaction, { - commitment, - }); - return signature; -}; - -export const getBalance = async (client: Client, address: Address) => - (await client.rpc.getBalance(address, { commitment: 'confirmed' }).send()).value; - -export const createNonceAccount = async ( - client: Client, - payer: TransactionSigner, +export const getCreateNonceInstructionPlan = async ( + client: ClientWithPayer & ClientWithRpc, nonce: TransactionSigner, nonceAuthority: TransactionSigner, ) => { const space = BigInt(getNonceSize()); const rent = await client.rpc.getMinimumBalanceForRentExemption(space).send(); - const createAccount = getCreateAccountInstruction({ - payer, - newAccount: nonce, - lamports: rent, - space, - programAddress: SYSTEM_PROGRAM_ADDRESS, - }); - const initializeNonceAccount = getInitializeNonceAccountInstruction({ - nonceAccount: nonce.address, - nonceAuthority: nonceAuthority.address, - }); - await pipe( - await createDefaultTransaction(client, payer), - tx => appendTransactionMessageInstruction(createAccount, tx), - tx => appendTransactionMessageInstruction(initializeNonceAccount, tx), - tx => signAndSendTransaction(client, tx), - ); + + return sequentialInstructionPlan([ + getCreateAccountInstruction({ + payer: client.payer, + newAccount: nonce, + lamports: rent, + space, + programAddress: SYSTEM_PROGRAM_ADDRESS, + }), + getInitializeNonceAccountInstruction({ + nonceAccount: nonce.address, + nonceAuthority: nonceAuthority.address, + }), + ]); }; diff --git a/clients/js/test/advanceNonceAccount.test.ts b/clients/js/test/advanceNonceAccount.test.ts index 81104b8..edc5c0a 100644 --- a/clients/js/test/advanceNonceAccount.test.ts +++ b/clients/js/test/advanceNonceAccount.test.ts @@ -1,37 +1,23 @@ -import { appendTransactionMessageInstruction, generateKeyPairSigner, pipe } from '@solana/kit'; -import { it, expect } from 'vitest'; -import { fetchNonce, getAdvanceNonceAccountInstruction } from '../src'; -import { - createDefaultSolanaClient, - createDefaultTransaction, - createNonceAccount, - generateKeyPairSignerWithSol, - signAndSendTransaction, -} from './_setup'; +import { generateKeyPairSigner } from '@solana/kit'; +import { expect, it } from 'vitest'; +import { createClient, getCreateNonceInstructionPlan } from './_setup'; it('advances the nonce account', async () => { // Given an existing nonce account. - const client = createDefaultSolanaClient(); - const [payer, nonce, authority] = await Promise.all([ - generateKeyPairSignerWithSol(client), + const [client, nonce, authority] = await Promise.all([ + createClient(), generateKeyPairSigner(), generateKeyPairSigner(), ]); - await createNonceAccount(client, payer, nonce, authority); - const originalNonceAccount = await fetchNonce(client.rpc, nonce.address); + await client.sendTransaction(await getCreateNonceInstructionPlan(client, nonce, authority)); + const originalNonceAccount = await client.system.accounts.nonce.fetch(nonce.address); // When the authority advances the nonce account. - const createAccount = getAdvanceNonceAccountInstruction({ - nonceAccount: nonce.address, - nonceAuthority: authority, - }); - await pipe( - await createDefaultTransaction(client, payer), - tx => appendTransactionMessageInstruction(createAccount, tx), - tx => signAndSendTransaction(client, tx), - ); + await client.system.instructions + .advanceNonceAccount({ nonceAccount: nonce.address, nonceAuthority: authority }) + .sendTransaction(); // Then we expect the blockhash to have been updated. - const updatedNonceAccount = await fetchNonce(client.rpc, nonce.address); + const updatedNonceAccount = await client.system.accounts.nonce.fetch(nonce.address); expect(originalNonceAccount.data.blockhash).not.toBe(updatedNonceAccount.data.blockhash); }); diff --git a/clients/js/test/allocate.test.ts b/clients/js/test/allocate.test.ts index cf56c2b..6de29ff 100644 --- a/clients/js/test/allocate.test.ts +++ b/clients/js/test/allocate.test.ts @@ -1,60 +1,29 @@ -import { - appendTransactionMessageInstruction, - fetchEncodedAccount, - generateKeyPairSigner, - pipe, - airdropFactory, - lamports, -} from '@solana/kit'; -import { it, expect } from 'vitest'; -import { getAllocateInstruction } from '../src'; -import { - createDefaultSolanaClient, - createDefaultTransaction, - generateKeyPairSignerWithSol, - signAndSendTransaction, -} from './_setup'; +import { assertAccountExists, fetchEncodedAccount, generateKeyPairSigner } from '@solana/kit'; +import { expect, it } from 'vitest'; +import { createClient } from './_setup'; it('allocates space for an account', async () => { - // 1. Setup client and payer. - const client = createDefaultSolanaClient(); - const [payer, accountToAllocate] = await Promise.all([ - generateKeyPairSignerWithSol(client), + // Given an existing account with some SOL and 0 data. + const client = await createClient(); + const newSpace = 100n; + const [accountToAllocate, newRent] = await Promise.all([ generateKeyPairSigner(), + client.rpc.getMinimumBalanceForRentExemption(newSpace).send(), ]); + await client.airdrop(accountToAllocate.address, newRent); - // 2. Airdrop lamports to the account so it exists (system owned, 0 data). - await airdropFactory(client)({ - recipientAddress: accountToAllocate.address, - lamports: lamports(await client.rpc.getMinimumBalanceForRentExemption(100n).send()), - commitment: 'confirmed', - }); - - // Verify initial state + // And given we verify the account has 0 data length before allocation. let fetchedAccount = await fetchEncodedAccount(client.rpc, accountToAllocate.address); expect(fetchedAccount.exists).toBe(true); - if (fetchedAccount.exists) { - expect(fetchedAccount.data.length).toBe(0); - } - - // 3. Use getAllocateInstruction to allocate 100 bytes. - const newSpace = 100n; - const allocate = getAllocateInstruction({ - newAccount: accountToAllocate, - space: newSpace, - }); + assertAccountExists(fetchedAccount); + expect(fetchedAccount.data.length).toBe(0); - // 4. Send transaction - await pipe( - await createDefaultTransaction(client, payer), - tx => appendTransactionMessageInstruction(allocate, tx), - tx => signAndSendTransaction(client, tx), - ); + // When we allocate 100 bytes of space for this account. + await client.system.instructions.allocate({ newAccount: accountToAllocate, space: newSpace }).sendTransaction(); - // 5. Verify the account's data length is exactly 100 bytes. + // Then the account's data length should be exactly 100 bytes. fetchedAccount = await fetchEncodedAccount(client.rpc, accountToAllocate.address); expect(fetchedAccount.exists).toBe(true); - if (fetchedAccount.exists) { - expect(fetchedAccount.data.length).toBe(100); - } + assertAccountExists(fetchedAccount); + expect(fetchedAccount.data.length).toBe(100); }); diff --git a/clients/js/test/assign.test.ts b/clients/js/test/assign.test.ts index 51cfa0f..56a6282 100644 --- a/clients/js/test/assign.test.ts +++ b/clients/js/test/assign.test.ts @@ -1,50 +1,25 @@ -import { appendTransactionMessageInstruction, fetchEncodedAccount, generateKeyPairSigner, pipe } from '@solana/kit'; -import { it, expect } from 'vitest'; -import { SYSTEM_PROGRAM_ADDRESS, getAssignInstruction, getTransferSolInstruction } from '../src'; -import { - createDefaultSolanaClient, - createDefaultTransaction, - generateKeyPairSignerWithSol, - signAndSendTransaction, -} from './_setup'; +import { fetchEncodedAccount, generateKeyPairSigner } from '@solana/kit'; +import { expect, it } from 'vitest'; +import { createClient } from './_setup'; it('assigns a new owner to an account', async () => { - // 1. Setup client and payer. - const client = createDefaultSolanaClient(); - const [payer, accountToAssign, newOwner] = await Promise.all([ - generateKeyPairSignerWithSol(client), + // Given an existing account with enough SOL to be rent exempt with 0 data. + const client = await createClient(); + const space = 0n; + const [accountToAssign, newOwner, rent] = await Promise.all([ generateKeyPairSigner(), generateKeyPairSigner(), + client.rpc.getMinimumBalanceForRentExemption(space).send(), ]); + await client.airdrop(accountToAssign.address, rent); - // 2. Create the account first (so it exists on-chain). - // The account needs to exist to be assigned. - const space = 0n; - const lamports = await client.rpc.getMinimumBalanceForRentExemption(space).send(); - - const transfer = getTransferSolInstruction({ - source: payer, - destination: accountToAssign.address, - amount: lamports, - }); - - // 3. Use getAssignInstruction to change the owner of accountToAssign to newOwner. - const assign = getAssignInstruction({ - account: accountToAssign, - programAddress: newOwner.address, - }); - - // 4. Sign and send the transaction. - await pipe( - await createDefaultTransaction(client, payer), - tx => appendTransactionMessageInstruction(transfer, tx), - tx => appendTransactionMessageInstruction(assign, tx), - tx => signAndSendTransaction(client, tx), - ); + // When we assign a new owner to this account. + await client.system.instructions + .assign({ account: accountToAssign, programAddress: newOwner.address }) + .sendTransaction(); - // 5. Fetch the account data and verify the owner. + // Then we expect the account's owner to be the one we assigned. const fetchedAccount = await fetchEncodedAccount(client.rpc, accountToAssign.address); - // In solana/kit, 'programAddress' is the field for the account owner. expect(fetchedAccount).toMatchObject({ exists: true, programAddress: newOwner.address, diff --git a/clients/js/test/createAccount.test.ts b/clients/js/test/createAccount.test.ts index ed8b3e0..11ee01d 100644 --- a/clients/js/test/createAccount.test.ts +++ b/clients/js/test/createAccount.test.ts @@ -1,61 +1,18 @@ -import { appendTransactionMessageInstruction, fetchEncodedAccount, generateKeyPairSigner, pipe } from '@solana/kit'; -import { createDefaultLocalhostRpcClient } from '@solana/kit-plugins'; +import { fetchEncodedAccount, generateKeyPairSigner } from '@solana/kit'; import { expect, it } from 'vitest'; -import { SYSTEM_PROGRAM_ADDRESS, getCreateAccountInstruction, systemProgram } from '../src'; -import { - createDefaultSolanaClient, - createDefaultTransaction, - generateKeyPairSignerWithSol, - signAndSendTransaction, -} from './_setup'; +import { SYSTEM_PROGRAM_ADDRESS } from '../src'; +import { createClient } from './_setup'; it('creates a new empty account', async () => { - // Given we have a newly generated account keypair to create with 42 bytes of space. - const client = createDefaultSolanaClient(); - const space = 42n; - const [payer, newAccount, lamports] = await Promise.all([ - generateKeyPairSignerWithSol(client), - generateKeyPairSigner(), - client.rpc.getMinimumBalanceForRentExemption(space).send(), - ]); - - // When we call createAccount in a transaction. - const createAccount = getCreateAccountInstruction({ - payer, - newAccount, - space, - lamports, - programAddress: SYSTEM_PROGRAM_ADDRESS, - }); - await pipe( - await createDefaultTransaction(client, payer), - tx => appendTransactionMessageInstruction(createAccount, tx), - tx => signAndSendTransaction(client, tx), - ); - - // Then we expect the following account data. - const fetchedAccount = await fetchEncodedAccount(client.rpc, newAccount.address); - expect(fetchedAccount).toStrictEqual({ - executable: false, - lamports, - programAddress: SYSTEM_PROGRAM_ADDRESS, - address: newAccount.address, - data: new Uint8Array(Array.from({ length: 42 }, () => 0)), - exists: true, - space: 42n, - }); -}); - -it('creates a new empty account using the generated plugin', async () => { - // Given a client with the system program plugin installed. - const client = await createDefaultLocalhostRpcClient().use(systemProgram()); + // Given a new keypair and the computed rent for 42 bytes of space. + const client = await createClient(); const space = 42n; const [newAccount, lamports] = await Promise.all([ generateKeyPairSigner(), client.rpc.getMinimumBalanceForRentExemption(space).send(), ]); - // When we call createAccount on the plugin. + // When we create a new 42-byte account with this keypair as the address. await client.system.instructions .createAccount({ newAccount, space, lamports, programAddress: SYSTEM_PROGRAM_ADDRESS }) .sendTransaction(); diff --git a/clients/js/test/createAccountWithSeed.test.ts b/clients/js/test/createAccountWithSeed.test.ts index 38e75e0..4376302 100644 --- a/clients/js/test/createAccountWithSeed.test.ts +++ b/clients/js/test/createAccountWithSeed.test.ts @@ -1,60 +1,42 @@ -import { - appendTransactionMessageInstruction, - createAddressWithSeed, - fetchEncodedAccount, - generateKeyPairSigner, - pipe, -} from '@solana/kit'; -import { it, expect } from 'vitest'; -import { getCreateAccountWithSeedInstruction } from '../src'; -import { - createDefaultSolanaClient, - createDefaultTransaction, - generateKeyPairSignerWithSol, - signAndSendTransaction, -} from './_setup'; +import { createAddressWithSeed, fetchEncodedAccount, generateKeyPairSigner } from '@solana/kit'; +import { expect, it } from 'vitest'; +import { createClient } from './_setup'; it('creates a new empty account when base is not payer', async () => { - const client = createDefaultSolanaClient(); + // Given a program, a base account, and an address derived from them with a seed. + const client = await createClient(); const space = 42n; - const [payer, program, lamports] = await Promise.all([ - generateKeyPairSignerWithSol(client), + const [program, baseAccount, rent] = await Promise.all([ + generateKeyPairSigner(), generateKeyPairSigner(), client.rpc.getMinimumBalanceForRentExemption(space).send(), ]); - const baseAccount = await generateKeyPairSigner(); - - const programAddress = program.address; - const SEED = '123456789'; + const seed = '123456789'; const newAccount = await createAddressWithSeed({ baseAddress: baseAccount.address, - programAddress, - seed: SEED, + programAddress: program.address, + seed, }); - // When we call createAccountWithSeed in a transaction. - const createAccount = getCreateAccountWithSeedInstruction({ - payer, - newAccount, - baseAccount, - base: baseAccount.address, - seed: SEED, - space, - amount: lamports, - programAddress, - }); - await pipe( - await createDefaultTransaction(client, payer), - tx => appendTransactionMessageInstruction(createAccount, tx), - tx => signAndSendTransaction(client, tx), - ); + // When we create a new account for this address derived from a seed. + await client.system.instructions + .createAccountWithSeed({ + newAccount, + baseAccount, + base: baseAccount.address, + seed, + space, + amount: rent, + programAddress: program.address, + }) + .sendTransaction(); // Then we expect the following account data. const fetchedAccount = await fetchEncodedAccount(client.rpc, newAccount); expect(fetchedAccount).toStrictEqual({ executable: false, - lamports, - programAddress, + lamports: rent, + programAddress: program.address, address: newAccount, data: new Uint8Array(Array.from({ length: 42 }, () => 0)), exists: true, @@ -63,45 +45,38 @@ it('creates a new empty account when base is not payer', async () => { }); it('creates a new empty account when base is payer', async () => { - const client = createDefaultSolanaClient(); + // Given a program and an address derived from the program and the payer with a seed. + const client = await createClient(); const space = 42n; - const [payer, program, lamports] = await Promise.all([ - generateKeyPairSignerWithSol(client), + const [program, rent] = await Promise.all([ generateKeyPairSigner(), client.rpc.getMinimumBalanceForRentExemption(space).send(), ]); - const baseAddress = payer.address; - - const programAddress = program.address; - const SEED = '123456789'; + const seed = '123456789'; const newAccount = await createAddressWithSeed({ - baseAddress, - programAddress, - seed: SEED, + baseAddress: client.payer.address, + programAddress: program.address, + seed, }); - // When we call createAccountWithSeed in a transaction. - const createAccount = getCreateAccountWithSeedInstruction({ - payer, - newAccount, - base: baseAddress, - seed: SEED, - space, - amount: lamports, - programAddress, - }); - await pipe( - await createDefaultTransaction(client, payer), - tx => appendTransactionMessageInstruction(createAccount, tx), - tx => signAndSendTransaction(client, tx), - ); + // When we create a new account for this address derived from a seed. + await client.system.instructions + .createAccountWithSeed({ + newAccount, + base: client.payer.address, + seed, + space, + amount: rent, + programAddress: program.address, + }) + .sendTransaction(); // Then we expect the following account data. const fetchedAccount = await fetchEncodedAccount(client.rpc, newAccount); expect(fetchedAccount).toStrictEqual({ executable: false, - lamports, - programAddress, + lamports: rent, + programAddress: program.address, address: newAccount, data: new Uint8Array(Array.from({ length: 42 }, () => 0)), exists: true, diff --git a/clients/js/test/initializeNonceAccount.test.ts b/clients/js/test/initializeNonceAccount.test.ts index d2a42d4..6401707 100644 --- a/clients/js/test/initializeNonceAccount.test.ts +++ b/clients/js/test/initializeNonceAccount.test.ts @@ -1,52 +1,35 @@ -import { Account, appendTransactionMessageInstruction, generateKeyPairSigner, pipe } from '@solana/kit'; -import { it, expect } from 'vitest'; -import { - Nonce, - NonceState, - NonceVersion, - SYSTEM_PROGRAM_ADDRESS, - fetchNonce, - getCreateAccountInstruction, - getInitializeNonceAccountInstruction, - getNonceSize, -} from '../src'; -import { - createDefaultSolanaClient, - createDefaultTransaction, - generateKeyPairSignerWithSol, - signAndSendTransaction, -} from './_setup'; +import { generateKeyPairSigner } from '@solana/kit'; +import { expect, it } from 'vitest'; +import { NonceState, NonceVersion, SYSTEM_PROGRAM_ADDRESS, getNonceSize } from '../src'; +import { createClient } from './_setup'; it('creates and initialize a durable nonce account', async () => { - // Given some brand now payer, authority, and nonce KeyPairSigners. - const client = createDefaultSolanaClient(); - const payer = await generateKeyPairSignerWithSol(client); - const nonce = await generateKeyPairSigner(); - const nonceAuthority = await generateKeyPairSigner(); + // Given some brand new authority, and nonce KeyPairSigners. + const client = await createClient(); + const space = BigInt(getNonceSize()); + const [nonce, nonceAuthority, rent] = await Promise.all([ + generateKeyPairSigner(), + generateKeyPairSigner(), + client.rpc.getMinimumBalanceForRentExemption(space).send(), + ]); // When we use them to create and initialize a nonce account. - const space = BigInt(getNonceSize()); - const rent = await client.rpc.getMinimumBalanceForRentExemption(space).send(); - const createAccount = getCreateAccountInstruction({ - payer, - newAccount: nonce, - lamports: rent, - space, - programAddress: SYSTEM_PROGRAM_ADDRESS, - }); - const initializeNonceAccount = getInitializeNonceAccountInstruction({ - nonceAccount: nonce.address, - nonceAuthority: nonceAuthority.address, - }); - await pipe( - await createDefaultTransaction(client, payer), - tx => appendTransactionMessageInstruction(createAccount, tx), - tx => appendTransactionMessageInstruction(initializeNonceAccount, tx), - tx => signAndSendTransaction(client, tx), - ); + await client.sendTransaction([ + client.system.instructions.createAccount({ + newAccount: nonce, + lamports: rent, + space, + programAddress: SYSTEM_PROGRAM_ADDRESS, + }), + client.system.instructions.initializeNonceAccount({ + nonceAccount: nonce.address, + nonceAuthority: nonceAuthority.address, + }), + ]); // Then we expect the nonce account to exist with the following data. - expect(await fetchNonce(client.rpc, nonce.address)).toMatchObject(>{ + const nonceAccount = await client.system.accounts.nonce.fetch(nonce.address); + expect(nonceAccount).toMatchObject({ address: nonce.address, data: { version: NonceVersion.Current, diff --git a/clients/js/test/transferSol.test.ts b/clients/js/test/transferSol.test.ts index a60519d..b9e27f2 100644 --- a/clients/js/test/transferSol.test.ts +++ b/clients/js/test/transferSol.test.ts @@ -1,39 +1,27 @@ -import { AccountRole, appendTransactionMessageInstruction, generateKeyPairSigner, lamports, pipe } from '@solana/kit'; -import { it, expect } from 'vitest'; +import { AccountRole, generateKeyPairSigner, lamports } from '@solana/kit'; +import { expect, it } from 'vitest'; import { getTransferSolInstruction, parseTransferSolInstruction } from '../src'; -import { - createDefaultSolanaClient, - createDefaultTransaction, - generateKeyPairSignerWithSol, - getBalance, - signAndSendTransaction, -} from './_setup'; +import { createClient } from './_setup'; it('transfers SOL from one account to another', async () => { // Given a source account with 3 SOL and a destination account with no SOL. - const client = createDefaultSolanaClient(); - const source = await generateKeyPairSignerWithSol(client, 3_000_000_000n); - const destination = (await generateKeyPairSigner()).address; + const client = await createClient(); + const [source, destination] = await Promise.all([ + generateKeyPairSigner(), + generateKeyPairSigner().then(signer => signer.address), + ]); + await client.airdrop(source.address, lamports(3_000_000_000n)); // When the source account transfers 1 SOL to the destination account. - const transferSol = getTransferSolInstruction({ - source, - destination, - amount: 1_000_000_000, - }); - await pipe( - await createDefaultTransaction(client, source), - tx => appendTransactionMessageInstruction(transferSol, tx), - tx => signAndSendTransaction(client, tx), - ); + await client.system.instructions.transferSol({ source, destination, amount: 1_000_000_000 }).sendTransaction(); - // Then the source account now has roughly 2 SOL (minus the transaction fee). - const sourceBalance = await getBalance(client, source.address); - expect(sourceBalance).toBeLessThan(2_000_000_000n); - expect(sourceBalance).toBeGreaterThan(1_999_000_000n); + // Then the source account now has exactly 2 SOL. + const { value: sourceBalance } = await client.rpc.getBalance(source.address, { commitment: 'confirmed' }).send(); + expect(sourceBalance).toBe(lamports(2_000_000_000n)); // And the destination account has exactly 1 SOL. - expect(await getBalance(client, destination)).toBe(lamports(1_000_000_000n)); + const { value: destinationBalance } = await client.rpc.getBalance(destination, { commitment: 'confirmed' }).send(); + expect(destinationBalance).toBe(lamports(1_000_000_000n)); }); it('parses the accounts and the data of an existing transfer SOL instruction', async () => {