From 739b285b35c3b225a2d5696d73d212cf1e650c4e Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Fri, 16 Oct 2026 12:14:28 +0100 Subject: [PATCH] Bump Kit to 8.5 and Codama renderers-js to 2.7 This PR bumps `@solana/kit` to 8.5 (dev and peer), the Kit plugins to 0.19 and `@solana-program/system` to 0.16 in the JS client, and bumps `@codama/renderers-js` to 2.7 at the root before regenerating the client. The regenerated code accepts `Address | HasAddress` for addresses, and this PR widens the hand-written helpers to match: the create, update and write plans, `getProgramAuthority`, the metadata content fetchers and `packExternalData`. Close destinations passed as address wrappers are now honoured instead of silently falling back to the payer, and tests cover each path end to end. Raising the `@solana/kit` peer range to `^8.5.0` means consumers need to be on Kit 8.5 or later. --- clients/js/package.json | 12 +- clients/js/pnpm-lock.yaml | 1622 ++++++++--------- clients/js/src/createBuffer.ts | 31 +- clients/js/src/createMetadata.ts | 11 +- clients/js/src/fetchMetadataContent.ts | 14 +- clients/js/src/generated/accounts/buffer.ts | 29 +- clients/js/src/generated/accounts/metadata.ts | 29 +- .../src/generated/errors/programMetadata.ts | 6 +- .../js/src/generated/instructions/allocate.ts | 5 +- .../js/src/generated/instructions/close.ts | 5 +- .../js/src/generated/instructions/extend.ts | 5 +- .../src/generated/instructions/initialize.ts | 10 +- .../generated/instructions/setAuthority.ts | 8 +- .../js/src/generated/instructions/setData.ts | 5 +- .../generated/instructions/setImmutable.ts | 5 +- clients/js/src/generated/instructions/trim.ts | 5 +- .../js/src/generated/instructions/write.ts | 5 +- clients/js/src/generated/pdas/canonical.ts | 16 +- clients/js/src/generated/pdas/metadata.ts | 11 +- clients/js/src/generated/pdas/nonCanonical.ts | 18 +- .../src/generated/programs/programMetadata.ts | 119 +- .../js/src/generated/types/externalData.ts | 3 +- clients/js/src/internals.ts | 19 +- clients/js/src/packData.ts | 3 +- clients/js/src/updateBuffer.ts | 9 +- clients/js/src/updateMetadata.ts | 15 +- clients/js/src/utils.ts | 23 +- clients/js/src/writeMetadata.ts | 3 +- clients/js/test/createMetadata.test.ts | 50 +- clients/js/test/fetchMetadataContent.test.ts | 28 + clients/js/test/getProgramAuthority.test.ts | 18 + package.json | 4 +- pnpm-lock.yaml | 12 +- 33 files changed, 1208 insertions(+), 950 deletions(-) diff --git a/clients/js/package.json b/clients/js/package.json index cef643e..c41c247 100644 --- a/clients/js/package.json +++ b/clients/js/package.json @@ -47,7 +47,7 @@ "prepublishOnly": "pnpm build" }, "dependencies": { - "@solana-program/system": "^0.15.0", + "@solana-program/system": "^0.16.0", "commander": "^13.0.0", "pako": "^2.1.0", "picocolors": "^1.1.1", @@ -56,10 +56,10 @@ }, "devDependencies": { "@solana-config/oxc": "^0.1.1", - "@solana/kit": "^8.3.0", - "@solana/kit-plugin-litesvm": "^0.18.0", - "@solana/kit-plugin-rpc": "^0.18.0", - "@solana/kit-plugin-signer": "^0.18.0", + "@solana/kit": "^8.5.0", + "@solana/kit-plugin-litesvm": "^0.19.0", + "@solana/kit-plugin-rpc": "^0.19.0", + "@solana/kit-plugin-signer": "^0.19.0", "@types/node": "^24", "@types/pako": "^2.0.3", "oxfmt": "^0.48.0", @@ -72,7 +72,7 @@ "vitest": "^4.0.15" }, "peerDependencies": { - "@solana/kit": "^8.3.0" + "@solana/kit": "^8.5.0" }, "devEngines": { "runtime": { diff --git a/clients/js/pnpm-lock.yaml b/clients/js/pnpm-lock.yaml index a375ce6..8117afc 100644 --- a/clients/js/pnpm-lock.yaml +++ b/clients/js/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: dependencies: '@solana-program/system': - specifier: ^0.15.0 - version: 0.15.0(@solana/kit@8.3.0(typescript@5.9.3)) + specifier: ^0.16.0 + version: 0.16.0(@solana/kit@8.5.0(typescript@5.9.3)) commander: specifier: ^13.0.0 version: 13.1.0 @@ -22,29 +22,29 @@ importers: version: 1.1.1 smol-toml: specifier: ^1.6.1 - version: 1.8.0 + version: 1.9.1 yaml: specifier: ^2.7.0 version: 2.9.1 devDependencies: '@solana-config/oxc': specifier: ^0.1.1 - version: 0.1.1(oxfmt@0.48.0)(oxlint@1.83.0(oxlint-tsgolint@0.23.0)) + version: 0.1.1(oxfmt@0.48.0)(oxlint@1.88.0(oxlint-tsgolint@0.23.0)) '@solana/kit': - specifier: ^8.3.0 - version: 8.3.0(typescript@5.9.3) + specifier: ^8.5.0 + version: 8.5.0(typescript@5.9.3) '@solana/kit-plugin-litesvm': - specifier: ^0.18.0 - version: 0.18.0(@solana/kit@8.3.0(typescript@5.9.3))(typescript@5.9.3) + specifier: ^0.19.0 + version: 0.19.0(@solana/kit@8.5.0(typescript@5.9.3))(typescript@5.9.3) '@solana/kit-plugin-rpc': - specifier: ^0.18.0 - version: 0.18.0(@solana/kit@8.3.0(typescript@5.9.3)) + specifier: ^0.19.0 + version: 0.19.0(@solana/kit@8.5.0(typescript@5.9.3)) '@solana/kit-plugin-signer': - specifier: ^0.18.0 - version: 0.18.0(@solana/kit@8.3.0(typescript@5.9.3)) + specifier: ^0.19.0 + version: 0.19.0(@solana/kit@8.5.0(typescript@5.9.3)) '@types/node': specifier: ^24 - version: 24.13.6 + version: 24.19.2 '@types/pako': specifier: ^2.0.3 version: 2.0.4 @@ -53,7 +53,7 @@ importers: version: 0.48.0 oxlint: specifier: ^1.63.0 - version: 1.83.0(oxlint-tsgolint@0.23.0) + version: 1.88.0(oxlint-tsgolint@0.23.0) oxlint-tsgolint: specifier: ^0.23.0 version: 0.23.0 @@ -62,7 +62,7 @@ importers: version: 5.0.10 tsup: specifier: ^8.1.2 - version: 8.5.1(postcss@8.5.28)(typescript@5.9.3)(yaml@2.9.1) + version: 8.5.1(postcss@8.5.30)(typescript@5.9.3)(yaml@2.9.1) typedoc: specifier: ^0.25.12 version: 0.25.13(typescript@5.9.3) @@ -71,7 +71,7 @@ importers: version: 5.9.3 vitest: specifier: ^4.0.15 - version: 4.1.11(@types/node@24.13.6)(vite@8.3.0(@types/node@24.13.6)(esbuild@0.27.7)(yaml@2.9.1)) + version: 4.1.12(@types/node@24.19.2)(vite@8.3.4(@types/node@24.19.2)(esbuild@0.27.7)(yaml@2.9.1)) packages: @@ -254,8 +254,8 @@ packages: cpu: [x64] os: [linux] - '@oxc-project/types@0.150.0': - resolution: {integrity: sha512-rDS5/31E9HfPl/CIzGrn0DOlvBbXFseQ5URJ9sYMfstbKLD/c6Gm9vmRzRGDdAXyOIL4zmO37lc9RIwYqVruZw==} + '@oxc-project/types@0.154.0': + resolution: {integrity: sha512-KYOUGQFlLWR+s4QMV2Q9ko38TZm7EdO87Qm7rvZLqk/webse/cDjtyxKhg/47l0byCbs/k46LT8qc4PKjAikzA==} '@oxfmt/binding-android-arm-eabi@0.48.0': resolution: {integrity: sha512-uwqk+/KhQvBIpULD8SMM/zAafMRC/+DV/xsEQjkkIsJ/kLmEI/2bxonVowcYTiXqqZ/a0FEW8DPkZY3VvwELDA==} @@ -401,116 +401,116 @@ packages: cpu: [x64] os: [win32] - '@oxlint/binding-android-arm-eabi@1.83.0': - resolution: {integrity: sha512-0yGY24EwsLk5YDe6F+VkmZyRHSwJDALa3nIrPpq7FXmp2lV2d0TzvBCGeZk+wgiULRGr5blhyr4QMp5KCXJUqA==} + '@oxlint/binding-android-arm-eabi@1.88.0': + resolution: {integrity: sha512-k6Fgkf86ubfeH4GvqYsRolfuVAp0pfYVZvifSlXNHPdMaWUOfxUrmLEeDD7hF6U2oJuhsVxhSWq86/xCJ+9MmA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxlint/binding-android-arm64@1.83.0': - resolution: {integrity: sha512-hHfJ0vc17A4iUjH5p9BsTUPYbYRNxGpvD2lbu1aBRk54bzNIx9o5TtYF39QPZcV95DagZd+4DEAw2RH3G2ZsMg==} + '@oxlint/binding-android-arm64@1.88.0': + resolution: {integrity: sha512-AsIyhl9o1ejwtac7NMbhKpMdSml6NWR0ljKjZERxC8OHYDAW8o/Om9n1QHVLi4VCEUo42Zte2/Op9kyoGpJZMg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxlint/binding-darwin-arm64@1.83.0': - resolution: {integrity: sha512-hsOjYjszLb/3zym/TkzUMPAoQlTJcuzSyEPOAyA+skXJIX9M0o+4JfOtqopX/Vf4hSLrJ98j0nvFo23gzk8auQ==} + '@oxlint/binding-darwin-arm64@1.88.0': + resolution: {integrity: sha512-qgBjB7eEKcCB4RqjXGuoSZq74g0wD09fWFJ+HWcCJcKaga8TeUHtb+BY0SsxdleSLBgx4RZ7qmgo0EzqEq7JoQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxlint/binding-darwin-x64@1.83.0': - resolution: {integrity: sha512-mjh5oH2EA+wl5yRJYT9K9G61O2zFlpuv+yf2JwZOi0+dq2FnTUtm1h8i+5Ik0fXPWIu/k84I1psZR9aQsLAnyA==} + '@oxlint/binding-darwin-x64@1.88.0': + resolution: {integrity: sha512-sCz3X5Mw/xdzEzn4fsCt1Iq8NKJnGNfhR+b9B5k+4DysYAHsmIhYoocnBPiQ9kvY3+pUun2A0Z8Vtun/Nv6YoQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxlint/binding-freebsd-x64@1.83.0': - resolution: {integrity: sha512-fNHr64/YaO8YssuoDVC8+F4Uk5enR86q5uxfHkQrjAPs1dbAILOrD2uaud+J7MO8Fx774g44ERLD0IGIvZE48w==} + '@oxlint/binding-freebsd-x64@1.88.0': + resolution: {integrity: sha512-xTOdYOIqCufgIj0knvxu86FBfovP6QBiD7ngNva01gb8xPQCD5gXkE5APGczH35zStim1O3zqvFbLQmY85xXRg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxlint/binding-linux-arm-gnueabihf@1.83.0': - resolution: {integrity: sha512-Qpwy3zzAwMj+8/lyYItHmkSMwbkprFNWTK7jPYDOxSyxEhaSLOWYUTCMkjF334J8/WD0nznCCsoBbIH6hpsuIw==} + '@oxlint/binding-linux-arm-gnueabihf@1.88.0': + resolution: {integrity: sha512-BLadtw88NdYJBrAtC1dYzrPfSP2d5zgx6iuZycdD0YmZBJ2Nqbit9Z4PSaIb6gxK25dweArGMPbOmq/0ugwUPg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxlint/binding-linux-arm-musleabihf@1.83.0': - resolution: {integrity: sha512-s+BirYLFq7JL2k9sP0XI3ZXJ9dYvJ8sX3jLCLoag7tt+zrSHpZxP0jqznfL+Gdgwu7ay0dYgGYJXrQvq3iWloA==} + '@oxlint/binding-linux-arm-musleabihf@1.88.0': + resolution: {integrity: sha512-wILSczl/DaZsCcf7j7tvNbssp8hxEHIJxrv4j7+JjI3TAL1U/JTWbeUtoJJC/vo8+2hkTmHLYoKJjmiNbijdXw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxlint/binding-linux-arm64-gnu@1.83.0': - resolution: {integrity: sha512-7lihXt3vKr+GIyapNbHrnFHm/biiW30le6Zv/DExbAFPF6YwCQXVFlONPFehxs0CpGO4CBfYPM9rdDT+XMoIlg==} + '@oxlint/binding-linux-arm64-gnu@1.88.0': + resolution: {integrity: sha512-jutT2Hy8JCuZuMwIFHo2HtyxfOfBJHyQxlBHBK1SL9W2f8n/WhjAP0FnDMz9d/mjhv9+QA0mx5AdQ9fDjsrFFg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@oxlint/binding-linux-arm64-musl@1.83.0': - resolution: {integrity: sha512-q63JalLYVkZiZvls1z3PPUnpmQluOMXp0khqQMznCeAPLGydfNY8JhvuA4WlK57JfrvikU8wB5lPVveqpIXvew==} + '@oxlint/binding-linux-arm64-musl@1.88.0': + resolution: {integrity: sha512-8N8iGV9hh4Lkeuq7QsEkjoXNRRflqR1G2qyoGYXcA0k5qllrdqmfylKEXyHIVERxqNDyMO4StqDQ0uLxXcBQAg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@oxlint/binding-linux-ppc64-gnu@1.83.0': - resolution: {integrity: sha512-krQmDF+dRbxvdqVPV88ZuOoPPu8X5BuqDA8Hd+qcS4YMRQCb+nexA57DazgGsc/rGdKBe3QmV0mnv0bdpW/p5g==} + '@oxlint/binding-linux-ppc64-gnu@1.88.0': + resolution: {integrity: sha512-5ydcQt3znNQ/rGEWYRvpS2cK9+T18P2VYgnyJ+eloEAwi9YUmsXy5VGrRqNWIK6qzWwHGnEE3ojVqqQNo+f0hA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] - '@oxlint/binding-linux-riscv64-gnu@1.83.0': - resolution: {integrity: sha512-MmOl8Y6txEAXZU1RG8Rr264jQ6D7VPmqFsU/45x/FeWsGe32hklTqGrLE6UxHzp5Rjt0wP+20tY8YXKgSFB3mw==} + '@oxlint/binding-linux-riscv64-gnu@1.88.0': + resolution: {integrity: sha512-iGx0uvFT54b/5DPJdEBCxYIrVB3v0uTy+JhRh3CyEp8/22BXDkG8rffkFwREdLsdj9mOrPbJYVOZw8ipcBuzjw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] - '@oxlint/binding-linux-riscv64-musl@1.83.0': - resolution: {integrity: sha512-u1rMymh0W3JZkq370kzQsYPULGWqhE09pZRqnZvUSoYaI9pVO5yVX+iYIslmWuEgwuzH9YAaOsScJiobWCHoOw==} + '@oxlint/binding-linux-riscv64-musl@1.88.0': + resolution: {integrity: sha512-Wt47mKMWelVjRjuR7BCFxXkB0m79K1sTEbqMHRWciKUgo5iv7sWsF4RXSOyFYHD9zerNrkRZblnN273rhwOA1Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] - '@oxlint/binding-linux-s390x-gnu@1.83.0': - resolution: {integrity: sha512-y0zK3HNwGysu7rqtE+BQG/d0bx5gh/KwlOtghN8oWeK1KcWzeaLqtZrbm8owqdma1lFyrce/hTO5ismuNu+INQ==} + '@oxlint/binding-linux-s390x-gnu@1.88.0': + resolution: {integrity: sha512-g3L12KCS4+1gtUt3RbJ4F+Yxx4LNmmZLEPfhd8rAHEJjJk2lAgNfnjGoP/phJyhG5WS6VbNYbJtadJelNfvTMA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] - '@oxlint/binding-linux-x64-gnu@1.83.0': - resolution: {integrity: sha512-rS5gM0NgD7ngmuJmbIehsidtrOwKkLFwCQbKEeb9KuyQrrWNq5Zkn0uV6AYdXOMJ0grrWEiLwBuvMxt8w5vsNw==} + '@oxlint/binding-linux-x64-gnu@1.88.0': + resolution: {integrity: sha512-og/XHVDOD9ZJgRiZkT9DgzQd4sr+JZW7e4l17Q/jVMZiIbeEd4uIu9iAoUbTF1gIvVZoRc4QDOxyVUvQGp4WHg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@oxlint/binding-linux-x64-musl@1.83.0': - resolution: {integrity: sha512-W2IH4EtpcPaWcvNGCA95YoDg4vxqE/ZiPCi3arrxEEpsK7+JQN9WYwrlYFx9pcdP6KPXqRqkv3zdQPHcx7b6YQ==} + '@oxlint/binding-linux-x64-musl@1.88.0': + resolution: {integrity: sha512-EmhBsp+xuKb6YbZNEMLBo80Xw71AZOIm18do8ni/GLX/Lw1XzNhVYpbxO1KasYtoAvrGtCOdCPULRlIE0bPbTQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@oxlint/binding-openharmony-arm64@1.83.0': - resolution: {integrity: sha512-6LyKkUyoajssTPLlZmDbZIbu4IZ5B4bGuRUnBgCGpEvHP3FQMaYITncHA/unPUo7q+Z+pIu2HhdkQ+8d1SG7iA==} + '@oxlint/binding-openharmony-arm64@1.88.0': + resolution: {integrity: sha512-DBUcx/KwYdg1DAz+G01P/GFv512J04EsZadbHptx2FTpWT/MWRg21ZToNHt9pnsfQRBQ3et/g+vqzbvrdAVbuA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxlint/binding-win32-arm64-msvc@1.83.0': - resolution: {integrity: sha512-Uz/fObEtF0jmNJQJ8CGRBKfefYstS0/wjD3s6IGzP8nUwsJykHQJBiN3npHwKiGRGn/vvBEgNr4B3cCzmmatvg==} + '@oxlint/binding-win32-arm64-msvc@1.88.0': + resolution: {integrity: sha512-xeVd0n4XG5HvynxfYvXi6uB+JvZbVZataowPS8cYpMbYg9mwE4sSyElFQd4LVJFifq8bRLDSR18XgEildmcXAg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxlint/binding-win32-ia32-msvc@1.83.0': - resolution: {integrity: sha512-u7XcvPW6Bk58tY5iWs2ESb0vJjoE/kuSpHxopbwp/p3ZtWVQXZ6wor5w3ssVTHOqd/v8b+QdhSFWQ4grEUNWpA==} + '@oxlint/binding-win32-ia32-msvc@1.88.0': + resolution: {integrity: sha512-MA6iOw//amleaz2mVMsZrA7NHlEexjTrhIxSMFCXQi6IUuQO+3Od00GZhr2iCYw6RFzMW36jkKK/WHBXMsoQAw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxlint/binding-win32-x64-msvc@1.83.0': - resolution: {integrity: sha512-LZRubd7ph13QmAg4fFecTYVZkiYbROR2Htaxh/ufWRkDhPOm2wrwaEYR89e0YpPFD3dqBrPoxS7myBw5hmYA7Q==} + '@oxlint/binding-win32-x64-msvc@1.88.0': + resolution: {integrity: sha512-3Sz6rVWe8Dy+ufsXurFN1GX2dX43F/lQMSLelK9gFjiba7nHvLlqlhR5cHlWVnCpSqUY1hN9pyCX9XToe6ve6g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -519,92 +519,92 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@rolldown/binding-android-arm-eabi@1.2.9': - resolution: {integrity: sha512-tNISae1QEf/vkb3xkRcjV5SEdzPE97We5IVaa2Z8jSszQPZ8U60B/YCYpw4QI7VidYsBtKavczXf+DyDs9WGxw==} + '@rolldown/binding-android-arm-eabi@1.2.14': + resolution: {integrity: sha512-aWR+XKH9+rW7m5fWq/5360J3mHycrx/o6xZM2DQFdJnTMdyP7/WzxPjhtLbVWdKo2y612/4U1bWqb3HQhiF7vg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@rolldown/binding-android-arm64@1.2.9': - resolution: {integrity: sha512-YC8YsI30o606GTZi0VyzYlsDKFP8W61i/QzayHDkLbNEz/IShqAmTa+hsJRj13xTHA0H+6fk4b2UmGn+Q/cMlg==} + '@rolldown/binding-android-arm64@1.2.14': + resolution: {integrity: sha512-QiVxHofl6A8lQU7WAtOUY4QMVZXohxwz7WJJoeh8NBEUyKfIkMRKhYyq8az/1RypNiIXzNTtiS6KwHz0erxYRQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.2.9': - resolution: {integrity: sha512-IwhlH3qK5urrY8hZiEgGkHKEFN901p/p2bjxCxJlr4GyNnF7wYpUvK+Y43uaRYuC4hpfjzbR3SJC3arX1jGvmw==} + '@rolldown/binding-darwin-arm64@1.2.14': + resolution: {integrity: sha512-lTQOzHuBIooh3jIr5XINQkjPGEuGy+Dsy0meXDr6Sjty0b99kYgGh4uBC/8mJX1T0kC8d6S0aPP1Y+bHkh6aBw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.2.9': - resolution: {integrity: sha512-XxpJfVzFh+jilRxIXUqcfYAYcunIc/XEzIizsOL1fcJee5Sf7H3mH8WlLmfHfluz5amqR88QQo9izKtmMlavAw==} + '@rolldown/binding-darwin-x64@1.2.14': + resolution: {integrity: sha512-hyMKEGatjmBYCs/Q4sbIcL/GqpFEqsX3wc+HYVQ/85A4rxc1o7rPm4DUI4GV4k/h0ITddwFSGpqQunI14GXjTA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.2.9': - resolution: {integrity: sha512-kSfvhmgeWyfkbT3p/1s5vSgboogoah2zkm9fX2zjg2hHxSV7T4KhMWRUUaRk4OXNqoD3QAUeRqLcs1aZOK4U1g==} + '@rolldown/binding-freebsd-x64@1.2.14': + resolution: {integrity: sha512-u371GbXoVXrEgP20PwzoGNOdAOqAMhzo19JzzY+V4YmmnC+DTOoqdbMu+O+54emM59Mik/UdrtWgcuEDKWRPKA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.2.9': - resolution: {integrity: sha512-1RVzG17pxqbTfYLC352JlLt6kKLG+6Hr30n8DlIJqsnV5luUDd2Qdx9Ayw1Cabfyb1K9k0jXEZ7evxkRoT+uiw==} + '@rolldown/binding-linux-arm-gnueabihf@1.2.14': + resolution: {integrity: sha512-BqwKsdZQf6EqVWr8fv2MrDYzAvOZ7+NYFSJESRGs87fkseEhs0TU9TXgRJTkZoRRkxTizyEg1LKUXfU3/78uqg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.2.9': - resolution: {integrity: sha512-BXqPvZ2drqVD+/Z8UpKwcs4Mp7grM+eGFku4CAEKrEtcbAsUpzREphK1sogCRZGreVPiMkiiBtw0n3TPteuqvw==} + '@rolldown/binding-linux-arm64-gnu@1.2.14': + resolution: {integrity: sha512-SD9kY8M009x/7s57Z1dgUVlP5+uYBgKQK0Tkr1WIWngrtUJmRCW1RJFMY7QDla2khXhmg2i5Io7MUjcmZNZ/KQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-musl@1.2.9': - resolution: {integrity: sha512-11vWvo8YDwLzukt27J3aYDWU+gg2P7J+ZOmiJ0hkF5BXZDW7pVya7r40MXDy6ya0i9KamoENSVKIugvJNgFXIA==} + '@rolldown/binding-linux-arm64-musl@1.2.14': + resolution: {integrity: sha512-BJ2CL19M6uuWesMgnqJzgxoI+N+eV7b0A9O9vLV42y+gitC41fNa8KElau1tHVzuLWX5GzEuxMPhAO0tQXQMkg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-ppc64-gnu@1.2.9': - resolution: {integrity: sha512-a1tijMkdwsIARtc0F39ApURROkf3NwqinI6TOiSSWCTR7dT96dffNvMUtDHnq64wKNTIZOIlzKrFvvFUznJiyw==} + '@rolldown/binding-linux-ppc64-gnu@1.2.14': + resolution: {integrity: sha512-4+Kl8daPV8NDHaD7mfCcc1pRM+Qg7ab8DyMm5FG5WoZgv4h2i3KFN1CybYBNbQqmuYm7ftJLvmMI1eHYJ22S/Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] - '@rolldown/binding-linux-s390x-gnu@1.2.9': - resolution: {integrity: sha512-x6SQNdAvv4c3hWqTMaWuawzMX9myaCs/yEmlGsxJzkdClnHW7FbrjQuSiRDhuSYzEYoEMhsaJy9qHG/XNemJPQ==} + '@rolldown/binding-linux-s390x-gnu@1.2.14': + resolution: {integrity: sha512-V/h8ePq1fKDrmtFMz6xcCN3DKvuvMRrwwD1q0PkBeeo4DpK64biaKvqWGVxqCeYKqeRk7gE7/iKPxLCn08O97A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] - '@rolldown/binding-linux-x64-gnu@1.2.9': - resolution: {integrity: sha512-9s0AZ8BFK5/n7B/TBoa2yJE3gI3KURrbXcPBlsAsvjU4VeJKgE90y1YtNxyEUIcHPQkg6/yfF3qihUrcM/Kf0Q==} + '@rolldown/binding-linux-x64-gnu@1.2.14': + resolution: {integrity: sha512-WxalXzgrLVpKC93xfpaJ3gCXUWzeCr+FRCbDVD2mUAy4L6Vo3lNVz0epUEUpxPWJkLNYUwM4OSIikv36OJ9mLg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@rolldown/binding-linux-x64-musl@1.2.9': - resolution: {integrity: sha512-P7VWAmV+WdJluH7ovnRGoiv2i8To7GAZ+kGzfGup635cyL7SyYl3lSUaA3Gp5THf0n/Co5EyEqb2zbqq+nMOHQ==} + '@rolldown/binding-linux-x64-musl@1.2.14': + resolution: {integrity: sha512-3G3tnAmTpdk9jO3GQtyHXqeFD2SlecfTws/Y3M2mmj9nMBwwuLT4kur8sZKeu7ENUHSpVO3cIsm5A52LEWWwlg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@rolldown/binding-openharmony-arm64@1.2.9': - resolution: {integrity: sha512-1qixtsE4BK8h+yS3BfmZ09UhA7O/N4IACva6YBr7EBvCJraByTuRcgOTaiA62Tm0vey3UcKXLOaoGHtYmNGEVg==} + '@rolldown/binding-openharmony-arm64@1.2.14': + resolution: {integrity: sha512-qyr5XiNGxm2ytx17vvtcJ9nXn6v1gENETi503bJx3OGwZ1tSonj7BosxbMa/xeAfSl5iS9X6KjEWYXLu6v1L7Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-win32-arm64-msvc@1.2.9': - resolution: {integrity: sha512-ok8IQjcEPs1AKZfuEUznVBrJw+gK4soq+bx8b1X2XoMqVClarc1q5JDmVtWXY1xfr6ZuHTAsPXHTgTrqKTZeww==} + '@rolldown/binding-win32-arm64-msvc@1.2.14': + resolution: {integrity: sha512-oA4o5o0S2yB199YyYXDzKUv1Z56Rc+mgOjwm7Z/vJ9Z8igiDPYvoOuDyo6g7AK/ZaF09nPhDKVnGBcYHO11GXA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.2.9': - resolution: {integrity: sha512-Ip2mXoU0hM0boq3Rf+ekuT653OROSo6aSYcPT1VHE4q52KvyxgFkQgrgb/IEsxOuvQ2fZZbs8khJAyCEPM24/g==} + '@rolldown/binding-win32-x64-msvc@1.2.14': + resolution: {integrity: sha512-9mE94bf2GZUaR/fUSXCMpBoWkctu421Mi0ORpm4zqfbkjKep7RxzPFa5etcGs5h+2KApoWBOA/hAJa/7saGgEQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -612,128 +612,128 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@rollup/rollup-android-arm-eabi@4.63.4': - resolution: {integrity: sha512-I+BSHzTAhKN2n7ZwGZsegGcZjDpLqFOMAtJz/u6uFGe0pUFbq56dEHjqJV/ZUdRJtNXNxA+hREUatZBvMR3Oiw==} + '@rollup/rollup-android-arm-eabi@4.64.7': + resolution: {integrity: sha512-GFF2tHk0NqYVObrK0+/ps/LEXsV/v2q6Lyiy7mZr+Ej24fpQScvqK2ziz9NHeEQYnKWKym38Ml7dZbPtC9tuAw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.63.4': - resolution: {integrity: sha512-pu3BdjS2LtEzRu2elmGzS3fIeWSZy4BMDIaLNwjorO76+k2d0LMluijhsDx3KQyQBQ/lLUZCQA9/s6csvUfuhw==} + '@rollup/rollup-android-arm64@4.64.7': + resolution: {integrity: sha512-BOymcXJFYYXqluDidj6sLelNjXruC3u1BqVxLn2OPCXH9xaPSOTH+MS4uychsGI1NU7tJoiv9KvqijDHFe+hhQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.63.4': - resolution: {integrity: sha512-xfSrj9MHnWK9GaSqT9U0ImHtH/N8WZlHLx4cZHiuLcqs640hvZ3hLPd5UR2AZS57FaE8HrRUSpltbZdWRxHiDA==} + '@rollup/rollup-darwin-arm64@4.64.7': + resolution: {integrity: sha512-jgVpGweIbls2H5jfBB70tnX52abMd5pJr3xmtoDILx6JdmGl+Un+tMb9R+MbHPVB46tTBpY8emtn7M71SnQhEQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.63.4': - resolution: {integrity: sha512-bqU99PLJb/dqb3S0GIMdeuyAEETSUgZBoqXYd3Sd+WCsV+MmPhnN6JrotWyir31+QgH7EvvE5/mwGJlEoci8Fw==} + '@rollup/rollup-darwin-x64@4.64.7': + resolution: {integrity: sha512-AVMpt94mrXH7WjyWKmd9nT4RC5yM0AN3Lt6A89xVIsuLDi3dDX6dxMytLbW36FlppY9JsoqUoS3LUUpUrYxiMQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.63.4': - resolution: {integrity: sha512-JinsFZ5G40oXQb+sUuiA5x689vhr6dDYK0H0NL+rwKdL6CqnmYN8PE4ZwfRSoIjrCxqTQG/SLfTtSvHeGxoVlw==} + '@rollup/rollup-freebsd-arm64@4.64.7': + resolution: {integrity: sha512-Nje29c/MyajxRNFGU05oyeTDS6SWdMg/wWMSlZSBTBju5BKz2NVc0kFiFSQGzRELNiB+CBk/ZvAVsWsENgjGag==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.63.4': - resolution: {integrity: sha512-GAdA4UxpiNm27cLHr2GqXBpAD0x9FqwYBY7/YSP0Ss0/PNi4k8gbviqpIpYbVSRBaS2ZcegXEzgTQMbRNCwxCw==} + '@rollup/rollup-freebsd-x64@4.64.7': + resolution: {integrity: sha512-xxgN5/kMzCNz/NYJ4t49B0/WS6InNlWv6xvgwUQqNnWM9WJMMwMUGWrAxdNEgYWdHL0sMnuh8I87StGrIMTA+w==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.63.4': - resolution: {integrity: sha512-qDd6NoA1znaLjp4jR5U/KWCdLAKDJNB8W9ChbbDaKbo0xA+Atln5HK6LFCZ4oJQpemtRZA288DCirFRjrspptw==} + '@rollup/rollup-linux-arm-gnueabihf@4.64.7': + resolution: {integrity: sha512-5U/9gVn/X657I8+NHoHO9Wnfyd0lEXwqbslobRoB9TC8SwYzOitcIr6TLE7531Q/NWs3L4mb+YOGzlf3vHIeYw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.63.4': - resolution: {integrity: sha512-WtB5Tz5KTNINb8ZA+8sQ7bmjuS1JrRT7YverYIhUGdWWDlpzVWmIwuZE+jidkEXUn1l0zrEkaIMa8dHF3NGcsA==} + '@rollup/rollup-linux-arm-musleabihf@4.64.7': + resolution: {integrity: sha512-hcDS0a/Y8ggM3dcOfzH7UpSaogCViWTtNDSl0EXpWIj8g8/r86ITqptjil2hayTXS0Umzb+Yt3mjgpQVFVf2+A==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.63.4': - resolution: {integrity: sha512-VcQ3L1tjnkKzWjryAVaFhHEWcqOfICX9uxVVoDzm2t0DpgKRHd2zOpVrJc0xsWeBZcBFyYROCIBdyR/fS174pg==} + '@rollup/rollup-linux-arm64-gnu@4.64.7': + resolution: {integrity: sha512-awbAr4N7Qd/yjZAQBEEPzgcPveYG2Gi5L6gq1/Bp+3SMRjn5F68Wv1zKsntzvvoioBR6yKvhLtWqu11am1TsxA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.63.4': - resolution: {integrity: sha512-6+ZQX6P5s0cMDN2Ypb8Lbm2+/sZYmZjdaYny992ujUU9UKi/4CWoJWsl1pNvjWJHNHGK51m+jKGLlh1ylb2ifQ==} + '@rollup/rollup-linux-arm64-musl@4.64.7': + resolution: {integrity: sha512-Ut7xQJfeLhzu2yN3rHzVvL9ccyPJvN4aCdP1V7hJ5lGxX/eCzgB9SiMk/Md3J+rWWZgvoYsDW4BUFggJr32pBA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loong64-gnu@4.63.4': - resolution: {integrity: sha512-D72ZnvkFkBXOfzMMQLcwfPLyGkKb7HZ9/mf97B7v6/P5Lbv4oFOtSY/uHbS8lH6uKUOxoKiuokdb50XZSzzbJw==} + '@rollup/rollup-linux-loong64-gnu@4.64.7': + resolution: {integrity: sha512-trqoni/vHkuM5oo5iQhoKPh6fjjD7E80pMgCXWgGxU8vSRPUlwvG8GeYvEEcB6eJAxNa99WH9iVHPHelgtKiHA==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-loong64-musl@4.63.4': - resolution: {integrity: sha512-piU6BxeqA3O9KSu3kRCIQQtNqFFaTu21SEV4FwaRZowpnj3bLaWPZHw+xFqCs0XlJ+aOH3PTRWGoglH+mKA/OA==} + '@rollup/rollup-linux-loong64-musl@4.64.7': + resolution: {integrity: sha512-gvlUy0XFIwtUWiQmhc+4GT2Knm3KosinpUVhr7CtTFA78gFDnE5NWwMPzHrJsYpKkh2LlY7yvBIboN1FAV6Xeg==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.63.4': - resolution: {integrity: sha512-/5PGpHwqt2EEEOUs1XwzubE/ucr0dWDQ+to3zqi4Ds7EWpwtQ79wXc4JBoxqj/OwpawTsKWzJxHfSuBOq3DrWA==} + '@rollup/rollup-linux-ppc64-gnu@4.64.7': + resolution: {integrity: sha512-8yS/kSXTJ/47Z62JW+C2AJ3vd/8zZw016vFjtNpZwmZlwJumLua4s1i78dkYuSSqQ+0aIMxJcBp/4uIwp2ehjA==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-ppc64-musl@4.63.4': - resolution: {integrity: sha512-cX3beZDLWt7G2oJF+nhChiT+qtaihs+S2xi7ziGmVB+2pwPng6D0Ed0HmElQOgv2UsUmSJJLGwpBao/3TDx3VA==} + '@rollup/rollup-linux-ppc64-musl@4.64.7': + resolution: {integrity: sha512-mxVSKvvty0hOP1AFo/l4Kpv3i3HK0zx4rYUrirZDToYlWhS3xzmIkq3vUJ7rtrM2cPyXveDyDT6M1FfXZ9hTRA==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.63.4': - resolution: {integrity: sha512-1uz2mGWHyptR7DgHHrlbdRAjXK7v7elGZ9lMja910/RP+ZYbX6xAmCiU9UZSX4hqmgtHMv6lr5l3kq1HIOpcag==} + '@rollup/rollup-linux-riscv64-gnu@4.64.7': + resolution: {integrity: sha512-lEse1zra1CagM+uHH2bl28GInDsZZ45NJzHei2OMaXQFzZWKBO1hFo07rS0xB6ayV4WU360UrSmPDSyCMpYsUQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.63.4': - resolution: {integrity: sha512-nLS8topojxyz7SRpKR2IODRpQ0XPZ+xaOXvT3+hqK/Uy8Lo5HFgkkIBiIrCu5tL5YqzTvgovGw55PwpahTAGig==} + '@rollup/rollup-linux-riscv64-musl@4.64.7': + resolution: {integrity: sha512-d/cqCoiG9WMZ5VuJZ5Qdlv9g97QyoGwnmvHccvGhKSacTy7xFrAS+jMcJSBdMNOw1oacSkl6p7K6O/DRYTKL3g==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.63.4': - resolution: {integrity: sha512-gs7DRKotr3l3q+jGPQBjH0ng1FjlEDm5ueQrkw5JtQvtLyEIcLASqAEaor56BhkKRzk+IcQzrcanBdb/bBQn8g==} + '@rollup/rollup-linux-s390x-gnu@4.64.7': + resolution: {integrity: sha512-kVEA//CeDOZZP1XCH2JBgqXb9+ALlwuA/4civaazMVdgzaSQC9WM38w65zG/LLk0lA7F9Od19CSBZW7J9mCbNg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.63.4': - resolution: {integrity: sha512-791ET7W17NnScOZM7h4dX5hYspxE28htPFsb1awY/NRR8+PRNkS53e475rDdxXXDrP+kwnCcNWg9CX5ztn/Aqw==} + '@rollup/rollup-linux-x64-gnu@4.64.7': + resolution: {integrity: sha512-14oLfDsOSr0TSntT/34jRg/V8B2XW/Jomh9zX9CjIM9gwwNlI1OCymS/GVn0DV32h67eRf7U0GGem0rvfXgNwQ==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.63.4': - resolution: {integrity: sha512-iwZQRcmj7g88g3tzefIrQY7qvmuA/cfYwhrDtTBhsmukO4U2huVO5W+86XacUMRvdSFVAc6kZUZy21JaRwiB9w==} + '@rollup/rollup-linux-x64-musl@4.64.7': + resolution: {integrity: sha512-dFVtPfjZqAnUPpPY4Bfg+87yo1IBW9HiY8iCFtg49Pn46MfZTebSHZh8PL6SOsgyt9LQP8Nj/sE6jm3aWpySmQ==} cpu: [x64] os: [linux] - '@rollup/rollup-openbsd-x64@4.63.4': - resolution: {integrity: sha512-dVHFp9gRWrdTpnqQuGfCwd7hOQDatK1VCP2iWhLY/cGrOQs/ucFzJ6A5SRqbXX12ZDI8EUuejSM5kwg+ja7Png==} + '@rollup/rollup-openbsd-x64@4.64.7': + resolution: {integrity: sha512-Dm9CZ2SM3u2NgvBj4awW/gGqkOwzH8f6MSYIJE6+bKcKLI+T0+LhpD6vtetTfrIIx+rLXDf5RJqBP6v7V5O+wg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.63.4': - resolution: {integrity: sha512-t3NlauOW6gxZVVFcBEnO62Cb4wbyDFL416gTg1uFI/2tgqYQlf69FbSE115Ajre9I+c26Lk4mcmdFUsS/DGifQ==} + '@rollup/rollup-openharmony-arm64@4.64.7': + resolution: {integrity: sha512-oaxsvS2mL6+78741CT2HCORBvy1USg3Wqpt5qvZwy3aMXRMl4zxyDo8maeFRWJkF3dp0Wbi71fKH5Gr9YI3vYA==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.63.4': - resolution: {integrity: sha512-xWuIaSye5FWZF8+UYtVEcHtRJDN5kN9Kfgxx3Kq8XIov9KSKbc1fiqQCm90SKrgQbUXZelbnUhnlUJmfSE7P9A==} + '@rollup/rollup-win32-arm64-msvc@4.64.7': + resolution: {integrity: sha512-UKZz1Y4mxUqkWh60uH7B1aZn6UcAimPk4ipRktpb3wfZq7JrzZYyAXTwiafkb3T+kd5P3Sf+vzcRdsDks4WtjQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.63.4': - resolution: {integrity: sha512-9ALJJUOg/ZflMJepVo2PlgsGxSaxN7SQ4Z8GoZfVlarWr6r3rkHUNsd/zAio7p4YMtChSMXPionxej4Hkf6CXQ==} + '@rollup/rollup-win32-ia32-msvc@4.64.7': + resolution: {integrity: sha512-WWkSuC1J+mZJnsDh0mRaCAFSWfQdl6y3fDjZeWElI6zHo8CcOSG5lY3yurKJjEq+FrX0WD60sFrVVpbHqzMmrw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.63.4': - resolution: {integrity: sha512-blj9z5qx/Pv4WU0W1NMFDB97e0JH5ed+aZGywW8WCvp/NhWX/4PFAq5uu6Q0AebNn+Vo6KzUYDT++JzTT5ojlQ==} + '@rollup/rollup-win32-x64-gnu@4.64.7': + resolution: {integrity: sha512-u9bp2yXCI3/BUjUxY6uWknAY32pfvvDCPysyUTySotx0dj3ydlFHrRQYfn/b/kZgnfjyEwySMtI7Ga054uiysQ==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.63.4': - resolution: {integrity: sha512-Erx822VRBwLa124shbj+wNXe//BOgMEctDV0m1aqTQdNO1S69DgNUCFKC1RCeZfixs1J31l6igk1ziyXErbigQ==} + '@rollup/rollup-win32-x64-msvc@4.64.7': + resolution: {integrity: sha512-EhX6N3XPMEnVU5cRfNgzPOKcSucsbu3nNNWuoAaEuKIqmddBKHN5b9d4rPe65T1I+FaOT176JKiZNsUBp3rqbA==} cpu: [x64] os: [win32] @@ -753,18 +753,18 @@ packages: peerDependencies: '@solana/kit': ^8.0.0 - '@solana-program/system@0.15.0': - resolution: {integrity: sha512-xE08wZCyNRhOaO/XNRd9A3kSLfUrTe/BnmAHhql8uqc2eriNy2ZmnvaGRrs0m+kOSihvUbANzHljmJsTzGL5kg==} + '@solana-program/system@0.16.0': + resolution: {integrity: sha512-/RG6q2E2vG/XpdOt8Jj/kbQktPlL5JyJuNGAeN9wDcxKDKQtrGTJpDrJgQUxiEy23fsPNXQbLN8XeCtYoMof3Q==} peerDependencies: - '@solana/kit': ^8.3.0 + '@solana/kit': ^8.5.0 '@solana-program/token@0.16.1': resolution: {integrity: sha512-X9dsvbh+VDq4SuCfvxn95P1DCvtBYHJOBiVmgBJMfW8l/lp8uSwEhy9IurpcdltnGi5kNIkCm4sk4YOXKAMiCw==} peerDependencies: '@solana/kit': ^8.0.0 - '@solana/accounts@8.3.0': - resolution: {integrity: sha512-HNVCs4yyE5kTRHVD3ApuKuByuO85GHE6Ns7I/yMB9vXhFgZjGzFhOGi/YCjlWpIk3RqTyX7wGniHyEb49R3ELQ==} + '@solana/accounts@8.5.0': + resolution: {integrity: sha512-vwwXYCobg1oG4kFeUEsGiNORjPujI2ff3yKLp6lCa7QBIlKaD7kZ2QRI3PZFYcNrMJ6HYNwNeZXR7ixg02pWdA==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -772,8 +772,8 @@ packages: typescript: optional: true - '@solana/addresses@8.3.0': - resolution: {integrity: sha512-HSAPbu5TpHYZqUo9SBALvDeOyfU1Cdtk9PCmxv+YjclNuDVbh+yMnesZ614zjhKJ8clvyidWSgmISjlFCJv6qA==} + '@solana/addresses@8.5.0': + resolution: {integrity: sha512-LwTrDbDSJBng9y0vwiKqb/kSS9daspTGrSYoZPafeMWpAlpmutdD1KXPDHVTa4Xz00hcAfOJXYxRXX5VAoiOag==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -781,8 +781,8 @@ packages: typescript: optional: true - '@solana/assertions@8.3.0': - resolution: {integrity: sha512-6NI79X6VANpq1b1BAnQevCs63dW4l3XKSbikVd5k8mlIsURlCTFdtrbXfQInqsUWZJWElf7ZLQu7RkbBOj6wuw==} + '@solana/assertions@8.5.0': + resolution: {integrity: sha512-EZDY5rJIV8Mv9xYJ7P+jvE5pihG7pmKZ6pTqbunba/4uZSQN4Klw0FX54LDDklfDvhzmAdXN0nYAnjovTGAPEg==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -790,8 +790,8 @@ packages: typescript: optional: true - '@solana/codecs-core@8.3.0': - resolution: {integrity: sha512-rpt01CPeF4FhTTJHyr0Tr4n8U1shYPhe7q2mcmTYyKPATYAkyb5CLHnYKnN6LO71EZSFq3Y2Wm27rwWcBvAJzg==} + '@solana/codecs-core@8.5.0': + resolution: {integrity: sha512-ou38qNrf9XOzCWsu/I4sTzRmnrKqhblwMVvpXwXPKAAUZwkSAKQXonwgZFY68I5HK6nkfq1NLWfZFmTEIZYLiw==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -799,8 +799,8 @@ packages: typescript: optional: true - '@solana/codecs-data-structures@8.3.0': - resolution: {integrity: sha512-ojwHBnDia6VtkoCzppJGXJ1JZkQ4teYToTRu0e4N5dEkZlFU5EmpeX+1xsw7gu4bR9cNXXMWbWw4uFgVM8Nd6Q==} + '@solana/codecs-data-structures@8.5.0': + resolution: {integrity: sha512-CnnNriyltkgxZAKgAJoVRsRnrtdW4KCX37BUoIsquCM+AgSvhSbxaZNz0iaHjGOX7o1Z4s6+j7nAUgad0N/w5A==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -808,8 +808,8 @@ packages: typescript: optional: true - '@solana/codecs-numbers@8.3.0': - resolution: {integrity: sha512-12u+Y9ERE+gqraV1g0BP/5QxbamukFub05kyj3d3s6V/26ZEby6ReHJ8yuKtPl9fIUnfoQ2M4+th/7u5+5v14w==} + '@solana/codecs-numbers@8.5.0': + resolution: {integrity: sha512-6Vtf52rHzjf98ykejn9bNGMaQ2k1f4UMIa+BGMbBy4mIRQ5ggdI5oCAb3sZPfJcel2JQHwDlsLHCYdpqC+n6Mg==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -817,8 +817,8 @@ packages: typescript: optional: true - '@solana/codecs-strings@8.3.0': - resolution: {integrity: sha512-S7rZrc1B90AS0QVRlo6+6cX2t+0TGtsadsPWdfA7tXcaDKQfQn4C/6OJxJ7/n8ugw8LMgGC+Xcs81ii4nIp6aQ==} + '@solana/codecs-strings@8.5.0': + resolution: {integrity: sha512-9lCSCUVkbPLb1o9PLDsaOatdVgrUqqWMrAqJvZPyyuvrC5++wPuKRIGq+5iU3lICY+AwWxrzVyiwdu4xaZVCiw==} engines: {node: '>=20.18.0'} peerDependencies: fastestsmallesttextencoderdecoder: ^1.0.22 @@ -829,8 +829,8 @@ packages: typescript: optional: true - '@solana/codecs@8.3.0': - resolution: {integrity: sha512-BtiHdl7pDw6tadQAn3Vi1s0wgp0BGQ3ndTQRBtxuwmyCzlGfyuvMBq+ynkuGWwknvOpU2eTNEO84U/b7wqLB7w==} + '@solana/codecs@8.5.0': + resolution: {integrity: sha512-wALOoEuL7HAaahZnrhxCwYz10p23hku/LPNfXjlvwgjVYJL08PH3uyWDFO8e9zhcNLOaR13IREE9z8zPUhJjDQ==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -838,8 +838,8 @@ packages: typescript: optional: true - '@solana/errors@8.3.0': - resolution: {integrity: sha512-XsoQ5ThBOwfMz1KS7I2zZoduLxUYFe+NHuRAm/gt+uk44nnXqwzNJHo/9GEMqJqxafViqvfRZ35GF1fDkwW32Q==} + '@solana/errors@8.5.0': + resolution: {integrity: sha512-y/XTiwAZsm2kHoEDJ3ac3NUq/0E4uCbOnBe2m5mmBXF3TGmF562tDKgN5pQ+thiRABvi7b2LqwTBCg4kAdtgRg==} engines: {node: '>=20.18.0'} hasBin: true peerDependencies: @@ -848,8 +848,8 @@ packages: typescript: optional: true - '@solana/fast-stable-stringify@8.3.0': - resolution: {integrity: sha512-QVVSFQPLJaFeUFekWHe04TUr5rL2QbgPCEK0HcmlOLgCWTvduwj1D9e73jjYzL5HU1QRyUfzkw+GnSw95nvjLg==} + '@solana/fast-stable-stringify@8.5.0': + resolution: {integrity: sha512-CTIoOwJ0NScrB8KTzr/V4PJrNHrBAz1zvamM0opgDPQZGzLrBhca1e4eQcGmF6o7Dv3Ve0HdvDJx0B2uG6YxVA==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -857,8 +857,8 @@ packages: typescript: optional: true - '@solana/fixed-points@8.3.0': - resolution: {integrity: sha512-cah+OuTSXqSMRlTQdj3sQmf7RK1m2RG50RzSgLFWeAAl+WCsoR4pyGPFxhQMw9JdaniqOUkKKB3ppxTMgfoHEg==} + '@solana/fixed-points@8.5.0': + resolution: {integrity: sha512-hkB7dUAD/oxXeNOvdMXVqfKZAvOJ1o50gBwzh8yLP1ihdSxVgssb36Vg7806C5HzmIxmTKZclJJokG0cRUXVSw==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -866,8 +866,8 @@ packages: typescript: optional: true - '@solana/functional@8.3.0': - resolution: {integrity: sha512-HBtC8tA8q73JQYHFaNROGiBLcwPcbQHldN7f1NqCgYY9x/iIt/zvWPeoxiRkncYCE9MwDLyWMq3LnetjqOifOA==} + '@solana/functional@8.5.0': + resolution: {integrity: sha512-+8pgF1rVW78FfT0d+ceADFLKpSh/8/o9Ldx5tEkI6paiv0QeClL1rlU5nFs5tjoFkf+92x8PpiLEEGkm0CifOQ==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -875,8 +875,8 @@ packages: typescript: optional: true - '@solana/instruction-plans@8.3.0': - resolution: {integrity: sha512-ltuS+fTWsNQokFxK8StQzn/ZDkrR/P4Pao5EpQxYHPQQ+Z83g61kWFEnR+bB9WBDUZwu2CJptNXItKSgGOWwmg==} + '@solana/instruction-plans@8.5.0': + resolution: {integrity: sha512-cES8TzRGuJ5cdVn3hr6GskwwG68rLd8R0FqmzB9NeU/nzPnW/50nRrg36DYX1Nh+OwuU/ehg6zkNNu1Vo72lKQ==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -884,8 +884,8 @@ packages: typescript: optional: true - '@solana/instructions@8.3.0': - resolution: {integrity: sha512-piAAqqC5NEvN2Mf2FP6PWogl8qCVg/2cEt+LKyq89P0sNbaeMPK11wGcZR6e3LEBMBSnjAw4DbDerDWg6GC0eg==} + '@solana/instructions@8.5.0': + resolution: {integrity: sha512-LSMOQRicz8OalMM2DT60PtAaPjvkHPhIvmPEI8KpyWOuNRwABJBRAfn5ypcdSa69VVj4IdOY10tDWZzjN4dviA==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -893,8 +893,8 @@ packages: typescript: optional: true - '@solana/keys@8.3.0': - resolution: {integrity: sha512-Fs8rtmxliPlDu/6iJniU4FfvUfD63OSxIAbMv2CyNvK9fg7dmQ9fUEBuK3WpwAlpKwhEHCzaFSWNUaB2SmeviQ==} + '@solana/keys@8.5.0': + resolution: {integrity: sha512-mq6amguPYLklpAOC9A+boXQhpcHGjcn4QN40J0l1TvUkfWyFJ4HBbNb35fyWldqqDUV5ujOpaPZmmVvWJBK2Kw==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -902,28 +902,28 @@ packages: typescript: optional: true - '@solana/kit-plugin-instruction-plan@0.18.0': - resolution: {integrity: sha512-GVhSf/QFtowshm4zhwqOrFI5oMpeOgRDCv5WMmYER0xZqE8+aSDxHsbEyI3dS/s4YilA296EHpQpzTAdlpj/bw==} + '@solana/kit-plugin-instruction-plan@0.19.0': + resolution: {integrity: sha512-62gh9R3jTMuU3UOPNuerQF9QRGM3TTRlVjD4Ukt78Vt3pdKpjx7g311DEDoP3SkKLw1q9UNc0KSKSbIsShFLwg==} peerDependencies: - '@solana/kit': ^8.0.0 + '@solana/kit': ^8.2.0 - '@solana/kit-plugin-litesvm@0.18.0': - resolution: {integrity: sha512-KAUdUzUSDkQKfkNKykZRB7Nd5JvvAUBw6jYo0hrVXqKeGGVQ4ZbiX5sAhUR7EKjXAWfN08VLGZ7vdjGeEKkWYg==} + '@solana/kit-plugin-litesvm@0.19.0': + resolution: {integrity: sha512-w147mktbtkVETLlV12sq3Uf1zKUk7/p70XtARERatygUwX8HO4Us1GvdN/vnJWPDq+Uj7Ws+0mitt2zLWmvawg==} peerDependencies: - '@solana/kit': ^8.0.0 + '@solana/kit': ^8.2.0 - '@solana/kit-plugin-rpc@0.18.0': - resolution: {integrity: sha512-R6q1MfdxTvcqouPV4PtDB8cXV/Ye9Mal7WZVEMFPZ/sdXbe35K92/7P3YjpQ6I1eqEv8lnBbu7/KCWExvofKVA==} + '@solana/kit-plugin-rpc@0.19.0': + resolution: {integrity: sha512-N3nOdC4AEKJ5q9dT6pb7HEPpPelSHNWFkEUeKuf7fy9/9ErLAhYSZD7U6gOyRcCYK5oNyK5YZoCY5IHeqbOuOQ==} peerDependencies: - '@solana/kit': ^8.0.0 + '@solana/kit': ^8.2.0 - '@solana/kit-plugin-signer@0.18.0': - resolution: {integrity: sha512-/CkyDE0HArqH503UUdsiiknBYpM0gAbe/QhlQ37hCRwP+WcnQkqQNdqhx999vMZaKii68ffSD8+xsvOZcSvC+w==} + '@solana/kit-plugin-signer@0.19.0': + resolution: {integrity: sha512-yEwVODA9LfAYUDLDKHDPyHFsnTJFtmxDbZbVZJXXt0bJrejkuHoOopw5lH4yP+eTZEh1fo5XYNAHO6XopO33NQ==} peerDependencies: - '@solana/kit': ^8.0.0 + '@solana/kit': ^8.2.0 - '@solana/kit@8.3.0': - resolution: {integrity: sha512-2T2QaO+0/CeZnPMsjv/bGhBSEiBCMY6V/Qi0xhFF/+8yCH8tkzM/kgE7fX5JlrR3gZpl9Bu+C62KTqnvk/bcjw==} + '@solana/kit@8.5.0': + resolution: {integrity: sha512-bMnXXADeyZFe3XyqzPhlQAIsmPYRiojaRO4JQxwGOmMwiQ5f13ZQodmsOqnt8W/n40P7r/+/pDqWuqG0TUv+yA==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -931,8 +931,8 @@ packages: typescript: optional: true - '@solana/nominal-types@8.3.0': - resolution: {integrity: sha512-x2aCcMwe6C2tQNq4pAhx4bEd2zhrm3i7DjkdAJAPVCtPKd6ecO6iaV+53/RvE2ImZ0E9aVB41lPV8ZM0dMhRiw==} + '@solana/nominal-types@8.5.0': + resolution: {integrity: sha512-OfTZ+w/C59Zkp51RJ3dzn2GXUojf9p/PMmSrOpxrj+hci3bdh4e6XDGY+mvP8HGPH+m0nfKWTBCygEslfoX6bg==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -940,8 +940,8 @@ packages: typescript: optional: true - '@solana/offchain-messages@8.3.0': - resolution: {integrity: sha512-zpwwQRTX+aBF97fgZW+T+grZWqKbCMa6moDnYHsCkQg67nCeb9OrPtZxMbCT5bP+kDgMTq2URQwS1NcZOwut+Q==} + '@solana/offchain-messages@8.5.0': + resolution: {integrity: sha512-C7qBBD1Gfbdv99uoQnuc8XZYwttTQJOYEG2v6z7q3mAL03PN7zdItAlBa+M2tpeRKjTJObRYnUUJDfiIyyGD/Q==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -949,8 +949,8 @@ packages: typescript: optional: true - '@solana/options@8.3.0': - resolution: {integrity: sha512-+mi+EvxdjlOxt3dv7wTfzGxVFw0j8flZ8gGSXCx969JrML9EZd3+wgsKuMNb3whbvGa/N5exPZXfzsG+wNlK8A==} + '@solana/options@8.5.0': + resolution: {integrity: sha512-Ron9FrWDkwxlmuI6D+NmrZZRngC1MUncglgyN77ThAoxDE1gGMOB88mQvEILeeqONeTA1rDg1uBvbewQcILp+w==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -958,8 +958,8 @@ packages: typescript: optional: true - '@solana/plugin-core@8.3.0': - resolution: {integrity: sha512-cU5S9QR7C1Xsn9DDRSLN7Vq8+kWy6Fw6g2lwa+9yZqdSqABhmdH5HBJG/Zl8HULz2Ady0y8qHcu8fEZsehuU0g==} + '@solana/plugin-core@8.5.0': + resolution: {integrity: sha512-1zmh+UC47yxsZHleDpH4AEVkm9yXIATkWm8v33DJuXaqX3TQXMXuxP39cXAyObIQEpCG8DK8lyAeFTUrIFcDmA==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -967,8 +967,8 @@ packages: typescript: optional: true - '@solana/plugin-interfaces@8.3.0': - resolution: {integrity: sha512-EawuCQiW5A13qdArRODYbAsAvi9fRkORk1hq14kbRAR0A/7XwQLniAWrgKY4WZ1UXuECB/LxKc8uQwfH5u1JOw==} + '@solana/plugin-interfaces@8.5.0': + resolution: {integrity: sha512-+s/+cCuzk23/a1ViTIugvXFYHN0txxmvqfuL4qx81NlmGawqEYws6xD+L02wNzJ5rbJeAaBhw2pUFStMfG4vYg==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -976,8 +976,8 @@ packages: typescript: optional: true - '@solana/program-client-core@8.3.0': - resolution: {integrity: sha512-GUFVAFaEgVvznI6mrfa69I0SVnO5mD5RpYKdSEHvGnIMzupgjZhTcmhSxMIU06hFA2ZLF+NbKsOKMQFVicOCjw==} + '@solana/program-client-core@8.5.0': + resolution: {integrity: sha512-HJcnbuvQRcWOV3nTUjzgmQRIs0Of1973UU8uOvSEEW7rxycQwNxJ7fVgxQ5sYOCbT+7rlqqTkDeczvB7I4OwoA==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -985,8 +985,8 @@ packages: typescript: optional: true - '@solana/programs@8.3.0': - resolution: {integrity: sha512-XosDh9GNaDUCvzpFE2e3M7iQ6tounwrhR16+KInjYNcvQDLgA5yeCbNfByai7OSz9iqEi5nlXjQFIQCckLANVw==} + '@solana/programs@8.5.0': + resolution: {integrity: sha512-8PC2E/d5rwCRw1tFwQlpG65YDN56bYmPiBl99QqCP2RzhNdFJ/52xgFumL2G0uLfD3xsuFaWuOIGNxkyfXYm/Q==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -994,8 +994,8 @@ packages: typescript: optional: true - '@solana/promises@8.3.0': - resolution: {integrity: sha512-RekTh1UzvyD1EtF4hjenJDrnpGakJwTCE7cq6auQKtBxQUIJrKwDxmpyiJTJ00wvQYdMfMuyJEPQNuxgm6mxrg==} + '@solana/promises@8.5.0': + resolution: {integrity: sha512-qWJbU6RGuZVrtvsGZ+2F46jccaIZDX4czYRRhS3m38cCdE+wKMbqGvWND50xP7D9egOxYKHMqJAJbLQH4gspvQ==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1003,8 +1003,8 @@ packages: typescript: optional: true - '@solana/rpc-api@8.3.0': - resolution: {integrity: sha512-8wvVbQLbp8Mjd0Vcg2IZqkNreSGkgOPe4IhCrO2GqJQyTNAI8Ir6o/Qt3zIj02IQS9LDL9rZPvynL+1PFPSlOA==} + '@solana/rpc-api@8.5.0': + resolution: {integrity: sha512-qlRZ2yC8WEWNg3VX8UEqlZOitKZaeE6KWbn3A/ybtJAYz+mvr3RMDhnQ89RDqIuxPuAFZNV21BRJv3yB9xR44Q==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1012,8 +1012,8 @@ packages: typescript: optional: true - '@solana/rpc-parsed-types@8.3.0': - resolution: {integrity: sha512-cK0Yu7I8HADKYQdlyIuCFd2sq1sCrIm7q0H9nqeS7b5ILLYoH9T3AnCZ437N7Z4jZBekL2DGdpdE2M84F0fphQ==} + '@solana/rpc-parsed-types@8.5.0': + resolution: {integrity: sha512-ktygZ019trgAyjr8y1GN1x4x6wJYw2Ola6UogAfJT5LoNs6kV3k84yCNAlGv34xRPqCVxlWo4nsIWJf8yWQQ2w==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1021,8 +1021,8 @@ packages: typescript: optional: true - '@solana/rpc-spec-types@8.3.0': - resolution: {integrity: sha512-D757241XGKwmBRlQ1xSGknBqRaXq8ZO0BDl5UupG0UyHsfdk6iKDrJFccaNx1m2LKExzlu8iWZTEdnrueDDL7A==} + '@solana/rpc-spec-types@8.5.0': + resolution: {integrity: sha512-YUTMKWWlHCGBmA1wxhIilbxJlad5vEsvc8dDO9VWr7GVkQUlipEU79iGaKk4xQ6Oo1mZWxpGz5mAJUqGraTK4A==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1030,8 +1030,8 @@ packages: typescript: optional: true - '@solana/rpc-spec@8.3.0': - resolution: {integrity: sha512-HWMQsAUsW8LOkojFopkkkTSIFAFeYDA6B4NiXtXZ8q5qKRKDB+qCVTC1un8RorKrnayLM7gF73Oi5gPD2ANL/w==} + '@solana/rpc-spec@8.5.0': + resolution: {integrity: sha512-0oET5yc880zFGqBMJE2UB7sxW8sIs4hmsP4bmkR2y4ipm1aScC5U+Rd8GaIrupBOVOFj+RXIorC7kQycN/9nhw==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1039,8 +1039,8 @@ packages: typescript: optional: true - '@solana/rpc-subscriptions-api@8.3.0': - resolution: {integrity: sha512-NHjPuylayZHuBNXPkMT0sMHGUKAenck+P9Iep1ZzfH0py9SJcKOU8LHecSdGl7GjHk0SCs+iCBew+89JYrcTaA==} + '@solana/rpc-subscriptions-api@8.5.0': + resolution: {integrity: sha512-PJaAyqZkpG8vuzdxmdWMwp1JS5pyZ6PuL8OMhx6nCt3phkseqIs1NmAf8pQc/RZjIV3hJMMVCwSDG1DE8DY64w==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1048,8 +1048,8 @@ packages: typescript: optional: true - '@solana/rpc-subscriptions-channel-websocket@8.3.0': - resolution: {integrity: sha512-4Ix52idqRT3q0Ty5sr9lUj/S8Flf+/8q7NMuAxYNH827C71AO6vVpkpAY1YpU53MKnKy0Tox0mLLScocftgEJQ==} + '@solana/rpc-subscriptions-channel-websocket@8.5.0': + resolution: {integrity: sha512-sRYYwBFg31z77zfKpJBcAO9MaUWa+bO1PlBcDiToa4luXGuR3dC8TSpi1Yip4T4NCONNzK3yhyeI6sHhGHc8Qw==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1057,8 +1057,8 @@ packages: typescript: optional: true - '@solana/rpc-subscriptions-spec@8.3.0': - resolution: {integrity: sha512-iv6f4N7Pva3KGljkT4kEBsMDjWVHShtysuPOko8doLBSKuelOj+b+79iYpezeu6hpbZ0YxBvlmJkOtUyeIhRJA==} + '@solana/rpc-subscriptions-spec@8.5.0': + resolution: {integrity: sha512-YdCPLHOcQWz8JhMaT/E+YC56nFDJ6D+XOTr6qRWHGe/1PIYGQDVvaFzI7+tF0b6tuv49GoMbpGdkiTX2v6KeUw==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1066,8 +1066,8 @@ packages: typescript: optional: true - '@solana/rpc-subscriptions@8.3.0': - resolution: {integrity: sha512-/oI9aXKOTFnIoZ+wmvZeNfSu5h8Vl90a4W6U/K8OZE2AKjK1dbKI4bR1k7P/3SORY9Z0AN2S9UsohQ6Z6n9jKA==} + '@solana/rpc-subscriptions@8.5.0': + resolution: {integrity: sha512-8hdWSDKKtMK3kRrR8TExwFo/bWHxVTu4zJ/JkePTQgNtm95kX25/hy+9JHKRtSsNUfXXYM60sQVE18cGgMU7dA==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1075,8 +1075,8 @@ packages: typescript: optional: true - '@solana/rpc-transformers@8.3.0': - resolution: {integrity: sha512-eDn1PwS+MbMAJN4ZSWzMYGt0jEwvyaZJwDeQdOdWYEkqKJKlLsO1AAxLmz3LW3R/iKyWa4KwjrJ5Ia9oAugS6g==} + '@solana/rpc-transformers@8.5.0': + resolution: {integrity: sha512-JYq+EyfzJ1ksZubU9VHynQY1Z3k1tosdxG6KE4Cua/rFuXPosSn7o5h9FLLbSB5cTVcnj0lGNrBaVYW4AVK4iA==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1084,8 +1084,8 @@ packages: typescript: optional: true - '@solana/rpc-transport-http@8.3.0': - resolution: {integrity: sha512-XD3Bo5KZekQhrReoF6UzFW66NUYqa4Rg1wBjFEIsC/sABhLJ+062O1GPS3HY9AcxZBW48rAmfNe1Qqkerxajzw==} + '@solana/rpc-transport-http@8.5.0': + resolution: {integrity: sha512-xfIFZa+oxXLgA6BXaE2bXjiy2yZM1qO1URzzF0lmTekJM/okS8EZAQwEicWpYkvfdHJZ2x/oagD3AOSBBCWrsw==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1093,8 +1093,8 @@ packages: typescript: optional: true - '@solana/rpc-types@8.3.0': - resolution: {integrity: sha512-T8DlDU5hu/pspKNWriwkJHXqzb7B6EQVVC6sgciZp78VB9R413+K6QhC7jZc96mNcoaATKRRg2tDDyiezKZVIg==} + '@solana/rpc-types@8.5.0': + resolution: {integrity: sha512-L050pZqQ8gaFABF26NAYoatyZZeJo52AKvQQ3i58LRtUc6wcrpCF+4x4U/EDER2YVAc6Qx1xWvGnAomGhI6vzw==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1102,8 +1102,8 @@ packages: typescript: optional: true - '@solana/rpc@8.3.0': - resolution: {integrity: sha512-giS/v09dby/VD77uDfNrhr5fLi5K5NIOp3jIFfKpdAnfPHgKLv050xdmL9ZltrWucrGuePinzUTLWkdkf4s/cw==} + '@solana/rpc@8.5.0': + resolution: {integrity: sha512-7CQFNOMhXrY/LT0qdsi3h0chy4A/Ao93pyBLqFQqxzlub0st8dC5wl+MDXhkxaBos/DZOu1V4EleWv6qbLMlow==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1111,8 +1111,8 @@ packages: typescript: optional: true - '@solana/signers@8.3.0': - resolution: {integrity: sha512-uNiJZV6npLBQ0jYsK5fmtemZ0igQ4HW9QR9t5qSxbxRa52yZjzX7zkSpFhQJsxvBCAUR2ppVmhanDeupPXf4Mw==} + '@solana/signers@8.5.0': + resolution: {integrity: sha512-F9VvFsG9Av+Sbs4mQpuVlszb6msujxnqKQqa4TsRT24GOqKOFr4Xvs7HqgVJV/BPIDnz7u0omUhUILesHJDfkQ==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1120,8 +1120,8 @@ packages: typescript: optional: true - '@solana/subscribable@8.3.0': - resolution: {integrity: sha512-tLoGNOt19oUTxIoOaBxQRNxKJET/IXBx1NZkGD1lh4X8iNc6V0lY3MMIWjNvRivFIpzeWtWYxX/tAb27xpmcXg==} + '@solana/subscribable@8.5.0': + resolution: {integrity: sha512-v1/hL/l4kubwYVuaMNmtQcmTgDuKG6e9Hjv9fCxkYCdDIUERgmm9DX/So1386+6rkQBVRC7wTSH86Jq+RIqNGQ==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1129,8 +1129,8 @@ packages: typescript: optional: true - '@solana/sysvars@8.3.0': - resolution: {integrity: sha512-SXnKqpV4pj3vLvcyBn8+jeVouu4Bbk0PTmHMknsig6edWcpmvAXkufcRdxgVy5t58pdSf1+GlJGEEhP5NR/0xA==} + '@solana/sysvars@8.5.0': + resolution: {integrity: sha512-vidKFEOAujEVizDUHFCmmIpHsS3Zu/fXJKcDUtbUn+bwD9Z1fRiper8rZW3Qdtgu1GmrH3O8MoyL2Nrp7k6QNw==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1138,8 +1138,8 @@ packages: typescript: optional: true - '@solana/transaction-confirmation@8.3.0': - resolution: {integrity: sha512-xx4sO4+0nP84SvxPPmHFKkUyBEQDFC2Vn8eqV8qEG3yo0ruHlZ45g0IeYhz9WS20WPgkXvGB5bVU8Y3yv/4vPw==} + '@solana/transaction-confirmation@8.5.0': + resolution: {integrity: sha512-dUVHhyaJ9tt535ZJfgPAdKo6zycCAn1mqKKP/FYvCz/4FiAKnyvqj8rxd66yvvuJVhkpjbcPDDagm/P8JEYUug==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1147,8 +1147,8 @@ packages: typescript: optional: true - '@solana/transaction-introspection@8.3.0': - resolution: {integrity: sha512-uuPNYLhgueMG1ZxWH+SqPHiyz7KM0vFUDPCVRQUVTTWFryWDeu6GExfy+mFMPRR25cp+hWYmYhddub8BU2sPXQ==} + '@solana/transaction-introspection@8.5.0': + resolution: {integrity: sha512-VPYVLcpieu5YwwC1wmh3zZ/KHWmqJWPS7iMPVpf90L79/1Dvkg+YYQHnVeN4VQdb7VFnfpTqUnSQpfERDk0Sag==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1156,8 +1156,8 @@ packages: typescript: optional: true - '@solana/transaction-messages@8.3.0': - resolution: {integrity: sha512-AkgHRPOnwonB7n81rTwnZ9WFlagnhzDzXKGhETdffzC+A1GifXC2s/ou0/qNozuqlgPVDaBR02S/A3Vt1tYr/g==} + '@solana/transaction-messages@8.5.0': + resolution: {integrity: sha512-8SHxirU5K0kFmOwwD6XTGI5LWP/bLvLBDbemT4xDOaL+6xkLzlTMtzlgKb/Td5UtqyYOoew0FBVLJzJx/QApOw==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1165,8 +1165,8 @@ packages: typescript: optional: true - '@solana/transactions@8.3.0': - resolution: {integrity: sha512-zNCHu2W3t6r4W3rsCA5vZ93bGqcZPNgfgYjTamRC6xTZPP2qn5JR+bSR9/WBMpi8GwLzWYuDk6YtNp3+pYGKuQ==} + '@solana/transactions@8.5.0': + resolution: {integrity: sha512-IGRWI38rq5b94gy93wn/gVSQBuwNPSUv3GnWkd6R6Tc7jLbfRlYbYHJNHH5o28Fmlr+nlEn4bgu3BiqMWxuLmg==} engines: {node: '>=20.18.0'} peerDependencies: typescript: '>=5.4.0' @@ -1186,17 +1186,17 @@ packages: '@types/estree@1.0.9': resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} - '@types/node@24.13.6': - resolution: {integrity: sha512-SGrw/h3KPFshy3OE6ZL53LMBG5vGQQ8/gIpiqz/kRZhPJ7HgwCEs8LBuNtWLa8dvGZVpSF7+Bf+c11HUrCb/yg==} + '@types/node@24.19.2': + resolution: {integrity: sha512-93d49wCWJkCyN87MxLpNN6KXPCwFw7bVUg79mGUV1OS40JGWwVCr8n61DXCSqz7CV6/VfPkb7xec7uP2M+QHWQ==} '@types/pako@2.0.4': resolution: {integrity: sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==} - '@vitest/expect@4.1.11': - resolution: {integrity: sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==} + '@vitest/expect@4.1.12': + resolution: {integrity: sha512-vFlTt+YEu9WBpNjdGayNmlMVzrWPi1+sv853/7t2FU7hpO5gAFBKHzQmkCq5Xjpr+evegF2994LQT3hF3mRlqQ==} - '@vitest/mocker@4.1.11': - resolution: {integrity: sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==} + '@vitest/mocker@4.1.12': + resolution: {integrity: sha512-fKShNpKZzupWZuY0z7egydvL0sqW4INEZBEExMBMAa6izlENEVHwoXgdaTCaBZ5fwlr4xf2o1wXC83n9RpO+NA==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1206,23 +1206,23 @@ packages: vite: optional: true - '@vitest/pretty-format@4.1.11': - resolution: {integrity: sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==} + '@vitest/pretty-format@4.1.12': + resolution: {integrity: sha512-XW9O8+Mxx4VpCtkYdMJLZQQwsVryP9wk7cPKDxtXFfwSak6yRh5+2fep/Y0XF/ElBvJHq8bcYdi6aeuai0opZA==} - '@vitest/runner@4.1.11': - resolution: {integrity: sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==} + '@vitest/runner@4.1.12': + resolution: {integrity: sha512-NKlVKCr5QnCe8jijdMnmkpHHU+WTqiLFR6G0pHji9uRjXK9xJl1k1nTw6F3pOOj2PDcsDt2GKQMI7wIsaT491w==} - '@vitest/snapshot@4.1.11': - resolution: {integrity: sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==} + '@vitest/snapshot@4.1.12': + resolution: {integrity: sha512-ko1y1Qgb/slzQ9mr+b89Cuqud8WG1TKtsPD8r7ZUBdvVOGt85Af2HwCqHujrhwJq95hs/9RM7fcAPg57o1vlzw==} - '@vitest/spy@4.1.11': - resolution: {integrity: sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==} + '@vitest/spy@4.1.12': + resolution: {integrity: sha512-RGq9x4JNGNTZHEJxvN0oSiJjeSCExm0n2gZKKJZHY9cX5AVA6M7VJILBT3ZJ/tJ/0J9uWT7fETV9/btoi//vSg==} - '@vitest/utils@4.1.11': - resolution: {integrity: sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==} + '@vitest/utils@4.1.12': + resolution: {integrity: sha512-Q3awXrwOfEV+qc3WmO5ONyE0yO7Q1gQ9/oyHxGLZ/pl7N3NO/ZztqQwKLuwMkV+CA1JYSIeO3gkHnRDIo4AVaA==} - acorn@8.18.0: - resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} + acorn@8.19.0: + resolution: {integrity: sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==} engines: {node: '>=0.4.0'} hasBin: true @@ -1230,8 +1230,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.3.0: - resolution: {integrity: sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==} + ansi-regex@6.4.0: + resolution: {integrity: sha512-KzTVk2tCWAHtYrvvvaP8bJKJq2pVinhLcGEQdtLIYPbmNGNyYe8QwNaTUYQp2J7/vIsUKt5QCqAfUkYyG9DkOw==} engines: {node: '>=12'} ansi-sequence-parser@1.1.3: @@ -1268,8 +1268,8 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - chai@6.2.2: - resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + chai@6.3.0: + resolution: {integrity: sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==} engines: {node: '>=18'} chalk@5.6.2: @@ -1470,44 +1470,44 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - litesvm-darwin-arm64@1.4.1: - resolution: {integrity: sha512-6dofWLOxtknSL0W6N9W3f/kdnitsJ3xR0oE1W37CLcfd5kX4qCMVbaejZWJkLo4G2JzAk+hFZi965Z2OPyJACg==} + litesvm-darwin-arm64@1.6.0: + resolution: {integrity: sha512-Fd5CS1NVXGXCHB1MhK1lPhrrwmLpCcK1YhVcy9fFJFzVoNFGBqlYwV7ORSaw8CNcga6z5XKLcVuWFBZAOmxf4Q==} engines: {node: '>= 20'} cpu: [arm64] os: [darwin] - litesvm-darwin-x64@1.4.1: - resolution: {integrity: sha512-Rjyg6SfnSKAO5/vMpnZpIHTcBWEUzjFj/GshXwzdyiWorrpC0poQjK3OJ9RJneJW2YDd+oUsGZCfwAplTXPGfg==} + litesvm-darwin-x64@1.6.0: + resolution: {integrity: sha512-945ujpieH10O5skQrno5Ws+wb9YKYDHJlA7mYOXScA+8sNwxO0g9bT78MtcoIxgKM4JbxKpwbf4Xf4x99A4Zcg==} engines: {node: '>= 20'} cpu: [x64] os: [darwin] - litesvm-linux-arm64-gnu@1.4.1: - resolution: {integrity: sha512-hyL/tcuFisAwNEwVzDGjtDRuLYDc+8PoX9QZU/M46vsLrdU2WCBU3g4WdV5z0z1nPl16TzcHVboqydyBy3ImFQ==} + litesvm-linux-arm64-gnu@1.6.0: + resolution: {integrity: sha512-3QtIubQlGW303e0fSAhiWunbwJxqOswKmEipJV3UQtKeQvQjswqZGCAxlh1AdkdqjjLbSNWa0Ys3FFbUXkSJAQ==} engines: {node: '>= 20'} cpu: [arm64] os: [linux] - litesvm-linux-arm64-musl@1.4.1: - resolution: {integrity: sha512-Folc4nWAXwkWvwK5iqf3C74eNAPRERg8Yn2QGVW+6pMgCXtaQt77PuIB9m32mLo+W+LZxiU+t3et0ZiFEm4YgQ==} + litesvm-linux-arm64-musl@1.6.0: + resolution: {integrity: sha512-7rHwhjh8JG36bo5xpGQhKRslsWVo0bYhG6/p6MqSJP3qVh+e3n3gRonmWr/cGG9N56oBLMipYpTLISEpKIv0mA==} engines: {node: '>= 20'} cpu: [arm64] os: [linux] - litesvm-linux-x64-gnu@1.4.1: - resolution: {integrity: sha512-sAKax22lAMS0DpWQcT6ICt8vs6phEjRJXT84LhhftnlNkcU03b0RJziFDr34LUTrkY5SMi/uqZEy0T86Xokg+w==} + litesvm-linux-x64-gnu@1.6.0: + resolution: {integrity: sha512-FaJCP9IPfWbKtiHjhAW5R3Bg1yDgIbEPj6qhJiKATLF7m7/t3zE86+kO+AM9bHVYdSXqUeWecSfjGRbytILZFQ==} engines: {node: '>= 20'} cpu: [x64] os: [linux] - litesvm-linux-x64-musl@1.4.1: - resolution: {integrity: sha512-kKsOVhF7o8/sMiP6mgZCoIYr7zWEzwOBQdC0WrWp29JvOJpKOOgz3jioFdgWv/LnSYfkbJ+wZNWI8tMhAkmNOw==} + litesvm-linux-x64-musl@1.6.0: + resolution: {integrity: sha512-oyx5Ic/ogDN4LYNv+Ow8MfCiIbkddP7fy6+DKfHwvBb5hvFe7ZAbScXh7aMSrKP6yNSdqtTz2+Z9K5zramoiKw==} engines: {node: '>= 20'} cpu: [x64] os: [linux] - litesvm@1.4.1: - resolution: {integrity: sha512-SGMdN6c44m5Deo27nZX7GIn42e/OlfQ4jIv0JIVxR3F5vU8ZbbjsLRGUj3b/r5jCITyN22u14JnuP+mhDyNLlg==} + litesvm@1.6.0: + resolution: {integrity: sha512-DAe9CETZXKWebg6uTlt4gdLpOsvdwuyQC0WpHYPfkLnIDFmiM4qiW8ynF0FcUrHBFxZJb3/n7HtusZvxl8fsaw==} engines: {node: '>= 20'} load-tsconfig@0.2.5: @@ -1545,8 +1545,8 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nanoid@3.3.19: - resolution: {integrity: sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==} + nanoid@3.3.20: + resolution: {integrity: sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -1567,12 +1567,12 @@ packages: resolution: {integrity: sha512-3mBv3CoPbh8dFbzfDGIWa2ytZjn2v+3EX4aKRXjIhsoGFzG8GCjfRirz3rwZf1wYbZzsNLTSgpw8VjQuWdp/jA==} hasBin: true - oxlint@1.83.0: - resolution: {integrity: sha512-cyDzSzaw3uzP0TeCeq3lLRPPoaUxkbB4ZOXj+kn+5r+BX9V+4bNVGk9lxer+WrgcpebH4JxLlJ3KQjveVztOLQ==} + oxlint@1.88.0: + resolution: {integrity: sha512-uIcFgw8BmqvFRGzH5+r7d2zJMEexwNSrEmM6WQNnGh3VkO0XYTEFoyxyNE6tjKMUib9Cue4XJA2DoWruO5D6aw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - oxlint-tsgolint: '>=7.0.2001' + oxlint-tsgolint: '>=7.0.2003' vite-plus: '*' peerDependenciesMeta: oxlint-tsgolint: @@ -1629,8 +1629,8 @@ packages: yaml: optional: true - postcss@8.5.28: - resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==} + postcss@8.5.30: + resolution: {integrity: sha512-zkd+e9S1AQHhmaBKye9zlFHWjOwVgqXl1q3ECYy8561K7qxR2cREf/STLskulBFd78k6AOFeA+ff1TtEzk9bAA==} engines: {node: ^10 || ^12 || >=14} readdirp@4.1.2: @@ -1645,13 +1645,13 @@ packages: resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} hasBin: true - rolldown@1.2.9: - resolution: {integrity: sha512-hx/Pv0N1haXRb11qkfnK5MXB/iqr7i0yjWQqmO9uHqZpBgQSqzc8UsSnEpalsh+j1I8qQ2CkXAkJC8Br3dKSlg==} + rolldown@1.2.14: + resolution: {integrity: sha512-eTBTTqMR6uHKLgcUqpJP8ntzDI6V4LYA8negAMBEI7gkgVvOdrx6VsvS2Ym+83KhOPdLCHWJu0w7UQFJZhHKNw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup@4.63.4: - resolution: {integrity: sha512-4U0liVayNIoLp3GFl1FcI8561WepLnZ1rqfraGh7S9B3Ur5F9S283y8Futii7RUU2C/97tOBmBy7nYvhoiOpbQ==} + rollup@4.64.7: + resolution: {integrity: sha512-aCiJONoZp0lNGJ6sYqspLkh6UXaWEey/7Ko2TZyXQ4kgzAhDUxAgbt/oulXKmD+zFHXw1k+RF6ZZWOrjp7DZnQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -1673,12 +1673,12 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - smol-toml@1.8.0: - resolution: {integrity: sha512-kCZr2V3ch9i00x8zXRhjUNVcjG9ijES5dDudkXvUVCT5QlJNQWElSJdZqyPemffHoLNUYwOcou0Fy+ojN0uHSQ==} + smol-toml@1.9.1: + resolution: {integrity: sha512-j7WyPdf0CJoutMzMoPLF/bVXHtKZIT9Rb4eGeEbWw8X2t5oirjPgpL+OpaENZrILYaXqYwnVH+qgUwVbl+pUJQ==} engines: {node: '>= 18'} - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + source-map-js@1.2.2: + resolution: {integrity: sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==} engines: {node: '>=0.10.0'} source-map@0.7.6: @@ -1688,8 +1688,8 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - std-env@4.2.0: - resolution: {integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==} + std-env@4.3.0: + resolution: {integrity: sha512-OtU/EgQ1kIm5KwqQpBC6ZEMXrZRui11w8zgfTWp8cdO9B8OaPsbA8bTHO2P+HNo1VlUTGMVBwPhydu6poeXiag==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -1737,8 +1737,8 @@ packages: resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==} engines: {node: ^20.0.0 || >=22.0.0} - tinyrainbow@3.1.1: - resolution: {integrity: sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==} + tinyrainbow@3.2.0: + resolution: {integrity: sha512-LgO3D9yZJjApUiuUfl9iFAwrtaX4+lok3wJIqttGoKCHlWUqHqbQpnxCf82L8FjgKsh4iGo78hqJwgL8F6To2A==} engines: {node: '>=14.0.0'} tree-kill@1.2.2: @@ -1782,14 +1782,14 @@ packages: ufo@1.6.4: resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} - undici-types@7.18.2: - resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} + undici-types@7.24.6: + resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} - undici-types@8.10.2: - resolution: {integrity: sha512-7/+aSjzkUoLc92hV22bTW4aGanXf800zbwguhcICs0OAoCF9wDOE4wkopQ+SqfhXZm8mCK8gHpdTs7pZUWzK3w==} + undici-types@8.12.2: + resolution: {integrity: sha512-VoMeD2O0KdHhcn+oPqOrpivN+7aDOklVSwOLD7JNjbzV1CboAFek9IFOXnreoufTUtAsCsOK0iETiERPNR/fDA==} - vite@8.3.0: - resolution: {integrity: sha512-lhZBVvEHefgE+HQZC9O7EBJgCU/nVzFNl7vkS4RE0APtWLP02/8QVIkQtzBxPquh7lq5/78NHipTj7ODQ6XuyQ==} + vite@8.3.4: + resolution: {integrity: sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -1831,20 +1831,20 @@ packages: yaml: optional: true - vitest@4.1.11: - resolution: {integrity: sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==} + vitest@4.1.12: + resolution: {integrity: sha512-5eWdz2yb3ajxWF3C8C4TjkXl7FGm3n2E/VlazALrQHzK7nYMSGFnCZto0bbPNl77AwkOZVLk0YnBAejUu0NiWA==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.11 - '@vitest/browser-preview': 4.1.11 - '@vitest/browser-webdriverio': 4.1.11 - '@vitest/coverage-istanbul': 4.1.11 - '@vitest/coverage-v8': 4.1.11 - '@vitest/ui': 4.1.11 + '@vitest/browser-playwright': 4.1.12 + '@vitest/browser-preview': 4.1.12 + '@vitest/browser-webdriverio': ^4.1.11 + '@vitest/coverage-istanbul': 4.1.12 + '@vitest/coverage-v8': 4.1.12 + '@vitest/ui': 4.1.12 happy-dom: '*' jsdom: '*' vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1896,8 +1896,8 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - ws@8.21.3: - resolution: {integrity: sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==} + ws@8.22.0: + resolution: {integrity: sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -2019,7 +2019,7 @@ snapshots: '@napi-rs/lzma-linux-x64-gnu@1.5.1': optional: true - '@oxc-project/types@0.150.0': {} + '@oxc-project/types@0.154.0': {} '@oxfmt/binding-android-arm-eabi@0.48.0': optional: true @@ -2096,387 +2096,387 @@ snapshots: '@oxlint-tsgolint/win32-x64@0.23.0': optional: true - '@oxlint/binding-android-arm-eabi@1.83.0': + '@oxlint/binding-android-arm-eabi@1.88.0': optional: true - '@oxlint/binding-android-arm64@1.83.0': + '@oxlint/binding-android-arm64@1.88.0': optional: true - '@oxlint/binding-darwin-arm64@1.83.0': + '@oxlint/binding-darwin-arm64@1.88.0': optional: true - '@oxlint/binding-darwin-x64@1.83.0': + '@oxlint/binding-darwin-x64@1.88.0': optional: true - '@oxlint/binding-freebsd-x64@1.83.0': + '@oxlint/binding-freebsd-x64@1.88.0': optional: true - '@oxlint/binding-linux-arm-gnueabihf@1.83.0': + '@oxlint/binding-linux-arm-gnueabihf@1.88.0': optional: true - '@oxlint/binding-linux-arm-musleabihf@1.83.0': + '@oxlint/binding-linux-arm-musleabihf@1.88.0': optional: true - '@oxlint/binding-linux-arm64-gnu@1.83.0': + '@oxlint/binding-linux-arm64-gnu@1.88.0': optional: true - '@oxlint/binding-linux-arm64-musl@1.83.0': + '@oxlint/binding-linux-arm64-musl@1.88.0': optional: true - '@oxlint/binding-linux-ppc64-gnu@1.83.0': + '@oxlint/binding-linux-ppc64-gnu@1.88.0': optional: true - '@oxlint/binding-linux-riscv64-gnu@1.83.0': + '@oxlint/binding-linux-riscv64-gnu@1.88.0': optional: true - '@oxlint/binding-linux-riscv64-musl@1.83.0': + '@oxlint/binding-linux-riscv64-musl@1.88.0': optional: true - '@oxlint/binding-linux-s390x-gnu@1.83.0': + '@oxlint/binding-linux-s390x-gnu@1.88.0': optional: true - '@oxlint/binding-linux-x64-gnu@1.83.0': + '@oxlint/binding-linux-x64-gnu@1.88.0': optional: true - '@oxlint/binding-linux-x64-musl@1.83.0': + '@oxlint/binding-linux-x64-musl@1.88.0': optional: true - '@oxlint/binding-openharmony-arm64@1.83.0': + '@oxlint/binding-openharmony-arm64@1.88.0': optional: true - '@oxlint/binding-win32-arm64-msvc@1.83.0': + '@oxlint/binding-win32-arm64-msvc@1.88.0': optional: true - '@oxlint/binding-win32-ia32-msvc@1.83.0': + '@oxlint/binding-win32-ia32-msvc@1.88.0': optional: true - '@oxlint/binding-win32-x64-msvc@1.83.0': + '@oxlint/binding-win32-x64-msvc@1.88.0': optional: true '@pkgjs/parseargs@0.11.0': optional: true - '@rolldown/binding-android-arm-eabi@1.2.9': + '@rolldown/binding-android-arm-eabi@1.2.14': optional: true - '@rolldown/binding-android-arm64@1.2.9': + '@rolldown/binding-android-arm64@1.2.14': optional: true - '@rolldown/binding-darwin-arm64@1.2.9': + '@rolldown/binding-darwin-arm64@1.2.14': optional: true - '@rolldown/binding-darwin-x64@1.2.9': + '@rolldown/binding-darwin-x64@1.2.14': optional: true - '@rolldown/binding-freebsd-x64@1.2.9': + '@rolldown/binding-freebsd-x64@1.2.14': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.2.9': + '@rolldown/binding-linux-arm-gnueabihf@1.2.14': optional: true - '@rolldown/binding-linux-arm64-gnu@1.2.9': + '@rolldown/binding-linux-arm64-gnu@1.2.14': optional: true - '@rolldown/binding-linux-arm64-musl@1.2.9': + '@rolldown/binding-linux-arm64-musl@1.2.14': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.2.9': + '@rolldown/binding-linux-ppc64-gnu@1.2.14': optional: true - '@rolldown/binding-linux-s390x-gnu@1.2.9': + '@rolldown/binding-linux-s390x-gnu@1.2.14': optional: true - '@rolldown/binding-linux-x64-gnu@1.2.9': + '@rolldown/binding-linux-x64-gnu@1.2.14': optional: true - '@rolldown/binding-linux-x64-musl@1.2.9': + '@rolldown/binding-linux-x64-musl@1.2.14': optional: true - '@rolldown/binding-openharmony-arm64@1.2.9': + '@rolldown/binding-openharmony-arm64@1.2.14': optional: true - '@rolldown/binding-win32-arm64-msvc@1.2.9': + '@rolldown/binding-win32-arm64-msvc@1.2.14': optional: true - '@rolldown/binding-win32-x64-msvc@1.2.9': + '@rolldown/binding-win32-x64-msvc@1.2.14': optional: true '@rolldown/pluginutils@1.0.1': {} - '@rollup/rollup-android-arm-eabi@4.63.4': + '@rollup/rollup-android-arm-eabi@4.64.7': optional: true - '@rollup/rollup-android-arm64@4.63.4': + '@rollup/rollup-android-arm64@4.64.7': optional: true - '@rollup/rollup-darwin-arm64@4.63.4': + '@rollup/rollup-darwin-arm64@4.64.7': optional: true - '@rollup/rollup-darwin-x64@4.63.4': + '@rollup/rollup-darwin-x64@4.64.7': optional: true - '@rollup/rollup-freebsd-arm64@4.63.4': + '@rollup/rollup-freebsd-arm64@4.64.7': optional: true - '@rollup/rollup-freebsd-x64@4.63.4': + '@rollup/rollup-freebsd-x64@4.64.7': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.63.4': + '@rollup/rollup-linux-arm-gnueabihf@4.64.7': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.63.4': + '@rollup/rollup-linux-arm-musleabihf@4.64.7': optional: true - '@rollup/rollup-linux-arm64-gnu@4.63.4': + '@rollup/rollup-linux-arm64-gnu@4.64.7': optional: true - '@rollup/rollup-linux-arm64-musl@4.63.4': + '@rollup/rollup-linux-arm64-musl@4.64.7': optional: true - '@rollup/rollup-linux-loong64-gnu@4.63.4': + '@rollup/rollup-linux-loong64-gnu@4.64.7': optional: true - '@rollup/rollup-linux-loong64-musl@4.63.4': + '@rollup/rollup-linux-loong64-musl@4.64.7': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.63.4': + '@rollup/rollup-linux-ppc64-gnu@4.64.7': optional: true - '@rollup/rollup-linux-ppc64-musl@4.63.4': + '@rollup/rollup-linux-ppc64-musl@4.64.7': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.63.4': + '@rollup/rollup-linux-riscv64-gnu@4.64.7': optional: true - '@rollup/rollup-linux-riscv64-musl@4.63.4': + '@rollup/rollup-linux-riscv64-musl@4.64.7': optional: true - '@rollup/rollup-linux-s390x-gnu@4.63.4': + '@rollup/rollup-linux-s390x-gnu@4.64.7': optional: true - '@rollup/rollup-linux-x64-gnu@4.63.4': + '@rollup/rollup-linux-x64-gnu@4.64.7': optional: true - '@rollup/rollup-linux-x64-musl@4.63.4': + '@rollup/rollup-linux-x64-musl@4.64.7': optional: true - '@rollup/rollup-openbsd-x64@4.63.4': + '@rollup/rollup-openbsd-x64@4.64.7': optional: true - '@rollup/rollup-openharmony-arm64@4.63.4': + '@rollup/rollup-openharmony-arm64@4.64.7': optional: true - '@rollup/rollup-win32-arm64-msvc@4.63.4': + '@rollup/rollup-win32-arm64-msvc@4.64.7': optional: true - '@rollup/rollup-win32-ia32-msvc@4.63.4': + '@rollup/rollup-win32-ia32-msvc@4.64.7': optional: true - '@rollup/rollup-win32-x64-gnu@4.63.4': + '@rollup/rollup-win32-x64-gnu@4.64.7': optional: true - '@rollup/rollup-win32-x64-msvc@4.63.4': + '@rollup/rollup-win32-x64-msvc@4.64.7': optional: true - '@solana-config/oxc@0.1.1(oxfmt@0.48.0)(oxlint@1.83.0(oxlint-tsgolint@0.23.0))': + '@solana-config/oxc@0.1.1(oxfmt@0.48.0)(oxlint@1.88.0(oxlint-tsgolint@0.23.0))': optionalDependencies: oxfmt: 0.48.0 - oxlint: 1.83.0(oxlint-tsgolint@0.23.0) + oxlint: 1.88.0(oxlint-tsgolint@0.23.0) - '@solana-program/system@0.14.1(@solana/kit@8.3.0(typescript@5.9.3))': + '@solana-program/system@0.14.1(@solana/kit@8.5.0(typescript@5.9.3))': dependencies: - '@solana/kit': 8.3.0(typescript@5.9.3) + '@solana/kit': 8.5.0(typescript@5.9.3) - '@solana-program/system@0.15.0(@solana/kit@8.3.0(typescript@5.9.3))': + '@solana-program/system@0.16.0(@solana/kit@8.5.0(typescript@5.9.3))': dependencies: - '@solana/kit': 8.3.0(typescript@5.9.3) + '@solana/kit': 8.5.0(typescript@5.9.3) - '@solana-program/token@0.16.1(@solana/kit@8.3.0(typescript@5.9.3))': + '@solana-program/token@0.16.1(@solana/kit@8.5.0(typescript@5.9.3))': dependencies: - '@solana-program/system': 0.14.1(@solana/kit@8.3.0(typescript@5.9.3)) - '@solana/kit': 8.3.0(typescript@5.9.3) + '@solana-program/system': 0.14.1(@solana/kit@8.5.0(typescript@5.9.3)) + '@solana/kit': 8.5.0(typescript@5.9.3) - '@solana/accounts@8.3.0(typescript@5.9.3)': + '@solana/accounts@8.5.0(typescript@5.9.3)': dependencies: - '@solana/addresses': 8.3.0(typescript@5.9.3) - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/codecs-strings': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/rpc-spec': 8.3.0(typescript@5.9.3) - '@solana/rpc-types': 8.3.0(typescript@5.9.3) + '@solana/addresses': 8.5.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/codecs-strings': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/rpc-spec': 8.5.0(typescript@5.9.3) + '@solana/rpc-types': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/addresses@8.3.0(typescript@5.9.3)': + '@solana/addresses@8.5.0(typescript@5.9.3)': dependencies: - '@solana/assertions': 8.3.0(typescript@5.9.3) - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/codecs-strings': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/nominal-types': 8.3.0(typescript@5.9.3) + '@solana/assertions': 8.5.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/codecs-strings': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/nominal-types': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/assertions@8.3.0(typescript@5.9.3)': + '@solana/assertions@8.5.0(typescript@5.9.3)': dependencies: - '@solana/errors': 8.3.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 - '@solana/codecs-core@8.3.0(typescript@5.9.3)': + '@solana/codecs-core@8.5.0(typescript@5.9.3)': dependencies: - '@solana/errors': 8.3.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 - '@solana/codecs-data-structures@8.3.0(typescript@5.9.3)': + '@solana/codecs-data-structures@8.5.0(typescript@5.9.3)': dependencies: - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/codecs-numbers': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/codecs-numbers': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 - '@solana/codecs-numbers@8.3.0(typescript@5.9.3)': + '@solana/codecs-numbers@8.5.0(typescript@5.9.3)': dependencies: - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 - '@solana/codecs-strings@8.3.0(typescript@5.9.3)': + '@solana/codecs-strings@8.5.0(typescript@5.9.3)': dependencies: - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/codecs-numbers': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/codecs-numbers': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 - '@solana/codecs@8.3.0(typescript@5.9.3)': + '@solana/codecs@8.5.0(typescript@5.9.3)': dependencies: - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/codecs-data-structures': 8.3.0(typescript@5.9.3) - '@solana/codecs-numbers': 8.3.0(typescript@5.9.3) - '@solana/codecs-strings': 8.3.0(typescript@5.9.3) - '@solana/fixed-points': 8.3.0(typescript@5.9.3) - '@solana/options': 8.3.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/codecs-data-structures': 8.5.0(typescript@5.9.3) + '@solana/codecs-numbers': 8.5.0(typescript@5.9.3) + '@solana/codecs-strings': 8.5.0(typescript@5.9.3) + '@solana/fixed-points': 8.5.0(typescript@5.9.3) + '@solana/options': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/errors@8.3.0(typescript@5.9.3)': + '@solana/errors@8.5.0(typescript@5.9.3)': dependencies: chalk: 5.6.2 commander: 15.0.0 optionalDependencies: typescript: 5.9.3 - '@solana/fast-stable-stringify@8.3.0(typescript@5.9.3)': + '@solana/fast-stable-stringify@8.5.0(typescript@5.9.3)': optionalDependencies: typescript: 5.9.3 - '@solana/fixed-points@8.3.0(typescript@5.9.3)': + '@solana/fixed-points@8.5.0(typescript@5.9.3)': dependencies: - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 - '@solana/functional@8.3.0(typescript@5.9.3)': + '@solana/functional@8.5.0(typescript@5.9.3)': optionalDependencies: typescript: 5.9.3 - '@solana/instruction-plans@8.3.0(typescript@5.9.3)': + '@solana/instruction-plans@8.5.0(typescript@5.9.3)': dependencies: - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/instructions': 8.3.0(typescript@5.9.3) - '@solana/keys': 8.3.0(typescript@5.9.3) - '@solana/promises': 8.3.0(typescript@5.9.3) - '@solana/transaction-messages': 8.3.0(typescript@5.9.3) - '@solana/transactions': 8.3.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/instructions': 8.5.0(typescript@5.9.3) + '@solana/keys': 8.5.0(typescript@5.9.3) + '@solana/promises': 8.5.0(typescript@5.9.3) + '@solana/transaction-messages': 8.5.0(typescript@5.9.3) + '@solana/transactions': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/instructions@8.3.0(typescript@5.9.3)': + '@solana/instructions@8.5.0(typescript@5.9.3)': dependencies: - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 - '@solana/keys@8.3.0(typescript@5.9.3)': + '@solana/keys@8.5.0(typescript@5.9.3)': dependencies: - '@solana/assertions': 8.3.0(typescript@5.9.3) - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/codecs-strings': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/nominal-types': 8.3.0(typescript@5.9.3) - '@solana/promises': 8.3.0(typescript@5.9.3) + '@solana/assertions': 8.5.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/codecs-strings': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/nominal-types': 8.5.0(typescript@5.9.3) + '@solana/promises': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/kit-plugin-instruction-plan@0.18.0(@solana/kit@8.3.0(typescript@5.9.3))': + '@solana/kit-plugin-instruction-plan@0.19.0(@solana/kit@8.5.0(typescript@5.9.3))': dependencies: - '@solana/kit': 8.3.0(typescript@5.9.3) + '@solana/kit': 8.5.0(typescript@5.9.3) - '@solana/kit-plugin-litesvm@0.18.0(@solana/kit@8.3.0(typescript@5.9.3))(typescript@5.9.3)': + '@solana/kit-plugin-litesvm@0.19.0(@solana/kit@8.5.0(typescript@5.9.3))(typescript@5.9.3)': dependencies: - '@solana/kit': 8.3.0(typescript@5.9.3) - '@solana/kit-plugin-instruction-plan': 0.18.0(@solana/kit@8.3.0(typescript@5.9.3)) - litesvm: 1.4.1(typescript@5.9.3) + '@solana/kit': 8.5.0(typescript@5.9.3) + '@solana/kit-plugin-instruction-plan': 0.19.0(@solana/kit@8.5.0(typescript@5.9.3)) + litesvm: 1.6.0(typescript@5.9.3) transitivePeerDependencies: - bufferutil - fastestsmallesttextencoderdecoder - typescript - utf-8-validate - '@solana/kit-plugin-rpc@0.18.0(@solana/kit@8.3.0(typescript@5.9.3))': - dependencies: - '@solana/kit': 8.3.0(typescript@5.9.3) - '@solana/kit-plugin-instruction-plan': 0.18.0(@solana/kit@8.3.0(typescript@5.9.3)) - - '@solana/kit-plugin-signer@0.18.0(@solana/kit@8.3.0(typescript@5.9.3))': - dependencies: - '@solana/kit': 8.3.0(typescript@5.9.3) - - '@solana/kit@8.3.0(typescript@5.9.3)': - dependencies: - '@solana/accounts': 8.3.0(typescript@5.9.3) - '@solana/addresses': 8.3.0(typescript@5.9.3) - '@solana/codecs': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/functional': 8.3.0(typescript@5.9.3) - '@solana/instruction-plans': 8.3.0(typescript@5.9.3) - '@solana/instructions': 8.3.0(typescript@5.9.3) - '@solana/keys': 8.3.0(typescript@5.9.3) - '@solana/offchain-messages': 8.3.0(typescript@5.9.3) - '@solana/plugin-core': 8.3.0(typescript@5.9.3) - '@solana/plugin-interfaces': 8.3.0(typescript@5.9.3) - '@solana/program-client-core': 8.3.0(typescript@5.9.3) - '@solana/programs': 8.3.0(typescript@5.9.3) - '@solana/promises': 8.3.0(typescript@5.9.3) - '@solana/rpc': 8.3.0(typescript@5.9.3) - '@solana/rpc-api': 8.3.0(typescript@5.9.3) - '@solana/rpc-parsed-types': 8.3.0(typescript@5.9.3) - '@solana/rpc-spec-types': 8.3.0(typescript@5.9.3) - '@solana/rpc-subscriptions': 8.3.0(typescript@5.9.3) - '@solana/rpc-types': 8.3.0(typescript@5.9.3) - '@solana/signers': 8.3.0(typescript@5.9.3) - '@solana/subscribable': 8.3.0(typescript@5.9.3) - '@solana/sysvars': 8.3.0(typescript@5.9.3) - '@solana/transaction-confirmation': 8.3.0(typescript@5.9.3) - '@solana/transaction-introspection': 8.3.0(typescript@5.9.3) - '@solana/transaction-messages': 8.3.0(typescript@5.9.3) - '@solana/transactions': 8.3.0(typescript@5.9.3) + '@solana/kit-plugin-rpc@0.19.0(@solana/kit@8.5.0(typescript@5.9.3))': + dependencies: + '@solana/kit': 8.5.0(typescript@5.9.3) + '@solana/kit-plugin-instruction-plan': 0.19.0(@solana/kit@8.5.0(typescript@5.9.3)) + + '@solana/kit-plugin-signer@0.19.0(@solana/kit@8.5.0(typescript@5.9.3))': + dependencies: + '@solana/kit': 8.5.0(typescript@5.9.3) + + '@solana/kit@8.5.0(typescript@5.9.3)': + dependencies: + '@solana/accounts': 8.5.0(typescript@5.9.3) + '@solana/addresses': 8.5.0(typescript@5.9.3) + '@solana/codecs': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/functional': 8.5.0(typescript@5.9.3) + '@solana/instruction-plans': 8.5.0(typescript@5.9.3) + '@solana/instructions': 8.5.0(typescript@5.9.3) + '@solana/keys': 8.5.0(typescript@5.9.3) + '@solana/offchain-messages': 8.5.0(typescript@5.9.3) + '@solana/plugin-core': 8.5.0(typescript@5.9.3) + '@solana/plugin-interfaces': 8.5.0(typescript@5.9.3) + '@solana/program-client-core': 8.5.0(typescript@5.9.3) + '@solana/programs': 8.5.0(typescript@5.9.3) + '@solana/promises': 8.5.0(typescript@5.9.3) + '@solana/rpc': 8.5.0(typescript@5.9.3) + '@solana/rpc-api': 8.5.0(typescript@5.9.3) + '@solana/rpc-parsed-types': 8.5.0(typescript@5.9.3) + '@solana/rpc-spec-types': 8.5.0(typescript@5.9.3) + '@solana/rpc-subscriptions': 8.5.0(typescript@5.9.3) + '@solana/rpc-types': 8.5.0(typescript@5.9.3) + '@solana/signers': 8.5.0(typescript@5.9.3) + '@solana/subscribable': 8.5.0(typescript@5.9.3) + '@solana/sysvars': 8.5.0(typescript@5.9.3) + '@solana/transaction-confirmation': 8.5.0(typescript@5.9.3) + '@solana/transaction-introspection': 8.5.0(typescript@5.9.3) + '@solana/transaction-messages': 8.5.0(typescript@5.9.3) + '@solana/transactions': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: @@ -2484,171 +2484,171 @@ snapshots: - fastestsmallesttextencoderdecoder - utf-8-validate - '@solana/nominal-types@8.3.0(typescript@5.9.3)': + '@solana/nominal-types@8.5.0(typescript@5.9.3)': optionalDependencies: typescript: 5.9.3 - '@solana/offchain-messages@8.3.0(typescript@5.9.3)': + '@solana/offchain-messages@8.5.0(typescript@5.9.3)': dependencies: - '@solana/addresses': 8.3.0(typescript@5.9.3) - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/codecs-data-structures': 8.3.0(typescript@5.9.3) - '@solana/codecs-numbers': 8.3.0(typescript@5.9.3) - '@solana/codecs-strings': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/keys': 8.3.0(typescript@5.9.3) - '@solana/nominal-types': 8.3.0(typescript@5.9.3) + '@solana/addresses': 8.5.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/codecs-data-structures': 8.5.0(typescript@5.9.3) + '@solana/codecs-numbers': 8.5.0(typescript@5.9.3) + '@solana/codecs-strings': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/keys': 8.5.0(typescript@5.9.3) + '@solana/nominal-types': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/options@8.3.0(typescript@5.9.3)': + '@solana/options@8.5.0(typescript@5.9.3)': dependencies: - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/codecs-data-structures': 8.3.0(typescript@5.9.3) - '@solana/codecs-numbers': 8.3.0(typescript@5.9.3) - '@solana/codecs-strings': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/codecs-data-structures': 8.5.0(typescript@5.9.3) + '@solana/codecs-numbers': 8.5.0(typescript@5.9.3) + '@solana/codecs-strings': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/plugin-core@8.3.0(typescript@5.9.3)': + '@solana/plugin-core@8.5.0(typescript@5.9.3)': optionalDependencies: typescript: 5.9.3 - '@solana/plugin-interfaces@8.3.0(typescript@5.9.3)': - dependencies: - '@solana/accounts': 8.3.0(typescript@5.9.3) - '@solana/addresses': 8.3.0(typescript@5.9.3) - '@solana/instruction-plans': 8.3.0(typescript@5.9.3) - '@solana/keys': 8.3.0(typescript@5.9.3) - '@solana/rpc-spec': 8.3.0(typescript@5.9.3) - '@solana/rpc-subscriptions-spec': 8.3.0(typescript@5.9.3) - '@solana/rpc-types': 8.3.0(typescript@5.9.3) - '@solana/signers': 8.3.0(typescript@5.9.3) - '@solana/transactions': 8.3.0(typescript@5.9.3) + '@solana/plugin-interfaces@8.5.0(typescript@5.9.3)': + dependencies: + '@solana/accounts': 8.5.0(typescript@5.9.3) + '@solana/addresses': 8.5.0(typescript@5.9.3) + '@solana/instruction-plans': 8.5.0(typescript@5.9.3) + '@solana/keys': 8.5.0(typescript@5.9.3) + '@solana/rpc-spec': 8.5.0(typescript@5.9.3) + '@solana/rpc-subscriptions-spec': 8.5.0(typescript@5.9.3) + '@solana/rpc-types': 8.5.0(typescript@5.9.3) + '@solana/signers': 8.5.0(typescript@5.9.3) + '@solana/transactions': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/program-client-core@8.3.0(typescript@5.9.3)': - dependencies: - '@solana/accounts': 8.3.0(typescript@5.9.3) - '@solana/addresses': 8.3.0(typescript@5.9.3) - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/instruction-plans': 8.3.0(typescript@5.9.3) - '@solana/instructions': 8.3.0(typescript@5.9.3) - '@solana/plugin-interfaces': 8.3.0(typescript@5.9.3) - '@solana/rpc-api': 8.3.0(typescript@5.9.3) - '@solana/signers': 8.3.0(typescript@5.9.3) + '@solana/program-client-core@8.5.0(typescript@5.9.3)': + dependencies: + '@solana/accounts': 8.5.0(typescript@5.9.3) + '@solana/addresses': 8.5.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/instruction-plans': 8.5.0(typescript@5.9.3) + '@solana/instructions': 8.5.0(typescript@5.9.3) + '@solana/plugin-interfaces': 8.5.0(typescript@5.9.3) + '@solana/rpc-api': 8.5.0(typescript@5.9.3) + '@solana/signers': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/programs@8.3.0(typescript@5.9.3)': + '@solana/programs@8.5.0(typescript@5.9.3)': dependencies: - '@solana/addresses': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) + '@solana/addresses': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/promises@8.3.0(typescript@5.9.3)': + '@solana/promises@8.5.0(typescript@5.9.3)': optionalDependencies: typescript: 5.9.3 - '@solana/rpc-api@8.3.0(typescript@5.9.3)': - dependencies: - '@solana/addresses': 8.3.0(typescript@5.9.3) - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/codecs-strings': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/keys': 8.3.0(typescript@5.9.3) - '@solana/rpc-parsed-types': 8.3.0(typescript@5.9.3) - '@solana/rpc-spec': 8.3.0(typescript@5.9.3) - '@solana/rpc-transformers': 8.3.0(typescript@5.9.3) - '@solana/rpc-types': 8.3.0(typescript@5.9.3) - '@solana/transaction-messages': 8.3.0(typescript@5.9.3) - '@solana/transactions': 8.3.0(typescript@5.9.3) + '@solana/rpc-api@8.5.0(typescript@5.9.3)': + dependencies: + '@solana/addresses': 8.5.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/codecs-strings': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/keys': 8.5.0(typescript@5.9.3) + '@solana/rpc-parsed-types': 8.5.0(typescript@5.9.3) + '@solana/rpc-spec': 8.5.0(typescript@5.9.3) + '@solana/rpc-transformers': 8.5.0(typescript@5.9.3) + '@solana/rpc-types': 8.5.0(typescript@5.9.3) + '@solana/transaction-messages': 8.5.0(typescript@5.9.3) + '@solana/transactions': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/rpc-parsed-types@8.3.0(typescript@5.9.3)': + '@solana/rpc-parsed-types@8.5.0(typescript@5.9.3)': optionalDependencies: typescript: 5.9.3 - '@solana/rpc-spec-types@8.3.0(typescript@5.9.3)': + '@solana/rpc-spec-types@8.5.0(typescript@5.9.3)': dependencies: - '@solana/errors': 8.3.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 - '@solana/rpc-spec@8.3.0(typescript@5.9.3)': + '@solana/rpc-spec@8.5.0(typescript@5.9.3)': dependencies: - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/rpc-spec-types': 8.3.0(typescript@5.9.3) - '@solana/subscribable': 8.3.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/rpc-spec-types': 8.5.0(typescript@5.9.3) + '@solana/subscribable': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 - '@solana/rpc-subscriptions-api@8.3.0(typescript@5.9.3)': + '@solana/rpc-subscriptions-api@8.5.0(typescript@5.9.3)': dependencies: - '@solana/addresses': 8.3.0(typescript@5.9.3) - '@solana/keys': 8.3.0(typescript@5.9.3) - '@solana/rpc-subscriptions-spec': 8.3.0(typescript@5.9.3) - '@solana/rpc-transformers': 8.3.0(typescript@5.9.3) - '@solana/rpc-types': 8.3.0(typescript@5.9.3) - '@solana/transaction-messages': 8.3.0(typescript@5.9.3) - '@solana/transactions': 8.3.0(typescript@5.9.3) + '@solana/addresses': 8.5.0(typescript@5.9.3) + '@solana/keys': 8.5.0(typescript@5.9.3) + '@solana/rpc-subscriptions-spec': 8.5.0(typescript@5.9.3) + '@solana/rpc-transformers': 8.5.0(typescript@5.9.3) + '@solana/rpc-types': 8.5.0(typescript@5.9.3) + '@solana/transaction-messages': 8.5.0(typescript@5.9.3) + '@solana/transactions': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/rpc-subscriptions-channel-websocket@8.3.0(typescript@5.9.3)': + '@solana/rpc-subscriptions-channel-websocket@8.5.0(typescript@5.9.3)': dependencies: - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/functional': 8.3.0(typescript@5.9.3) - '@solana/rpc-subscriptions-spec': 8.3.0(typescript@5.9.3) - '@solana/subscribable': 8.3.0(typescript@5.9.3) - ws: 8.21.3 + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/functional': 8.5.0(typescript@5.9.3) + '@solana/rpc-subscriptions-spec': 8.5.0(typescript@5.9.3) + '@solana/subscribable': 8.5.0(typescript@5.9.3) + ws: 8.22.0 optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - bufferutil - utf-8-validate - '@solana/rpc-subscriptions-spec@8.3.0(typescript@5.9.3)': + '@solana/rpc-subscriptions-spec@8.5.0(typescript@5.9.3)': dependencies: - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/promises': 8.3.0(typescript@5.9.3) - '@solana/rpc-spec-types': 8.3.0(typescript@5.9.3) - '@solana/subscribable': 8.3.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/promises': 8.5.0(typescript@5.9.3) + '@solana/rpc-spec-types': 8.5.0(typescript@5.9.3) + '@solana/subscribable': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 - '@solana/rpc-subscriptions@8.3.0(typescript@5.9.3)': - dependencies: - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/fast-stable-stringify': 8.3.0(typescript@5.9.3) - '@solana/functional': 8.3.0(typescript@5.9.3) - '@solana/promises': 8.3.0(typescript@5.9.3) - '@solana/rpc-spec-types': 8.3.0(typescript@5.9.3) - '@solana/rpc-subscriptions-api': 8.3.0(typescript@5.9.3) - '@solana/rpc-subscriptions-channel-websocket': 8.3.0(typescript@5.9.3) - '@solana/rpc-subscriptions-spec': 8.3.0(typescript@5.9.3) - '@solana/rpc-transformers': 8.3.0(typescript@5.9.3) - '@solana/rpc-types': 8.3.0(typescript@5.9.3) - '@solana/subscribable': 8.3.0(typescript@5.9.3) + '@solana/rpc-subscriptions@8.5.0(typescript@5.9.3)': + dependencies: + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/fast-stable-stringify': 8.5.0(typescript@5.9.3) + '@solana/functional': 8.5.0(typescript@5.9.3) + '@solana/promises': 8.5.0(typescript@5.9.3) + '@solana/rpc-spec-types': 8.5.0(typescript@5.9.3) + '@solana/rpc-subscriptions-api': 8.5.0(typescript@5.9.3) + '@solana/rpc-subscriptions-channel-websocket': 8.5.0(typescript@5.9.3) + '@solana/rpc-subscriptions-spec': 8.5.0(typescript@5.9.3) + '@solana/rpc-transformers': 8.5.0(typescript@5.9.3) + '@solana/rpc-types': 8.5.0(typescript@5.9.3) + '@solana/subscribable': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: @@ -2656,105 +2656,105 @@ snapshots: - fastestsmallesttextencoderdecoder - utf-8-validate - '@solana/rpc-transformers@8.3.0(typescript@5.9.3)': + '@solana/rpc-transformers@8.5.0(typescript@5.9.3)': dependencies: - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/functional': 8.3.0(typescript@5.9.3) - '@solana/nominal-types': 8.3.0(typescript@5.9.3) - '@solana/rpc-spec-types': 8.3.0(typescript@5.9.3) - '@solana/rpc-types': 8.3.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/functional': 8.5.0(typescript@5.9.3) + '@solana/nominal-types': 8.5.0(typescript@5.9.3) + '@solana/rpc-spec-types': 8.5.0(typescript@5.9.3) + '@solana/rpc-types': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/rpc-transport-http@8.3.0(typescript@5.9.3)': + '@solana/rpc-transport-http@8.5.0(typescript@5.9.3)': dependencies: - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/rpc-spec': 8.3.0(typescript@5.9.3) - '@solana/rpc-spec-types': 8.3.0(typescript@5.9.3) - undici-types: 8.10.2 + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/rpc-spec': 8.5.0(typescript@5.9.3) + '@solana/rpc-spec-types': 8.5.0(typescript@5.9.3) + undici-types: 8.12.2 optionalDependencies: typescript: 5.9.3 - '@solana/rpc-types@8.3.0(typescript@5.9.3)': + '@solana/rpc-types@8.5.0(typescript@5.9.3)': dependencies: - '@solana/addresses': 8.3.0(typescript@5.9.3) - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/codecs-numbers': 8.3.0(typescript@5.9.3) - '@solana/codecs-strings': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/fixed-points': 8.3.0(typescript@5.9.3) - '@solana/nominal-types': 8.3.0(typescript@5.9.3) + '@solana/addresses': 8.5.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/codecs-numbers': 8.5.0(typescript@5.9.3) + '@solana/codecs-strings': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/fixed-points': 8.5.0(typescript@5.9.3) + '@solana/nominal-types': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/rpc@8.3.0(typescript@5.9.3)': - dependencies: - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/fast-stable-stringify': 8.3.0(typescript@5.9.3) - '@solana/functional': 8.3.0(typescript@5.9.3) - '@solana/rpc-api': 8.3.0(typescript@5.9.3) - '@solana/rpc-spec': 8.3.0(typescript@5.9.3) - '@solana/rpc-spec-types': 8.3.0(typescript@5.9.3) - '@solana/rpc-transformers': 8.3.0(typescript@5.9.3) - '@solana/rpc-transport-http': 8.3.0(typescript@5.9.3) - '@solana/rpc-types': 8.3.0(typescript@5.9.3) + '@solana/rpc@8.5.0(typescript@5.9.3)': + dependencies: + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/fast-stable-stringify': 8.5.0(typescript@5.9.3) + '@solana/functional': 8.5.0(typescript@5.9.3) + '@solana/rpc-api': 8.5.0(typescript@5.9.3) + '@solana/rpc-spec': 8.5.0(typescript@5.9.3) + '@solana/rpc-spec-types': 8.5.0(typescript@5.9.3) + '@solana/rpc-transformers': 8.5.0(typescript@5.9.3) + '@solana/rpc-transport-http': 8.5.0(typescript@5.9.3) + '@solana/rpc-types': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/signers@8.3.0(typescript@5.9.3)': - dependencies: - '@solana/addresses': 8.3.0(typescript@5.9.3) - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/instructions': 8.3.0(typescript@5.9.3) - '@solana/keys': 8.3.0(typescript@5.9.3) - '@solana/nominal-types': 8.3.0(typescript@5.9.3) - '@solana/offchain-messages': 8.3.0(typescript@5.9.3) - '@solana/transaction-messages': 8.3.0(typescript@5.9.3) - '@solana/transactions': 8.3.0(typescript@5.9.3) + '@solana/signers@8.5.0(typescript@5.9.3)': + dependencies: + '@solana/addresses': 8.5.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/instructions': 8.5.0(typescript@5.9.3) + '@solana/keys': 8.5.0(typescript@5.9.3) + '@solana/nominal-types': 8.5.0(typescript@5.9.3) + '@solana/offchain-messages': 8.5.0(typescript@5.9.3) + '@solana/transaction-messages': 8.5.0(typescript@5.9.3) + '@solana/transactions': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/subscribable@8.3.0(typescript@5.9.3)': + '@solana/subscribable@8.5.0(typescript@5.9.3)': dependencies: - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/promises': 8.3.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/promises': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 - '@solana/sysvars@8.3.0(typescript@5.9.3)': + '@solana/sysvars@8.5.0(typescript@5.9.3)': dependencies: - '@solana/accounts': 8.3.0(typescript@5.9.3) - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/codecs-data-structures': 8.3.0(typescript@5.9.3) - '@solana/codecs-numbers': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/rpc-types': 8.3.0(typescript@5.9.3) + '@solana/accounts': 8.5.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/codecs-data-structures': 8.5.0(typescript@5.9.3) + '@solana/codecs-numbers': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/rpc-types': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/transaction-confirmation@8.3.0(typescript@5.9.3)': - dependencies: - '@solana/addresses': 8.3.0(typescript@5.9.3) - '@solana/codecs-strings': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/keys': 8.3.0(typescript@5.9.3) - '@solana/promises': 8.3.0(typescript@5.9.3) - '@solana/rpc': 8.3.0(typescript@5.9.3) - '@solana/rpc-subscriptions': 8.3.0(typescript@5.9.3) - '@solana/rpc-types': 8.3.0(typescript@5.9.3) - '@solana/transaction-messages': 8.3.0(typescript@5.9.3) - '@solana/transactions': 8.3.0(typescript@5.9.3) + '@solana/transaction-confirmation@8.5.0(typescript@5.9.3)': + dependencies: + '@solana/addresses': 8.5.0(typescript@5.9.3) + '@solana/codecs-strings': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/keys': 8.5.0(typescript@5.9.3) + '@solana/promises': 8.5.0(typescript@5.9.3) + '@solana/rpc': 8.5.0(typescript@5.9.3) + '@solana/rpc-subscriptions': 8.5.0(typescript@5.9.3) + '@solana/rpc-types': 8.5.0(typescript@5.9.3) + '@solana/transaction-messages': 8.5.0(typescript@5.9.3) + '@solana/transactions': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: @@ -2762,51 +2762,51 @@ snapshots: - fastestsmallesttextencoderdecoder - utf-8-validate - '@solana/transaction-introspection@8.3.0(typescript@5.9.3)': + '@solana/transaction-introspection@8.5.0(typescript@5.9.3)': dependencies: - '@solana/addresses': 8.3.0(typescript@5.9.3) - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/codecs-strings': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/instructions': 8.3.0(typescript@5.9.3) - '@solana/rpc-types': 8.3.0(typescript@5.9.3) - '@solana/transaction-messages': 8.3.0(typescript@5.9.3) - '@solana/transactions': 8.3.0(typescript@5.9.3) + '@solana/addresses': 8.5.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/codecs-strings': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/instructions': 8.5.0(typescript@5.9.3) + '@solana/rpc-types': 8.5.0(typescript@5.9.3) + '@solana/transaction-messages': 8.5.0(typescript@5.9.3) + '@solana/transactions': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/transaction-messages@8.3.0(typescript@5.9.3)': - dependencies: - '@solana/addresses': 8.3.0(typescript@5.9.3) - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/codecs-data-structures': 8.3.0(typescript@5.9.3) - '@solana/codecs-numbers': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/functional': 8.3.0(typescript@5.9.3) - '@solana/instructions': 8.3.0(typescript@5.9.3) - '@solana/nominal-types': 8.3.0(typescript@5.9.3) - '@solana/rpc-types': 8.3.0(typescript@5.9.3) + '@solana/transaction-messages@8.5.0(typescript@5.9.3)': + dependencies: + '@solana/addresses': 8.5.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/codecs-data-structures': 8.5.0(typescript@5.9.3) + '@solana/codecs-numbers': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/functional': 8.5.0(typescript@5.9.3) + '@solana/instructions': 8.5.0(typescript@5.9.3) + '@solana/nominal-types': 8.5.0(typescript@5.9.3) + '@solana/rpc-types': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/transactions@8.3.0(typescript@5.9.3)': - dependencies: - '@solana/addresses': 8.3.0(typescript@5.9.3) - '@solana/codecs-core': 8.3.0(typescript@5.9.3) - '@solana/codecs-data-structures': 8.3.0(typescript@5.9.3) - '@solana/codecs-numbers': 8.3.0(typescript@5.9.3) - '@solana/codecs-strings': 8.3.0(typescript@5.9.3) - '@solana/errors': 8.3.0(typescript@5.9.3) - '@solana/functional': 8.3.0(typescript@5.9.3) - '@solana/instructions': 8.3.0(typescript@5.9.3) - '@solana/keys': 8.3.0(typescript@5.9.3) - '@solana/nominal-types': 8.3.0(typescript@5.9.3) - '@solana/rpc-types': 8.3.0(typescript@5.9.3) - '@solana/transaction-messages': 8.3.0(typescript@5.9.3) + '@solana/transactions@8.5.0(typescript@5.9.3)': + dependencies: + '@solana/addresses': 8.5.0(typescript@5.9.3) + '@solana/codecs-core': 8.5.0(typescript@5.9.3) + '@solana/codecs-data-structures': 8.5.0(typescript@5.9.3) + '@solana/codecs-numbers': 8.5.0(typescript@5.9.3) + '@solana/codecs-strings': 8.5.0(typescript@5.9.3) + '@solana/errors': 8.5.0(typescript@5.9.3) + '@solana/functional': 8.5.0(typescript@5.9.3) + '@solana/instructions': 8.5.0(typescript@5.9.3) + '@solana/keys': 8.5.0(typescript@5.9.3) + '@solana/nominal-types': 8.5.0(typescript@5.9.3) + '@solana/rpc-types': 8.5.0(typescript@5.9.3) + '@solana/transaction-messages': 8.5.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: @@ -2823,58 +2823,58 @@ snapshots: '@types/estree@1.0.9': {} - '@types/node@24.13.6': + '@types/node@24.19.2': dependencies: - undici-types: 7.18.2 + undici-types: 7.24.6 '@types/pako@2.0.4': {} - '@vitest/expect@4.1.11': + '@vitest/expect@4.1.12': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.3 - '@vitest/spy': 4.1.11 - '@vitest/utils': 4.1.11 - chai: 6.2.2 - tinyrainbow: 3.1.1 + '@vitest/spy': 4.1.12 + '@vitest/utils': 4.1.12 + chai: 6.3.0 + tinyrainbow: 3.2.0 - '@vitest/mocker@4.1.11(vite@8.3.0(@types/node@24.13.6)(esbuild@0.27.7)(yaml@2.9.1))': + '@vitest/mocker@4.1.12(vite@8.3.4(@types/node@24.19.2)(esbuild@0.27.7)(yaml@2.9.1))': dependencies: - '@vitest/spy': 4.1.11 + '@vitest/spy': 4.1.12 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.3.0(@types/node@24.13.6)(esbuild@0.27.7)(yaml@2.9.1) + vite: 8.3.4(@types/node@24.19.2)(esbuild@0.27.7)(yaml@2.9.1) - '@vitest/pretty-format@4.1.11': + '@vitest/pretty-format@4.1.12': dependencies: - tinyrainbow: 3.1.1 + tinyrainbow: 3.2.0 - '@vitest/runner@4.1.11': + '@vitest/runner@4.1.12': dependencies: - '@vitest/utils': 4.1.11 + '@vitest/utils': 4.1.12 pathe: 2.0.3 - '@vitest/snapshot@4.1.11': + '@vitest/snapshot@4.1.12': dependencies: - '@vitest/pretty-format': 4.1.11 - '@vitest/utils': 4.1.11 + '@vitest/pretty-format': 4.1.12 + '@vitest/utils': 4.1.12 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.1.11': {} + '@vitest/spy@4.1.12': {} - '@vitest/utils@4.1.11': + '@vitest/utils@4.1.12': dependencies: - '@vitest/pretty-format': 4.1.11 + '@vitest/pretty-format': 4.1.12 convert-source-map: 2.0.0 - tinyrainbow: 3.1.1 + tinyrainbow: 3.2.0 - acorn@8.18.0: {} + acorn@8.19.0: {} ansi-regex@5.0.1: {} - ansi-regex@6.3.0: {} + ansi-regex@6.4.0: {} ansi-sequence-parser@1.1.3: {} @@ -2901,7 +2901,7 @@ snapshots: cac@6.7.14: {} - chai@6.2.2: {} + chai@6.3.0: {} chalk@5.6.2: {} @@ -2990,7 +2990,7 @@ snapshots: dependencies: magic-string: 0.30.21 mlly: 1.8.2 - rollup: 4.63.4 + rollup: 4.64.7 foreground-child@3.3.1: dependencies: @@ -3076,36 +3076,36 @@ snapshots: lines-and-columns@1.2.4: {} - litesvm-darwin-arm64@1.4.1: + litesvm-darwin-arm64@1.6.0: optional: true - litesvm-darwin-x64@1.4.1: + litesvm-darwin-x64@1.6.0: optional: true - litesvm-linux-arm64-gnu@1.4.1: + litesvm-linux-arm64-gnu@1.6.0: optional: true - litesvm-linux-arm64-musl@1.4.1: + litesvm-linux-arm64-musl@1.6.0: optional: true - litesvm-linux-x64-gnu@1.4.1: + litesvm-linux-x64-gnu@1.6.0: optional: true - litesvm-linux-x64-musl@1.4.1: + litesvm-linux-x64-musl@1.6.0: optional: true - litesvm@1.4.1(typescript@5.9.3): + litesvm@1.6.0(typescript@5.9.3): dependencies: - '@solana-program/system': 0.14.1(@solana/kit@8.3.0(typescript@5.9.3)) - '@solana-program/token': 0.16.1(@solana/kit@8.3.0(typescript@5.9.3)) - '@solana/kit': 8.3.0(typescript@5.9.3) + '@solana-program/system': 0.14.1(@solana/kit@8.5.0(typescript@5.9.3)) + '@solana-program/token': 0.16.1(@solana/kit@8.5.0(typescript@5.9.3)) + '@solana/kit': 8.5.0(typescript@5.9.3) optionalDependencies: - litesvm-darwin-arm64: 1.4.1 - litesvm-darwin-x64: 1.4.1 - litesvm-linux-arm64-gnu: 1.4.1 - litesvm-linux-arm64-musl: 1.4.1 - litesvm-linux-x64-gnu: 1.4.1 - litesvm-linux-x64-musl: 1.4.1 + litesvm-darwin-arm64: 1.6.0 + litesvm-darwin-x64: 1.6.0 + litesvm-linux-arm64-gnu: 1.6.0 + litesvm-linux-arm64-musl: 1.6.0 + litesvm-linux-x64-gnu: 1.6.0 + litesvm-linux-x64-musl: 1.6.0 transitivePeerDependencies: - bufferutil - fastestsmallesttextencoderdecoder @@ -3132,7 +3132,7 @@ snapshots: mlly@1.8.2: dependencies: - acorn: 8.18.0 + acorn: 8.19.0 pathe: 2.0.3 pkg-types: 1.3.1 ufo: 1.6.4 @@ -3145,7 +3145,7 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nanoid@3.3.19: {} + nanoid@3.3.20: {} object-assign@4.1.1: {} @@ -3184,27 +3184,27 @@ snapshots: '@oxlint-tsgolint/win32-arm64': 0.23.0 '@oxlint-tsgolint/win32-x64': 0.23.0 - oxlint@1.83.0(oxlint-tsgolint@0.23.0): + oxlint@1.88.0(oxlint-tsgolint@0.23.0): optionalDependencies: - '@oxlint/binding-android-arm-eabi': 1.83.0 - '@oxlint/binding-android-arm64': 1.83.0 - '@oxlint/binding-darwin-arm64': 1.83.0 - '@oxlint/binding-darwin-x64': 1.83.0 - '@oxlint/binding-freebsd-x64': 1.83.0 - '@oxlint/binding-linux-arm-gnueabihf': 1.83.0 - '@oxlint/binding-linux-arm-musleabihf': 1.83.0 - '@oxlint/binding-linux-arm64-gnu': 1.83.0 - '@oxlint/binding-linux-arm64-musl': 1.83.0 - '@oxlint/binding-linux-ppc64-gnu': 1.83.0 - '@oxlint/binding-linux-riscv64-gnu': 1.83.0 - '@oxlint/binding-linux-riscv64-musl': 1.83.0 - '@oxlint/binding-linux-s390x-gnu': 1.83.0 - '@oxlint/binding-linux-x64-gnu': 1.83.0 - '@oxlint/binding-linux-x64-musl': 1.83.0 - '@oxlint/binding-openharmony-arm64': 1.83.0 - '@oxlint/binding-win32-arm64-msvc': 1.83.0 - '@oxlint/binding-win32-ia32-msvc': 1.83.0 - '@oxlint/binding-win32-x64-msvc': 1.83.0 + '@oxlint/binding-android-arm-eabi': 1.88.0 + '@oxlint/binding-android-arm64': 1.88.0 + '@oxlint/binding-darwin-arm64': 1.88.0 + '@oxlint/binding-darwin-x64': 1.88.0 + '@oxlint/binding-freebsd-x64': 1.88.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.88.0 + '@oxlint/binding-linux-arm-musleabihf': 1.88.0 + '@oxlint/binding-linux-arm64-gnu': 1.88.0 + '@oxlint/binding-linux-arm64-musl': 1.88.0 + '@oxlint/binding-linux-ppc64-gnu': 1.88.0 + '@oxlint/binding-linux-riscv64-gnu': 1.88.0 + '@oxlint/binding-linux-riscv64-musl': 1.88.0 + '@oxlint/binding-linux-s390x-gnu': 1.88.0 + '@oxlint/binding-linux-x64-gnu': 1.88.0 + '@oxlint/binding-linux-x64-musl': 1.88.0 + '@oxlint/binding-openharmony-arm64': 1.88.0 + '@oxlint/binding-win32-arm64-msvc': 1.88.0 + '@oxlint/binding-win32-ia32-msvc': 1.88.0 + '@oxlint/binding-win32-x64-msvc': 1.88.0 oxlint-tsgolint: 0.23.0 package-json-from-dist@1.0.1: {} @@ -3232,18 +3232,18 @@ snapshots: mlly: 1.8.2 pathe: 2.0.3 - postcss-load-config@6.0.1(postcss@8.5.28)(yaml@2.9.1): + postcss-load-config@6.0.1(postcss@8.5.30)(yaml@2.9.1): dependencies: lilconfig: 3.1.3 optionalDependencies: - postcss: 8.5.28 + postcss: 8.5.30 yaml: 2.9.1 - postcss@8.5.28: + postcss@8.5.30: dependencies: - nanoid: 3.3.19 + nanoid: 3.3.20 picocolors: 1.1.1 - source-map-js: 1.2.1 + source-map-js: 1.2.2 readdirp@4.1.2: {} @@ -3253,57 +3253,57 @@ snapshots: dependencies: glob: 10.5.0 - rolldown@1.2.9: + rolldown@1.2.14: dependencies: - '@oxc-project/types': 0.150.0 + '@oxc-project/types': 0.154.0 '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm-eabi': 1.2.9 - '@rolldown/binding-android-arm64': 1.2.9 - '@rolldown/binding-darwin-arm64': 1.2.9 - '@rolldown/binding-darwin-x64': 1.2.9 - '@rolldown/binding-freebsd-x64': 1.2.9 - '@rolldown/binding-linux-arm-gnueabihf': 1.2.9 - '@rolldown/binding-linux-arm64-gnu': 1.2.9 - '@rolldown/binding-linux-arm64-musl': 1.2.9 - '@rolldown/binding-linux-ppc64-gnu': 1.2.9 - '@rolldown/binding-linux-s390x-gnu': 1.2.9 - '@rolldown/binding-linux-x64-gnu': 1.2.9 - '@rolldown/binding-linux-x64-musl': 1.2.9 - '@rolldown/binding-openharmony-arm64': 1.2.9 - '@rolldown/binding-win32-arm64-msvc': 1.2.9 - '@rolldown/binding-win32-x64-msvc': 1.2.9 - - rollup@4.63.4: + '@rolldown/binding-android-arm-eabi': 1.2.14 + '@rolldown/binding-android-arm64': 1.2.14 + '@rolldown/binding-darwin-arm64': 1.2.14 + '@rolldown/binding-darwin-x64': 1.2.14 + '@rolldown/binding-freebsd-x64': 1.2.14 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.14 + '@rolldown/binding-linux-arm64-gnu': 1.2.14 + '@rolldown/binding-linux-arm64-musl': 1.2.14 + '@rolldown/binding-linux-ppc64-gnu': 1.2.14 + '@rolldown/binding-linux-s390x-gnu': 1.2.14 + '@rolldown/binding-linux-x64-gnu': 1.2.14 + '@rolldown/binding-linux-x64-musl': 1.2.14 + '@rolldown/binding-openharmony-arm64': 1.2.14 + '@rolldown/binding-win32-arm64-msvc': 1.2.14 + '@rolldown/binding-win32-x64-msvc': 1.2.14 + + rollup@4.64.7: dependencies: '@types/estree': 1.0.9 optionalDependencies: '@napi-rs/lzma-linux-x64-gnu': 1.5.1 - '@rollup/rollup-android-arm-eabi': 4.63.4 - '@rollup/rollup-android-arm64': 4.63.4 - '@rollup/rollup-darwin-arm64': 4.63.4 - '@rollup/rollup-darwin-x64': 4.63.4 - '@rollup/rollup-freebsd-arm64': 4.63.4 - '@rollup/rollup-freebsd-x64': 4.63.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.63.4 - '@rollup/rollup-linux-arm-musleabihf': 4.63.4 - '@rollup/rollup-linux-arm64-gnu': 4.63.4 - '@rollup/rollup-linux-arm64-musl': 4.63.4 - '@rollup/rollup-linux-loong64-gnu': 4.63.4 - '@rollup/rollup-linux-loong64-musl': 4.63.4 - '@rollup/rollup-linux-ppc64-gnu': 4.63.4 - '@rollup/rollup-linux-ppc64-musl': 4.63.4 - '@rollup/rollup-linux-riscv64-gnu': 4.63.4 - '@rollup/rollup-linux-riscv64-musl': 4.63.4 - '@rollup/rollup-linux-s390x-gnu': 4.63.4 - '@rollup/rollup-linux-x64-gnu': 4.63.4 - '@rollup/rollup-linux-x64-musl': 4.63.4 - '@rollup/rollup-openbsd-x64': 4.63.4 - '@rollup/rollup-openharmony-arm64': 4.63.4 - '@rollup/rollup-win32-arm64-msvc': 4.63.4 - '@rollup/rollup-win32-ia32-msvc': 4.63.4 - '@rollup/rollup-win32-x64-gnu': 4.63.4 - '@rollup/rollup-win32-x64-msvc': 4.63.4 + '@rollup/rollup-android-arm-eabi': 4.64.7 + '@rollup/rollup-android-arm64': 4.64.7 + '@rollup/rollup-darwin-arm64': 4.64.7 + '@rollup/rollup-darwin-x64': 4.64.7 + '@rollup/rollup-freebsd-arm64': 4.64.7 + '@rollup/rollup-freebsd-x64': 4.64.7 + '@rollup/rollup-linux-arm-gnueabihf': 4.64.7 + '@rollup/rollup-linux-arm-musleabihf': 4.64.7 + '@rollup/rollup-linux-arm64-gnu': 4.64.7 + '@rollup/rollup-linux-arm64-musl': 4.64.7 + '@rollup/rollup-linux-loong64-gnu': 4.64.7 + '@rollup/rollup-linux-loong64-musl': 4.64.7 + '@rollup/rollup-linux-ppc64-gnu': 4.64.7 + '@rollup/rollup-linux-ppc64-musl': 4.64.7 + '@rollup/rollup-linux-riscv64-gnu': 4.64.7 + '@rollup/rollup-linux-riscv64-musl': 4.64.7 + '@rollup/rollup-linux-s390x-gnu': 4.64.7 + '@rollup/rollup-linux-x64-gnu': 4.64.7 + '@rollup/rollup-linux-x64-musl': 4.64.7 + '@rollup/rollup-openbsd-x64': 4.64.7 + '@rollup/rollup-openharmony-arm64': 4.64.7 + '@rollup/rollup-win32-arm64-msvc': 4.64.7 + '@rollup/rollup-win32-ia32-msvc': 4.64.7 + '@rollup/rollup-win32-x64-gnu': 4.64.7 + '@rollup/rollup-win32-x64-msvc': 4.64.7 fsevents: 2.3.3 shebang-command@2.0.0: @@ -3323,15 +3323,15 @@ snapshots: signal-exit@4.1.0: {} - smol-toml@1.8.0: {} + smol-toml@1.9.1: {} - source-map-js@1.2.1: {} + source-map-js@1.2.2: {} source-map@0.7.6: {} stackback@0.0.2: {} - std-env@4.2.0: {} + std-env@4.3.0: {} string-width@4.2.3: dependencies: @@ -3351,7 +3351,7 @@ snapshots: strip-ansi@7.2.0: dependencies: - ansi-regex: 6.3.0 + ansi-regex: 6.4.0 sucrase@3.35.1: dependencies: @@ -3384,13 +3384,13 @@ snapshots: tinypool@2.1.0: {} - tinyrainbow@3.1.1: {} + tinyrainbow@3.2.0: {} tree-kill@1.2.2: {} ts-interface-checker@0.1.13: {} - tsup@8.5.1(postcss@8.5.28)(typescript@5.9.3)(yaml@2.9.1): + tsup@8.5.1(postcss@8.5.30)(typescript@5.9.3)(yaml@2.9.1): dependencies: bundle-require: 5.1.0(esbuild@0.27.7) cac: 6.7.14 @@ -3401,16 +3401,16 @@ snapshots: fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(postcss@8.5.28)(yaml@2.9.1) + postcss-load-config: 6.0.1(postcss@8.5.30)(yaml@2.9.1) resolve-from: 5.0.0 - rollup: 4.63.4 + rollup: 4.64.7 source-map: 0.7.6 sucrase: 3.35.1 tinyexec: 0.3.2 tinyglobby: 0.2.17 tree-kill: 1.2.2 optionalDependencies: - postcss: 8.5.28 + postcss: 8.5.30 typescript: 5.9.3 transitivePeerDependencies: - jiti @@ -3430,47 +3430,47 @@ snapshots: ufo@1.6.4: {} - undici-types@7.18.2: {} + undici-types@7.24.6: {} - undici-types@8.10.2: {} + undici-types@8.12.2: {} - vite@8.3.0(@types/node@24.13.6)(esbuild@0.27.7)(yaml@2.9.1): + vite@8.3.4(@types/node@24.19.2)(esbuild@0.27.7)(yaml@2.9.1): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 - postcss: 8.5.28 - rolldown: 1.2.9 + postcss: 8.5.30 + rolldown: 1.2.14 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 24.13.6 + '@types/node': 24.19.2 esbuild: 0.27.7 fsevents: 2.3.3 yaml: 2.9.1 - vitest@4.1.11(@types/node@24.13.6)(vite@8.3.0(@types/node@24.13.6)(esbuild@0.27.7)(yaml@2.9.1)): + vitest@4.1.12(@types/node@24.19.2)(vite@8.3.4(@types/node@24.19.2)(esbuild@0.27.7)(yaml@2.9.1)): dependencies: - '@vitest/expect': 4.1.11 - '@vitest/mocker': 4.1.11(vite@8.3.0(@types/node@24.13.6)(esbuild@0.27.7)(yaml@2.9.1)) - '@vitest/pretty-format': 4.1.11 - '@vitest/runner': 4.1.11 - '@vitest/snapshot': 4.1.11 - '@vitest/spy': 4.1.11 - '@vitest/utils': 4.1.11 + '@vitest/expect': 4.1.12 + '@vitest/mocker': 4.1.12(vite@8.3.4(@types/node@24.19.2)(esbuild@0.27.7)(yaml@2.9.1)) + '@vitest/pretty-format': 4.1.12 + '@vitest/runner': 4.1.12 + '@vitest/snapshot': 4.1.12 + '@vitest/spy': 4.1.12 + '@vitest/utils': 4.1.12 es-module-lexer: 2.3.2 expect-type: 1.4.0 magic-string: 0.30.21 obug: 2.2.1 pathe: 2.0.3 picomatch: 4.0.7 - std-env: 4.2.0 + std-env: 4.3.0 tinybench: 2.9.0 tinyexec: 1.3.1 tinyglobby: 0.2.17 - tinyrainbow: 3.1.1 - vite: 8.3.0(@types/node@24.13.6)(esbuild@0.27.7)(yaml@2.9.1) + tinyrainbow: 3.2.0 + vite: 8.3.4(@types/node@24.19.2)(esbuild@0.27.7)(yaml@2.9.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 24.13.6 + '@types/node': 24.19.2 transitivePeerDependencies: - msw @@ -3499,6 +3499,6 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.2.0 - ws@8.21.3: {} + ws@8.22.0: {} yaml@2.9.1: {} diff --git a/clients/js/src/createBuffer.ts b/clients/js/src/createBuffer.ts index ef1246a..b80daa6 100644 --- a/clients/js/src/createBuffer.ts +++ b/clients/js/src/createBuffer.ts @@ -3,6 +3,7 @@ import { Account, Address, ClientWithGetMinimumBalance, + HasAddress, parallelInstructionPlan, ReadonlyUint8Array, sequentialInstructionPlan, @@ -21,6 +22,7 @@ import { PROGRAM_METADATA_PROGRAM_ADDRESS, SeedArgs, } from './generated'; +import { getCloseDestination } from './internals'; import { getAccountSize, getExtendInstructionPlan, getWriteInstructionPlan, needsExtend } from './utils'; /** @@ -39,7 +41,7 @@ export async function getCreateBufferInstructionPlan( authority: InstructionSignerInput; payer: TransactionSigner; sourceBuffer?: Account; - closeSourceBuffer?: Address | boolean; + closeSourceBuffer?: Address | HasAddress | boolean; data?: ReadonlyUint8Array; }, ) { @@ -90,8 +92,7 @@ export async function getCreateBufferInstructionPlan( getCloseInstruction({ account: input.sourceBuffer.address, authority: input.authority, - destination: - typeof input.closeSourceBuffer === 'string' ? input.closeSourceBuffer : input.payer.address, + destination: getCloseDestination(input.closeSourceBuffer, input.payer.address), }), ] : []), @@ -112,13 +113,13 @@ export async function getCreateCanonicalBufferInstructionPlan( client: ClientWithGetMinimumBalance, input: { authority: TransactionSigner; - buffer?: Address; - closeBuffer?: Address | boolean; + buffer?: Address | HasAddress; + closeBuffer?: Address | HasAddress | boolean; data?: ReadonlyUint8Array; dataLength?: number; payer: TransactionSigner; - program: Address; - programData: Address; + program: Address | HasAddress; + programData: Address | HasAddress; seed: SeedArgs; singleExtendPerTransaction?: boolean; }, @@ -145,12 +146,12 @@ export async function getCreateNonCanonicalBufferInstructionPlan( client: ClientWithGetMinimumBalance, input: { authority: TransactionSigner; - buffer?: Address; - closeBuffer?: Address | boolean; + buffer?: Address | HasAddress; + closeBuffer?: Address | HasAddress | boolean; data?: ReadonlyUint8Array; dataLength?: number; payer: TransactionSigner; - program: Address; + program: Address | HasAddress; seed: SeedArgs; singleExtendPerTransaction?: boolean; }, @@ -171,13 +172,13 @@ async function getPdaBufferInstructionPlan( client: ClientWithGetMinimumBalance, input: { authority: TransactionSigner; - buffer: Address; - closeBuffer?: Address | boolean; + buffer: Address | HasAddress; + closeBuffer?: Address | HasAddress | boolean; data?: ReadonlyUint8Array; dataLength?: number; payer: TransactionSigner; - program: Address; - programData?: Address; + program: Address | HasAddress; + programData?: Address | HasAddress; seed: SeedArgs; singleExtendPerTransaction?: boolean; }, @@ -227,7 +228,7 @@ async function getPdaBufferInstructionPlan( authority: input.authority, program: input.program, programData: input.programData, - destination: typeof input.closeBuffer === 'string' ? input.closeBuffer : input.payer.address, + destination: getCloseDestination(input.closeBuffer, input.payer.address), }), ] : []), diff --git a/clients/js/src/createMetadata.ts b/clients/js/src/createMetadata.ts index d250f3d..f317add 100644 --- a/clients/js/src/createMetadata.ts +++ b/clients/js/src/createMetadata.ts @@ -7,6 +7,7 @@ import { ClientWithTransactionPlanning, ClientWithTransactionSending, GetAccountInfoApi, + HasAddress, InstructionPlan, parallelInstructionPlan, ReadonlyUint8Array, @@ -25,7 +26,7 @@ import { InitializeInput, PROGRAM_METADATA_PROGRAM_ADDRESS, } from './generated'; -import { isValidInstructionPlan } from './internals'; +import { getCloseDestination, isValidInstructionPlan } from './internals'; import { getAccountSize, getExtendInstructionPlan, @@ -66,7 +67,7 @@ export async function getCreateMetadataInstructionPlan( buffer?: Account; data?: ReadonlyUint8Array; payer: TransactionSigner; - closeBuffer?: Address | boolean; + closeBuffer?: Address | HasAddress | boolean; singleExtendPerTransaction?: boolean; }, ): Promise { @@ -164,10 +165,10 @@ export async function getCreateMetadataInstructionPlanUsingNewBuffer( export async function getCreateMetadataInstructionPlanUsingExistingBuffer( client: ClientWithGetMinimumBalance, input: Omit & { - buffer: Address; + buffer: Address | HasAddress; dataLength: number; payer: TransactionSigner; - closeBuffer?: Address | boolean; + closeBuffer?: Address | HasAddress | boolean; singleExtendPerTransaction?: boolean; }, ) { @@ -213,7 +214,7 @@ export async function getCreateMetadataInstructionPlanUsingExistingBuffer( getCloseInstruction({ account: input.buffer, authority: input.authority, - destination: typeof input.closeBuffer === 'string' ? input.closeBuffer : input.payer.address, + destination: getCloseDestination(input.closeBuffer, input.payer.address), }), ] : []), diff --git a/clients/js/src/fetchMetadataContent.ts b/clients/js/src/fetchMetadataContent.ts index ab440d0..4156690 100644 --- a/clients/js/src/fetchMetadataContent.ts +++ b/clients/js/src/fetchMetadataContent.ts @@ -1,4 +1,4 @@ -import { Address, assertAccountsExist, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from '@solana/kit'; +import { Address, assertAccountsExist, GetAccountInfoApi, GetMultipleAccountsApi, HasAddress, Rpc } from '@solana/kit'; import { parse as parseToml } from 'smol-toml'; import { parse as parseYaml } from 'yaml'; @@ -7,9 +7,9 @@ import { unpackAndFetchAllData, unpackAndFetchData } from './packData'; export async function fetchMetadataContent( rpc: Rpc, - program: Address, + program: Address | HasAddress, seed: SeedArgs, - authority: Address | null = null, + authority: Address | HasAddress | null = null, ): Promise { const account = await fetchMetadataFromSeeds(rpc, { program, @@ -20,9 +20,9 @@ export async function fetchMetadataContent( } type FetchAllMetadataContentInput = { - program: Address; + program: Address | HasAddress; seed: SeedArgs; - authority: Address | null; + authority: Address | HasAddress | null; }[]; export async function fetchAllMetadataContent( @@ -57,9 +57,9 @@ function parseContent(format: Format, content: string): unknown { export async function fetchAndParseMetadataContent( rpc: Rpc, - program: Address, + program: Address | HasAddress, seed: SeedArgs, - authority: Address | null = null, + authority: Address | HasAddress | null = null, ): Promise { const account = await fetchMetadataFromSeeds(rpc, { program, diff --git a/clients/js/src/generated/accounts/buffer.ts b/clients/js/src/generated/accounts/buffer.ts index d9a5a59..87c9114 100644 --- a/clients/js/src/generated/accounts/buffer.ts +++ b/clients/js/src/generated/accounts/buffer.ts @@ -34,6 +34,7 @@ import { type Encoder, type FetchAccountConfig, type FetchAccountsConfig, + type HasAddress, type MaybeAccount, type MaybeEncodedAccount, type Option, @@ -61,8 +62,8 @@ export type Buffer = { }; export type BufferArgs = { - program: OptionOrNullable
; - authority: OptionOrNullable
; + program: OptionOrNullable
; + authority: OptionOrNullable
; canonical: boolean; seed: SeedArgs; data: ReadonlyUint8Array; @@ -114,7 +115,7 @@ export function decodeBuffer( export async function fetchBuffer( rpc: Parameters[0], - address: Address, + address: Address | HasAddress, config?: FetchAccountConfig, ): Promise> { const maybeAccount = await fetchMaybeBuffer(rpc, address, config); @@ -124,16 +125,20 @@ export async function fetchBuffer( export async function fetchMaybeBuffer( rpc: Parameters[0], - address: Address, + address: Address | HasAddress, config?: FetchAccountConfig, ): Promise> { - const maybeAccount = await fetchEncodedAccount(rpc, address, config); + const maybeAccount = await fetchEncodedAccount( + rpc, + typeof address === 'string' ? address : address.address, + config, + ); return decodeBuffer(maybeAccount); } export async function fetchAllBuffer( rpc: Parameters[0], - addresses: Array
, + addresses: Array
, config?: FetchAccountsConfig, ): Promise[]> { const maybeAccounts = await fetchAllMaybeBuffer(rpc, addresses, config); @@ -143,17 +148,21 @@ export async function fetchAllBuffer( export async function fetchAllMaybeBuffer( rpc: Parameters[0], - addresses: Array
, + addresses: Array
, config?: FetchAccountsConfig, ): Promise[]> { - const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config); + const maybeAccounts = await fetchEncodedAccounts( + rpc, + addresses.map(a => (typeof a === 'string' ? a : a.address)), + config, + ); return maybeAccounts.map(maybeAccount => decodeBuffer(maybeAccount)); } export async function fetchBufferFromSeeds( rpc: Parameters[0], seeds: MetadataSeeds, - config: FetchAccountConfig & { programAddress?: Address } = {}, + config: FetchAccountConfig & { programAddress?: Address | HasAddress } = {}, ): Promise> { const maybeAccount = await fetchMaybeBufferFromSeeds(rpc, seeds, config); assertAccountExists(maybeAccount); @@ -163,7 +172,7 @@ export async function fetchBufferFromSeeds( export async function fetchMaybeBufferFromSeeds( rpc: Parameters[0], seeds: MetadataSeeds, - config: FetchAccountConfig & { programAddress?: Address } = {}, + config: FetchAccountConfig & { programAddress?: Address | HasAddress } = {}, ): Promise> { const { programAddress, ...fetchConfig } = config; const [address] = await findMetadataPda(seeds, { programAddress }); diff --git a/clients/js/src/generated/accounts/metadata.ts b/clients/js/src/generated/accounts/metadata.ts index 7b560b2..c2a9515 100644 --- a/clients/js/src/generated/accounts/metadata.ts +++ b/clients/js/src/generated/accounts/metadata.ts @@ -36,6 +36,7 @@ import { type Encoder, type FetchAccountConfig, type FetchAccountsConfig, + type HasAddress, type MaybeAccount, type MaybeEncodedAccount, type Option, @@ -85,8 +86,8 @@ export type Metadata = { }; export type MetadataArgs = { - program: Address; - authority: OptionOrNullable
; + program: Address | HasAddress; + authority: OptionOrNullable
; mutable: boolean; canonical: boolean; seed: SeedArgs; @@ -156,7 +157,7 @@ export function decodeMetadata( export async function fetchMetadata( rpc: Parameters[0], - address: Address, + address: Address | HasAddress, config?: FetchAccountConfig, ): Promise> { const maybeAccount = await fetchMaybeMetadata(rpc, address, config); @@ -166,16 +167,20 @@ export async function fetchMetadata( export async function fetchMaybeMetadata( rpc: Parameters[0], - address: Address, + address: Address | HasAddress, config?: FetchAccountConfig, ): Promise> { - const maybeAccount = await fetchEncodedAccount(rpc, address, config); + const maybeAccount = await fetchEncodedAccount( + rpc, + typeof address === 'string' ? address : address.address, + config, + ); return decodeMetadata(maybeAccount); } export async function fetchAllMetadata( rpc: Parameters[0], - addresses: Array
, + addresses: Array
, config?: FetchAccountsConfig, ): Promise[]> { const maybeAccounts = await fetchAllMaybeMetadata(rpc, addresses, config); @@ -185,17 +190,21 @@ export async function fetchAllMetadata( export async function fetchAllMaybeMetadata( rpc: Parameters[0], - addresses: Array
, + addresses: Array
, config?: FetchAccountsConfig, ): Promise[]> { - const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config); + const maybeAccounts = await fetchEncodedAccounts( + rpc, + addresses.map(a => (typeof a === 'string' ? a : a.address)), + config, + ); return maybeAccounts.map(maybeAccount => decodeMetadata(maybeAccount)); } export async function fetchMetadataFromSeeds( rpc: Parameters[0], seeds: MetadataSeeds, - config: FetchAccountConfig & { programAddress?: Address } = {}, + config: FetchAccountConfig & { programAddress?: Address | HasAddress } = {}, ): Promise> { const maybeAccount = await fetchMaybeMetadataFromSeeds(rpc, seeds, config); assertAccountExists(maybeAccount); @@ -205,7 +214,7 @@ export async function fetchMetadataFromSeeds( export async function fetchMaybeMetadataFromSeeds( rpc: Parameters[0], seeds: MetadataSeeds, - config: FetchAccountConfig & { programAddress?: Address } = {}, + config: FetchAccountConfig & { programAddress?: Address | HasAddress } = {}, ): Promise> { const { programAddress, ...fetchConfig } = config; const [address] = await findMetadataPda(seeds, { programAddress }); diff --git a/clients/js/src/generated/errors/programMetadata.ts b/clients/js/src/generated/errors/programMetadata.ts index 2e9f1a5..0714813 100644 --- a/clients/js/src/generated/errors/programMetadata.ts +++ b/clients/js/src/generated/errors/programMetadata.ts @@ -9,6 +9,7 @@ import { isProgramError, type Address, + type HasAddress, type SOLANA_ERROR__INSTRUCTION_ERROR__CUSTOM, type SolanaError, } from '@solana/kit'; @@ -55,7 +56,10 @@ export function isProgramMetadataError }, code?: TProgramErrorCode, + config: { programAddress?: Address | HasAddress } = {}, ): error is SolanaError & Readonly<{ context: Readonly<{ code: TProgramErrorCode }> }> { - return isProgramError(error, transactionMessage, PROGRAM_METADATA_PROGRAM_ADDRESS, code); + const programAddressInput = config.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address; + return isProgramError(error, transactionMessage, programAddress, code); } diff --git a/clients/js/src/generated/instructions/allocate.ts b/clients/js/src/generated/instructions/allocate.ts index 090641f..d335c83 100644 --- a/clients/js/src/generated/instructions/allocate.ts +++ b/clients/js/src/generated/instructions/allocate.ts @@ -135,7 +135,7 @@ export function getAllocateInstruction< TProgramAddress extends Address = typeof PROGRAM_METADATA_PROGRAM_ADDRESS, >( input: AllocateInput, - config?: { programAddress?: TProgramAddress }, + config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } }, ): AllocateInstruction< TProgramAddress, ResolvedInstructionAccountMeta>, @@ -145,7 +145,8 @@ export function getAllocateInstruction< ResolvedInstructionAccountMeta> > { // Program address. - const programAddress = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddressInput = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address; // Account meta helper. const getAccountMeta = getAccountMetaFactory(programAddress, 'programId'); diff --git a/clients/js/src/generated/instructions/close.ts b/clients/js/src/generated/instructions/close.ts index 1e5429b..ccd96ec 100644 --- a/clients/js/src/generated/instructions/close.ts +++ b/clients/js/src/generated/instructions/close.ts @@ -115,7 +115,7 @@ export function getCloseInstruction< TProgramAddress extends Address = typeof PROGRAM_METADATA_PROGRAM_ADDRESS, >( input: CloseInput, - config?: { programAddress?: TProgramAddress }, + config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } }, ): CloseInstruction< TProgramAddress, ResolvedInstructionAccountMeta>, @@ -125,7 +125,8 @@ export function getCloseInstruction< ResolvedInstructionAccountMeta> > { // Program address. - const programAddress = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddressInput = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address; // Account meta helper. const getAccountMeta = getAccountMetaFactory(programAddress, 'programId'); diff --git a/clients/js/src/generated/instructions/extend.ts b/clients/js/src/generated/instructions/extend.ts index 19c9aa3..b247f53 100644 --- a/clients/js/src/generated/instructions/extend.ts +++ b/clients/js/src/generated/instructions/extend.ts @@ -125,7 +125,7 @@ export function getExtendInstruction< TProgramAddress extends Address = typeof PROGRAM_METADATA_PROGRAM_ADDRESS, >( input: ExtendInput, - config?: { programAddress?: TProgramAddress }, + config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } }, ): ExtendInstruction< TProgramAddress, ResolvedInstructionAccountMeta>, @@ -134,7 +134,8 @@ export function getExtendInstruction< ResolvedInstructionAccountMeta> > { // Program address. - const programAddress = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddressInput = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address; // Account meta helper. const getAccountMeta = getAccountMetaFactory(programAddress, 'programId'); diff --git a/clients/js/src/generated/instructions/initialize.ts b/clients/js/src/generated/instructions/initialize.ts index 6f80687..514346d 100644 --- a/clients/js/src/generated/instructions/initialize.ts +++ b/clients/js/src/generated/instructions/initialize.ts @@ -190,7 +190,7 @@ export async function getInitializeInstructionAsync< TAccountProgramData, TAccountSystem >, - config?: { programAddress?: TProgramAddress }, + config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } }, ): Promise< InitializeInstruction< TProgramAddress, @@ -202,7 +202,8 @@ export async function getInitializeInstructionAsync< > > { // Program address. - const programAddress = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddressInput = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address; // Account meta helper. const getAccountMeta = getAccountMetaFactory(programAddress, 'programId'); @@ -299,7 +300,7 @@ export function getInitializeInstruction< TProgramAddress extends Address = typeof PROGRAM_METADATA_PROGRAM_ADDRESS, >( input: InitializeInput, - config?: { programAddress?: TProgramAddress }, + config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } }, ): InitializeInstruction< TProgramAddress, ResolvedInstructionAccountMeta>, @@ -309,7 +310,8 @@ export function getInitializeInstruction< ResolvedInstructionAccountMeta> > { // Program address. - const programAddress = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddressInput = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address; // Account meta helper. const getAccountMeta = getAccountMetaFactory(programAddress, 'programId'); diff --git a/clients/js/src/generated/instructions/setAuthority.ts b/clients/js/src/generated/instructions/setAuthority.ts index f85fca7..30eda72 100644 --- a/clients/js/src/generated/instructions/setAuthority.ts +++ b/clients/js/src/generated/instructions/setAuthority.ts @@ -25,6 +25,7 @@ import { type Codec, type Decoder, type Encoder, + type HasAddress, type Instruction, type InstructionWithAccounts, type InstructionWithData, @@ -74,7 +75,7 @@ export type SetAuthorityInstruction< export type SetAuthorityInstructionData = { discriminator: number; newAuthority: Option
}; -export type SetAuthorityInstructionDataArgs = { newAuthority: OptionOrNullable
}; +export type SetAuthorityInstructionDataArgs = { newAuthority: OptionOrNullable
}; export function getSetAuthorityInstructionDataEncoder(): Encoder { return transformEncoder( @@ -125,7 +126,7 @@ export function getSetAuthorityInstruction< TProgramAddress extends Address = typeof PROGRAM_METADATA_PROGRAM_ADDRESS, >( input: SetAuthorityInput, - config?: { programAddress?: TProgramAddress }, + config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } }, ): SetAuthorityInstruction< TProgramAddress, ResolvedInstructionAccountMeta>, @@ -134,7 +135,8 @@ export function getSetAuthorityInstruction< ResolvedInstructionAccountMeta> > { // Program address. - const programAddress = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddressInput = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address; // Account meta helper. const getAccountMeta = getAccountMetaFactory(programAddress, 'programId'); diff --git a/clients/js/src/generated/instructions/setData.ts b/clients/js/src/generated/instructions/setData.ts index c23edfb..a74b844 100644 --- a/clients/js/src/generated/instructions/setData.ts +++ b/clients/js/src/generated/instructions/setData.ts @@ -172,7 +172,7 @@ export function getSetDataInstruction< TProgramAddress extends Address = typeof PROGRAM_METADATA_PROGRAM_ADDRESS, >( input: SetDataInput, - config?: { programAddress?: TProgramAddress }, + config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } }, ): SetDataInstruction< TProgramAddress, ResolvedInstructionAccountMeta>, @@ -182,7 +182,8 @@ export function getSetDataInstruction< ResolvedInstructionAccountMeta> > { // Program address. - const programAddress = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddressInput = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address; // Account meta helper. const getAccountMeta = getAccountMetaFactory(programAddress, 'programId'); diff --git a/clients/js/src/generated/instructions/setImmutable.ts b/clients/js/src/generated/instructions/setImmutable.ts index 809aca9..2209d6a 100644 --- a/clients/js/src/generated/instructions/setImmutable.ts +++ b/clients/js/src/generated/instructions/setImmutable.ts @@ -112,7 +112,7 @@ export function getSetImmutableInstruction< TProgramAddress extends Address = typeof PROGRAM_METADATA_PROGRAM_ADDRESS, >( input: SetImmutableInput, - config?: { programAddress?: TProgramAddress }, + config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } }, ): SetImmutableInstruction< TProgramAddress, ResolvedInstructionAccountMeta>, @@ -121,7 +121,8 @@ export function getSetImmutableInstruction< ResolvedInstructionAccountMeta> > { // Program address. - const programAddress = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddressInput = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address; // Account meta helper. const getAccountMeta = getAccountMetaFactory(programAddress, 'programId'); diff --git a/clients/js/src/generated/instructions/trim.ts b/clients/js/src/generated/instructions/trim.ts index ce47f9d..fa6605d 100644 --- a/clients/js/src/generated/instructions/trim.ts +++ b/clients/js/src/generated/instructions/trim.ts @@ -128,7 +128,7 @@ export function getTrimInstruction< TAccountDestination, TAccountRent >, - config?: { programAddress?: TProgramAddress }, + config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } }, ): TrimInstruction< TProgramAddress, ResolvedInstructionAccountMeta>, @@ -139,7 +139,8 @@ export function getTrimInstruction< ResolvedInstructionAccountMeta> > { // Program address. - const programAddress = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddressInput = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address; // Account meta helper. const getAccountMeta = getAccountMetaFactory(programAddress, 'programId'); diff --git a/clients/js/src/generated/instructions/write.ts b/clients/js/src/generated/instructions/write.ts index 954e3be..03b3c96 100644 --- a/clients/js/src/generated/instructions/write.ts +++ b/clients/js/src/generated/instructions/write.ts @@ -142,7 +142,7 @@ export function getWriteInstruction< TProgramAddress extends Address = typeof PROGRAM_METADATA_PROGRAM_ADDRESS, >( input: WriteInput, - config?: { programAddress?: TProgramAddress }, + config?: { programAddress?: TProgramAddress | { readonly address: TProgramAddress } }, ): WriteInstruction< TProgramAddress, ResolvedInstructionAccountMeta>, @@ -150,7 +150,8 @@ export function getWriteInstruction< ResolvedInstructionAccountMeta> > { // Program address. - const programAddress = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddressInput = config?.programAddress ?? PROGRAM_METADATA_PROGRAM_ADDRESS; + const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address; // Account meta helper. const getAccountMeta = getAccountMetaFactory(programAddress, 'programId'); diff --git a/clients/js/src/generated/pdas/canonical.ts b/clients/js/src/generated/pdas/canonical.ts index c583e28..4bd1f2d 100644 --- a/clients/js/src/generated/pdas/canonical.ts +++ b/clients/js/src/generated/pdas/canonical.ts @@ -6,12 +6,18 @@ * @see https://github.com/codama-idl/codama */ -import { getAddressEncoder, getProgramDerivedAddress, type Address, type ProgramDerivedAddress } from '@solana/kit'; +import { + getAddressEncoder, + getProgramDerivedAddress, + type Address, + type HasAddress, + type ProgramDerivedAddress, +} from '@solana/kit'; import { getSeedEncoder, type SeedArgs } from '../types'; export type CanonicalSeeds = { /** The program to which the metadata belongs. */ - program: Address; + program: Address | HasAddress; /** The seed deriving the metadata account. */ seed: SeedArgs; }; @@ -19,11 +25,13 @@ export type CanonicalSeeds = { /** The canonical derivation for metadata accounts managed by the program authority itself. */ export async function findCanonicalPda( seeds: CanonicalSeeds, - config: { programAddress?: Address | undefined } = {}, + config: { programAddress?: Address | HasAddress | undefined } = {}, ): Promise { const { - programAddress = 'ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S' as Address<'ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S'>, + programAddress: + programAddressInput = 'ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S' as Address<'ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S'>, } = config; + const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address; return await getProgramDerivedAddress({ programAddress, seeds: [getAddressEncoder().encode(seeds.program), getSeedEncoder().encode(seeds.seed)], diff --git a/clients/js/src/generated/pdas/metadata.ts b/clients/js/src/generated/pdas/metadata.ts index 5b8f877..429fcbe 100644 --- a/clients/js/src/generated/pdas/metadata.ts +++ b/clients/js/src/generated/pdas/metadata.ts @@ -11,6 +11,7 @@ import { getOptionEncoder, getProgramDerivedAddress, type Address, + type HasAddress, type OptionOrNullable, type ProgramDerivedAddress, } from '@solana/kit'; @@ -18,9 +19,9 @@ import { getSeedEncoder, type SeedArgs } from '../types'; export type MetadataSeeds = { /** The program to which the metadata belongs. */ - program: Address; + program: Address | HasAddress; /** The third-party authority managing this metadata account, if non-canonical. */ - authority: OptionOrNullable
; + authority: OptionOrNullable
; /** The seed deriving the metadata account. */ seed: SeedArgs; }; @@ -28,11 +29,13 @@ export type MetadataSeeds = { /** The derivation for metadata accounts, canonical or not, depending if an authority is provided. */ export async function findMetadataPda( seeds: MetadataSeeds, - config: { programAddress?: Address | undefined } = {}, + config: { programAddress?: Address | HasAddress | undefined } = {}, ): Promise { const { - programAddress = 'ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S' as Address<'ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S'>, + programAddress: + programAddressInput = 'ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S' as Address<'ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S'>, } = config; + const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address; return await getProgramDerivedAddress({ programAddress, seeds: [ diff --git a/clients/js/src/generated/pdas/nonCanonical.ts b/clients/js/src/generated/pdas/nonCanonical.ts index 91f8e0a..da59613 100644 --- a/clients/js/src/generated/pdas/nonCanonical.ts +++ b/clients/js/src/generated/pdas/nonCanonical.ts @@ -6,14 +6,20 @@ * @see https://github.com/codama-idl/codama */ -import { getAddressEncoder, getProgramDerivedAddress, type Address, type ProgramDerivedAddress } from '@solana/kit'; +import { + getAddressEncoder, + getProgramDerivedAddress, + type Address, + type HasAddress, + type ProgramDerivedAddress, +} from '@solana/kit'; import { getSeedEncoder, type SeedArgs } from '../types'; export type NonCanonicalSeeds = { /** The program to which the metadata belongs. */ - program: Address; + program: Address | HasAddress; /** The third-party authority managing this metadata account. */ - authority: Address; + authority: Address | HasAddress; /** The seed deriving the metadata account. */ seed: SeedArgs; }; @@ -21,11 +27,13 @@ export type NonCanonicalSeeds = { /** The derivation for metadata accounts managed by third-party authorities. */ export async function findNonCanonicalPda( seeds: NonCanonicalSeeds, - config: { programAddress?: Address | undefined } = {}, + config: { programAddress?: Address | HasAddress | undefined } = {}, ): Promise { const { - programAddress = 'ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S' as Address<'ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S'>, + programAddress: + programAddressInput = 'ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S' as Address<'ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S'>, } = config; + const programAddress = typeof programAddressInput === 'string' ? programAddressInput : programAddressInput.address; return await getProgramDerivedAddress({ programAddress, seeds: [ diff --git a/clients/js/src/generated/programs/programMetadata.ts b/clients/js/src/generated/programs/programMetadata.ts index 08dca6d..4629d27 100644 --- a/clients/js/src/generated/programs/programMetadata.ts +++ b/clients/js/src/generated/programs/programMetadata.ts @@ -21,6 +21,7 @@ import { type ExtendedClient, type GetAccountInfoApi, type GetMultipleAccountsApi, + type HasAddress, type Instruction, type InstructionWithData, type ReadonlyUint8Array, @@ -219,21 +220,42 @@ export type ProgramMetadataPluginAccounts = { }; export type ProgramMetadataPluginInstructions = { - write: (input: WriteInput) => ReturnType & SelfPlanAndSendFunctions; + write: ( + input: WriteInput, + config?: { programAddress?: Address | HasAddress }, + ) => ReturnType & SelfPlanAndSendFunctions; initialize: ( input: InitializeAsyncInput, + config?: { programAddress?: Address | HasAddress }, ) => ReturnType & SelfPlanAndSendFunctions; setAuthority: ( input: SetAuthorityInput, + config?: { programAddress?: Address | HasAddress }, ) => ReturnType & SelfPlanAndSendFunctions; - setData: (input: SetDataInput) => ReturnType & SelfPlanAndSendFunctions; + setData: ( + input: SetDataInput, + config?: { programAddress?: Address | HasAddress }, + ) => ReturnType & SelfPlanAndSendFunctions; setImmutable: ( input: SetImmutableInput, + config?: { programAddress?: Address | HasAddress }, ) => ReturnType & SelfPlanAndSendFunctions; - trim: (input: TrimInput) => ReturnType & SelfPlanAndSendFunctions; - close: (input: CloseInput) => ReturnType & SelfPlanAndSendFunctions; - allocate: (input: AllocateInput) => ReturnType & SelfPlanAndSendFunctions; - extend: (input: ExtendInput) => ReturnType & SelfPlanAndSendFunctions; + trim: ( + input: TrimInput, + config?: { programAddress?: Address | HasAddress }, + ) => ReturnType & SelfPlanAndSendFunctions; + close: ( + input: CloseInput, + config?: { programAddress?: Address | HasAddress }, + ) => ReturnType & SelfPlanAndSendFunctions; + allocate: ( + input: AllocateInput, + config?: { programAddress?: Address | HasAddress }, + ) => ReturnType & SelfPlanAndSendFunctions; + extend: ( + input: ExtendInput, + config?: { programAddress?: Address | HasAddress }, + ) => ReturnType & SelfPlanAndSendFunctions; }; export type ProgramMetadataPluginPdas = { @@ -246,7 +268,7 @@ export type ProgramMetadataPluginRequirements = ClientWithRpc( client: T, ): ExtendedClient => { @@ -257,17 +279,80 @@ export function programMetadataProgram() { metadata: addSelfFetchFunctions(client, getMetadataCodec()), }, instructions: { - write: input => addSelfPlanAndSendFunctions(client, getWriteInstruction(input)), - initialize: input => addSelfPlanAndSendFunctions(client, getInitializeInstructionAsync(input)), - setAuthority: input => addSelfPlanAndSendFunctions(client, getSetAuthorityInstruction(input)), - setData: input => addSelfPlanAndSendFunctions(client, getSetDataInstruction(input)), - setImmutable: input => addSelfPlanAndSendFunctions(client, getSetImmutableInstruction(input)), - trim: input => addSelfPlanAndSendFunctions(client, getTrimInstruction(input)), - close: input => addSelfPlanAndSendFunctions(client, getCloseInstruction(input)), - allocate: input => addSelfPlanAndSendFunctions(client, getAllocateInstruction(input)), - extend: input => addSelfPlanAndSendFunctions(client, getExtendInstruction(input)), + write: (input, instructionConfig) => + addSelfPlanAndSendFunctions( + client, + getWriteInstruction(input, { + programAddress: instructionConfig?.programAddress ?? config.programAddress, + }), + ), + initialize: (input, instructionConfig) => + addSelfPlanAndSendFunctions( + client, + getInitializeInstructionAsync(input, { + programAddress: instructionConfig?.programAddress ?? config.programAddress, + }), + ), + setAuthority: (input, instructionConfig) => + addSelfPlanAndSendFunctions( + client, + getSetAuthorityInstruction(input, { + programAddress: instructionConfig?.programAddress ?? config.programAddress, + }), + ), + setData: (input, instructionConfig) => + addSelfPlanAndSendFunctions( + client, + getSetDataInstruction(input, { + programAddress: instructionConfig?.programAddress ?? config.programAddress, + }), + ), + setImmutable: (input, instructionConfig) => + addSelfPlanAndSendFunctions( + client, + getSetImmutableInstruction(input, { + programAddress: instructionConfig?.programAddress ?? config.programAddress, + }), + ), + trim: (input, instructionConfig) => + addSelfPlanAndSendFunctions( + client, + getTrimInstruction(input, { + programAddress: instructionConfig?.programAddress ?? config.programAddress, + }), + ), + close: (input, instructionConfig) => + addSelfPlanAndSendFunctions( + client, + getCloseInstruction(input, { + programAddress: instructionConfig?.programAddress ?? config.programAddress, + }), + ), + allocate: (input, instructionConfig) => + addSelfPlanAndSendFunctions( + client, + getAllocateInstruction(input, { + programAddress: instructionConfig?.programAddress ?? config.programAddress, + }), + ), + extend: (input, instructionConfig) => + addSelfPlanAndSendFunctions( + client, + getExtendInstruction(input, { + programAddress: instructionConfig?.programAddress ?? config.programAddress, + }), + ), + }, + pdas: { + canonical: (seeds, pdaConfig) => + findCanonicalPda(seeds, { programAddress: pdaConfig?.programAddress ?? config.programAddress }), + nonCanonical: (seeds, pdaConfig) => + findNonCanonicalPda(seeds, { + programAddress: pdaConfig?.programAddress ?? config.programAddress, + }), + metadata: (seeds, pdaConfig) => + findMetadataPda(seeds, { programAddress: pdaConfig?.programAddress ?? config.programAddress }), }, - pdas: { canonical: findCanonicalPda, nonCanonical: findNonCanonicalPda, metadata: findMetadataPda }, identifyInstruction: identifyProgramMetadataInstruction, parseInstruction: parseProgramMetadataInstruction, }, diff --git a/clients/js/src/generated/types/externalData.ts b/clients/js/src/generated/types/externalData.ts index 7b79905..41a02ea 100644 --- a/clients/js/src/generated/types/externalData.ts +++ b/clients/js/src/generated/types/externalData.ts @@ -20,13 +20,14 @@ import { type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, + type HasAddress, type Option, type OptionOrNullable, } from '@solana/kit'; export type ExternalData = { address: Address; offset: number; length: Option }; -export type ExternalDataArgs = { address: Address; offset: number; length: OptionOrNullable }; +export type ExternalDataArgs = { address: Address | HasAddress; offset: number; length: OptionOrNullable }; export function getExternalDataEncoder(): FixedSizeEncoder { return getStructEncoder([ diff --git a/clients/js/src/internals.ts b/clients/js/src/internals.ts index 41a6826..81ddd05 100644 --- a/clients/js/src/internals.ts +++ b/clients/js/src/internals.ts @@ -1,4 +1,4 @@ -import { ClientWithTransactionPlanning, InstructionPlan } from '@solana/kit'; +import { Address, ClientWithTransactionPlanning, HasAddress, InstructionPlan } from '@solana/kit'; /** * Returns `true` if the given instruction plan can be planned by the client's @@ -13,3 +13,20 @@ export async function isValidInstructionPlan(instructionPlan: InstructionPlan, c return false; } } + +/** + * Unwraps an address input that may be either a plain {@link Address} or an + * address-bearing object (see {@link HasAddress}) into a plain {@link Address}. + */ +export function toAddress(input: Address | HasAddress): Address { + return typeof input === 'string' ? input : input.address; +} + +/** + * Resolves the destination of a `close` instruction from a `closeBuffer`-style + * option. An explicit address (or address-bearing object) is used as-is, whereas + * `true` falls back to the provided default destination. + */ +export function getCloseDestination(closeBuffer: Address | HasAddress | true, fallback: Address): Address { + return closeBuffer === true ? fallback : toAddress(closeBuffer); +} diff --git a/clients/js/src/packData.ts b/clients/js/src/packData.ts index 8a1b349..915ab9c 100644 --- a/clients/js/src/packData.ts +++ b/clients/js/src/packData.ts @@ -13,6 +13,7 @@ import { getBase64Decoder, getBase64Encoder, GetMultipleAccountsApi, + HasAddress, getUtf8Decoder, getUtf8Encoder, pipe, @@ -77,7 +78,7 @@ export function packUrlData(input: { } export function packExternalData(input: { - address: Address; + address: Address | HasAddress; offset?: number; length?: number; /** Refers to the compression on the external account. */ diff --git a/clients/js/src/updateBuffer.ts b/clients/js/src/updateBuffer.ts index 6f361b4..8080476 100644 --- a/clients/js/src/updateBuffer.ts +++ b/clients/js/src/updateBuffer.ts @@ -3,6 +3,7 @@ import { Account, Address, ClientWithGetMinimumBalance, + HasAddress, lamports, parallelInstructionPlan, ReadonlyUint8Array, @@ -11,17 +12,18 @@ import { } from '@solana/kit'; import { Buffer, getCloseInstruction, getTrimInstruction, getWriteInstruction } from './generated'; +import { getCloseDestination } from './internals'; import { getExtendInstructionPlan, getWriteInstructionPlan, REALLOC_LIMIT } from './utils'; export async function getUpdateBufferInstructionPlan( client: ClientWithGetMinimumBalance, input: { - buffer: Address; + buffer: Address | HasAddress; authority: TransactionSigner; payer: TransactionSigner; sizeDifference: number | bigint; sourceBuffer?: Account; - closeSourceBuffer?: Address | boolean; + closeSourceBuffer?: Address | HasAddress | boolean; data?: ReadonlyUint8Array; singleExtendPerTransaction?: boolean; }, @@ -88,8 +90,7 @@ export async function getUpdateBufferInstructionPlan( getCloseInstruction({ account: input.sourceBuffer.address, authority: input.authority, - destination: - typeof input.closeSourceBuffer === 'string' ? input.closeSourceBuffer : input.payer.address, + destination: getCloseDestination(input.closeSourceBuffer, input.payer.address), }), ] : []), diff --git a/clients/js/src/updateMetadata.ts b/clients/js/src/updateMetadata.ts index 59557a8..beaf54f 100644 --- a/clients/js/src/updateMetadata.ts +++ b/clients/js/src/updateMetadata.ts @@ -8,6 +8,7 @@ import { ClientWithTransactionSending, generateKeyPairSigner, GetAccountInfoApi, + HasAddress, InstructionPlan, lamports, Lamports, @@ -28,7 +29,7 @@ import { Metadata, SetDataInput, } from './generated'; -import { isValidInstructionPlan } from './internals'; +import { getCloseDestination, isValidInstructionPlan } from './internals'; import { getExtendInstructionPlan, MetadataInput, REALLOC_LIMIT, resolveMetadataPda } from './utils'; type UpdateMetadataClient = ClientWithGetMinimumBalance & @@ -69,7 +70,7 @@ export async function getUpdateMetadataInstructionPlan( buffer?: Account; data?: ReadonlyUint8Array; payer: TransactionSigner; - closeBuffer?: Address | boolean; + closeBuffer?: Address | HasAddress | boolean; singleExtendPerTransaction?: boolean; }, ): Promise { @@ -146,7 +147,7 @@ export async function getUpdateMetadataInstructionPlanUsingNewBuffer( client: ClientWithGetMinimumBalance, input: Omit & { buffer: TransactionSigner; - closeBuffer?: Address | boolean; + closeBuffer?: Address | HasAddress | boolean; data: ReadonlyUint8Array; metadata: Account; payer: TransactionSigner; @@ -194,7 +195,7 @@ export async function getUpdateMetadataInstructionPlanUsingNewBuffer( getCloseInstruction({ account: input.buffer.address, authority: input.authority, - destination: typeof input.closeBuffer === 'string' ? input.closeBuffer : input.payer.address, + destination: getCloseDestination(input.closeBuffer, input.payer.address), }), ] : []), @@ -215,8 +216,8 @@ export async function getUpdateMetadataInstructionPlanUsingNewBuffer( export async function getUpdateMetadataInstructionPlanUsingExistingBuffer( client: ClientWithGetMinimumBalance, input: Omit & { - buffer: Address; - closeBuffer?: Address | boolean; + buffer: Address | HasAddress; + closeBuffer?: Address | HasAddress | boolean; dataLength: number; metadata: Account; payer: TransactionSigner; @@ -258,7 +259,7 @@ export async function getUpdateMetadataInstructionPlanUsingExistingBuffer( getCloseInstruction({ account: input.buffer, authority: input.authority, - destination: typeof input.closeBuffer === 'string' ? input.closeBuffer : input.payer.address, + destination: getCloseDestination(input.closeBuffer, input.payer.address), }), ] : []), diff --git a/clients/js/src/utils.ts b/clients/js/src/utils.ts index 499fe8b..443f73b 100644 --- a/clients/js/src/utils.ts +++ b/clients/js/src/utils.ts @@ -16,6 +16,7 @@ import { getTransactionMessageSizeLimit, getU32Decoder, getU64Decoder, + HasAddress, Instruction, MessagePackerInstructionPlan, MicroLamports, @@ -50,6 +51,7 @@ import { ProgramMetadataInstruction, SeedArgs, } from './generated'; +import { toAddress } from './internals'; export const ACCOUNT_HEADER_LENGTH = 96; @@ -67,14 +69,14 @@ export const LOADER_V3_PROGRAM_ADDRESS = export type MetadataInput = { payer: TransactionSigner; authority: TransactionSigner; - program: Address; + program: Address | HasAddress; seed: SeedArgs; encoding: EncodingArgs; compression: CompressionArgs; format: FormatArgs; dataSource: DataSourceArgs; data?: ReadonlyUint8Array; - buffer?: Address; + buffer?: Address | HasAddress; /** * Extra fees to pay in microlamports per CU. * Defaults to no extra fees. @@ -85,21 +87,21 @@ export type MetadataInput = { * If an address is provided, it will be used as the destination for the close instruction. * Defaults to `true`. */ - closeBuffer?: Address | boolean; + closeBuffer?: Address | HasAddress | boolean; /** * The metadata PDA address. When omitted, it is derived from `program`, * `seed`, and — for non-canonical metadata accounts — `authority`. * * Provide this explicitly to skip the PDA derivation step. */ - metadata?: Address; + metadata?: Address | HasAddress; /** * The program data account address. When provided, the operation targets a * canonical metadata account (managed by the program upgrade authority). * When omitted, the operation targets a non-canonical metadata account * (managed by a third-party authority). */ - programData?: Address; + programData?: Address | HasAddress; /** * When `true`, the account is never grown by more than the realloc limit * (10,240 bytes) within a single transaction, which implies at most one @@ -142,7 +144,7 @@ export function needsExtend(dataLength: number): boolean { * `authority`. */ export async function resolveMetadataPda(input: MetadataInput): Promise
{ - if (input.metadata) return input.metadata; + if (input.metadata) return toAddress(input.metadata); const [metadata] = input.programData ? await findCanonicalPda({ program: input.program, seed: input.seed }) : await findNonCanonicalPda({ @@ -153,7 +155,7 @@ export async function resolveMetadataPda(input: MetadataInput): Promise
return metadata; } -export async function getProgramDataPda(program: Address) { +export async function getProgramDataPda(program: Address | HasAddress) { return await getProgramDerivedAddress({ programAddress: LOADER_V3_PROGRAM_ADDRESS, seeds: [getAddressEncoder().encode(program)], @@ -162,10 +164,11 @@ export async function getProgramDataPda(program: Address) { export async function getProgramAuthority( rpc: Rpc, - program: Address, + program: Address | HasAddress, ): Promise<{ authority?: Address; programData?: Address }> { // Fetch the program account. - const programAccount = await fetchEncodedAccount(rpc, program); + const programAddress = toAddress(program); + const programAccount = await fetchEncodedAccount(rpc, programAddress); assertAccountExists(programAccount); // Ensure the program is executable. @@ -182,7 +185,7 @@ export async function getProgramAuthority( // For any other owner (loader v1, v2, v4, the native loader, etc.), the // on-chain program considers the program's own address to be its authority // — i.e. the program keypair itself must sign to prove canonicity. - return { authority: program }; + return { authority: programAddress }; } async function getProgramAuthorityForLoaderV3(rpc: Rpc, programAccount: EncodedAccount) { diff --git a/clients/js/src/writeMetadata.ts b/clients/js/src/writeMetadata.ts index 22d6f5a..e1b75df 100644 --- a/clients/js/src/writeMetadata.ts +++ b/clients/js/src/writeMetadata.ts @@ -6,6 +6,7 @@ import { ClientWithTransactionPlanning, ClientWithTransactionSending, GetAccountInfoApi, + HasAddress, InstructionPlan, MaybeAccount, ReadonlyUint8Array, @@ -52,7 +53,7 @@ export async function getWriteMetadataInstructionPlan( input: Omit & Omit & { buffer?: Account; - closeBuffer?: Address | boolean; + closeBuffer?: Address | HasAddress | boolean; data?: ReadonlyUint8Array; metadata: MaybeAccount; payer: TransactionSigner; diff --git a/clients/js/test/createMetadata.test.ts b/clients/js/test/createMetadata.test.ts index 93e2449..cca2dfc 100644 --- a/clients/js/test/createMetadata.test.ts +++ b/clients/js/test/createMetadata.test.ts @@ -11,7 +11,13 @@ import { Format, Metadata, } from '../src'; -import { createDeployedProgram, createTestClient, generateKeyPairSignerWithSol, REALLOC_LIMIT } from './_setup'; +import { + createDeployedProgram, + createTestClient, + generateKeyPairSignerWithSol, + getBalance, + REALLOC_LIMIT, +} from './_setup'; it('creates a canonical metadata account', async () => { // Given the following authority and deployed program. @@ -407,3 +413,45 @@ it('can close an existing buffer after using it to create a new metadata account const bufferAccount = await client.programMetadata.accounts.buffer.fetchMaybe(buffer.address); expect(bufferAccount.exists).toBe(false); }); + +it('accepts address wrappers for the program, program data, metadata, buffer and close destination', async () => { + // Given the following authority and deployed program. + const client = await createTestClient(); + const authority = await generateKeyPairSignerWithSol(client); + const [program, programData] = await createDeployedProgram(client, authority); + const [metadata] = await findCanonicalPda({ program, seed: 'idl' }); + + // And an existing buffer with the same authority. + const data = getUtf8Encoder().encode('{"standard":"dummyIdl"}'); + const buffer = await generateKeyPairSigner(); + await client.programMetadata.instructions.createBuffer({ newBuffer: buffer, authority, data }).sendTransaction(); + const bufferLamports = await getBalance(client, buffer.address); + + // And a recipient for the closed buffer's lamports. + const recipient = (await generateKeyPairSigner()).address; + + // When we create a canonical metadata account passing every address as a wrapper. + await client.programMetadata.createMetadata({ + authority, + program: { address: program }, + programData: { address: programData }, + metadata: { address: metadata }, + seed: 'idl', + encoding: Encoding.Utf8, + compression: Compression.None, + dataSource: DataSource.Direct, + format: Format.Json, + buffer: { address: buffer.address }, + closeBuffer: { address: recipient }, + }); + + // Then we expect the metadata account to hold the buffer's data. + const metadataAccount = await client.programMetadata.accounts.metadata.fetch(metadata); + expect(metadataAccount.data.data).toStrictEqual(data); + + // And the buffer to be closed with its lamports sent to the wrapped recipient + // rather than falling back to the payer. + const bufferAccount = await client.programMetadata.accounts.buffer.fetchMaybe(buffer.address); + expect(bufferAccount.exists).toBe(false); + expect(await getBalance(client, recipient)).toBe(bufferLamports); +}); diff --git a/clients/js/test/fetchMetadataContent.test.ts b/clients/js/test/fetchMetadataContent.test.ts index 79ca5ce..987417f 100644 --- a/clients/js/test/fetchMetadataContent.test.ts +++ b/clients/js/test/fetchMetadataContent.test.ts @@ -6,6 +6,7 @@ import { Encoding, fetchAndParseAllMetadataContent, fetchAndParseMetadataContent, + fetchMetadataContent, Format, packDirectData, packExternalData, @@ -137,3 +138,30 @@ it('fetches and parses multiple direct IDLs from metadata accounts', async () => }, ]); }, 30_000); + +it('fetches metadata content using address wrappers for the program and authority', async () => { + // Given the following authority and program. + const client = await createTestClient(); + const authority = await generateKeyPairSignerWithSol(client); + const program = address('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'); + + // And given the following non-canonical IDL exists for the program. + const idl = '{"kind":"rootNode","standard":"codama","version":"1.0.0"}'; + await client.programMetadata.writeMetadata({ + ...packDirectData({ content: idl }), + authority, + program: { address: program }, + seed: 'idl', + format: Format.Json, + }); + + // When we fetch it using address wrappers. + const [content, parsed] = await Promise.all([ + fetchMetadataContent(client.rpc, { address: program }, 'idl', { address: authority.address }), + fetchAndParseMetadataContent(client.rpc, { address: program }, 'idl', { address: authority.address }), + ]); + + // Then we expect the IDL to be fetched and parsed. + expect(content).toBe(idl); + expect(parsed).toEqual({ kind: 'rootNode', standard: 'codama', version: '1.0.0' }); +}); diff --git a/clients/js/test/getProgramAuthority.test.ts b/clients/js/test/getProgramAuthority.test.ts index 052a44f..0dfd5e1 100644 --- a/clients/js/test/getProgramAuthority.test.ts +++ b/clients/js/test/getProgramAuthority.test.ts @@ -41,3 +41,21 @@ it('fails for non-executable accounts', async () => { // Then we expect an error to be thrown. await expect(promise).rejects.toThrow('Program account must be executable'); }); + +it('accepts an address wrapper and returns plain addresses', async () => { + // Given a loader-v3 program and a native program. + const client = await createTestClient(); + const authority = await generateKeyPairSigner(); + const [program, programData] = await createDeployedProgram(client, authority); + const nativeProgram = await createNativeProgram(client); + + // When we get their program authorities using address wrappers. + const [result, nativeResult] = await Promise.all([ + getProgramAuthority(client.rpc, { address: program }), + getProgramAuthority(client.rpc, { address: nativeProgram }), + ]); + + // Then we expect plain addresses to be returned, not the wrappers. + expect(result).toStrictEqual({ authority: authority.address, programData }); + expect(nativeResult).toStrictEqual({ authority: nativeProgram }); +}); diff --git a/package.json b/package.json index 2db0eb6..9b7ed1c 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { "private": true, "devDependencies": { - "@codama/renderers-js": "^2.5.0", + "@codama/renderers-js": "^2.7.0", "@codama/renderers-rust": "^3.1.3", - "codama": "^1.8.0", + "codama": "^1.11.0", "typescript": "^5.9.3" }, "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cb432cb..0de76f6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,13 +9,13 @@ importers: .: devDependencies: '@codama/renderers-js': - specifier: ^2.5.0 - version: 2.5.0(typescript@5.9.3) + specifier: ^2.7.0 + version: 2.7.0(typescript@5.9.3) '@codama/renderers-rust': specifier: ^3.1.3 version: 3.1.3(typescript@5.9.3) codama: - specifier: ^1.8.0 + specifier: ^1.11.0 version: 1.11.0 typescript: specifier: ^5.9.3 @@ -43,8 +43,8 @@ packages: '@codama/renderers-core@1.4.1': resolution: {integrity: sha512-L/mNuzP29emEz9O2+tghToNvtTnfjpenJ984LrnRi4p8uonf3vOROUzDE+9w5httoowQt0YHCxFvQ8DP5lK0DQ==} - '@codama/renderers-js@2.5.0': - resolution: {integrity: sha512-Jh7qkU4jim2YX7JZujSzlMsmi8PIfGW4ZVLF69uq6EmGZJ48oxRR9zVGc1BxYWH3PHxRQsJCLlEzRKqb93XGcA==} + '@codama/renderers-js@2.7.0': + resolution: {integrity: sha512-CjGubePd5rupdWzc+8ybnJ7zhNmAsJ5SkTipBkEQI+xG0QP8r7xGJpx/skzgbA7wiuRNsAe6DemKctzLF1C79w==} engines: {node: '>=20.18.0'} '@codama/renderers-rust@3.1.3': @@ -319,7 +319,7 @@ snapshots: '@codama/nodes': 1.11.0 '@codama/visitors-core': 1.11.0 - '@codama/renderers-js@2.5.0(typescript@5.9.3)': + '@codama/renderers-js@2.7.0(typescript@5.9.3)': dependencies: '@codama/errors': 1.11.0 '@codama/nodes': 1.11.0