From a060e0f6d56f63f54026c33f7870206a5c7d7e5c Mon Sep 17 00:00:00 2001 From: dhruvinparikh Date: Mon, 8 Dec 2025 16:23:02 +0000 Subject: [PATCH] (chore): init freeze thaw solana oft using squad --- package.json | 2 + pnpm-lock.yaml | 691 +++++++++++++++++++++++++++++++-- tasks/index.ts | 2 + tasks/solana/freezeOFTSquad.ts | 81 ++++ tasks/solana/thawOFTSquad.ts | 94 +++++ 5 files changed, 829 insertions(+), 41 deletions(-) create mode 100644 tasks/solana/freezeOFTSquad.ts create mode 100644 tasks/solana/thawOFTSquad.ts diff --git a/package.json b/package.json index c4d8c15c..5149730c 100644 --- a/package.json +++ b/package.json @@ -168,6 +168,8 @@ "@ethersproject/hash": "^5.8.0", "@openzeppelin-5/contracts": "npm:@openzeppelin/contracts@^5.4.0", "@openzeppelin-5/contracts-upgradeable": "npm:@openzeppelin/contracts-upgradeable@^5.4.0", + "@solana-program/token": "^0.9.0", + "@solana/kit": "^5.0.0", "solady": "^0.1.24", "viem": "^2.33.1" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c9279b3e..9005d7bb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,6 +28,12 @@ importers: '@openzeppelin-5/contracts-upgradeable': specifier: npm:@openzeppelin/contracts-upgradeable@^5.4.0 version: '@openzeppelin/contracts-upgradeable@5.4.0(@openzeppelin/contracts@4.9.6)' + '@solana-program/token': + specifier: ^0.9.0 + version: 0.9.0(@solana/kit@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))) + '@solana/kit': + specifier: ^5.0.0 + version: 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) solady: specifier: ^0.1.24 version: 0.1.24 @@ -58,10 +64,10 @@ importers: version: 0.4.10(@ethersproject/bytes@5.8.0)(@layerzerolabs/io-devtools@0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76))(@layerzerolabs/lz-definitions@3.0.138)(zod@3.25.76) '@layerzerolabs/devtools-evm': specifier: ~1.0.6 - version: 1.0.6(663e62ce80436acdd431d898c9f8518b) + version: 1.0.6(8f3ff361319ee89dc7b6067cb05870e4) '@layerzerolabs/devtools-evm-hardhat': specifier: ^2.0.9 - version: 2.0.9(5ace0210e17c20ff657bf011de118995) + version: 2.0.9(bf932128a290e98d4913f29ad1a7e33c) '@layerzerolabs/devtools-extensible-cli': specifier: ^0.0.6 version: 0.0.6 @@ -109,7 +115,7 @@ importers: version: 3.0.116 '@layerzerolabs/metadata-tools': specifier: ^0.4.1 - version: 0.4.1(@layerzerolabs/devtools-evm-hardhat@2.0.9(5ace0210e17c20ff657bf011de118995))(@layerzerolabs/ua-devtools@3.0.6(7fd5c67a43c633589dd9d5d51a1389a8)) + version: 0.4.1(@layerzerolabs/devtools-evm-hardhat@2.0.9(bf932128a290e98d4913f29ad1a7e33c))(@layerzerolabs/ua-devtools@3.0.6(7fd5c67a43c633589dd9d5d51a1389a8)) '@layerzerolabs/move-definitions': specifier: ^3.0.116 version: 3.0.116 @@ -133,7 +139,7 @@ importers: version: 2.0.0(@layerzerolabs/devtools@0.4.10(@ethersproject/bytes@5.8.0)(@layerzerolabs/io-devtools@0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76))(@layerzerolabs/lz-definitions@3.0.138)(zod@3.25.76))(@layerzerolabs/io-devtools@0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76))(@layerzerolabs/lz-definitions@3.0.138)(zod@3.25.76) '@layerzerolabs/protocol-devtools-evm': specifier: ~3.0.8 - version: 3.0.8(5756a75da0030e1adfeca43b0990c382) + version: 3.0.8(325bdb5f2929c8c62e827b000f4ab6ba) '@layerzerolabs/protocol-devtools-solana': specifier: ^7.0.0 version: 7.0.0(525a16cab24242cf66a2a94b6ea90589) @@ -157,10 +163,10 @@ importers: version: 3.0.6(7fd5c67a43c633589dd9d5d51a1389a8) '@layerzerolabs/ua-devtools-evm': specifier: ~5.0.7 - version: 5.0.7(7188a26a109556d8d93d095168477c3a) + version: 5.0.7(4f2a62b6719b3d932c871daaf0e61d41) '@layerzerolabs/ua-devtools-evm-hardhat': specifier: ~6.0.11 - version: 6.0.11(cc4bd9e0f56d1acfbe13b06de4eff927) + version: 6.0.11(5e6995f611d56592854fae90f9eda655) '@layerzerolabs/ua-devtools-solana': specifier: ~7.0.0 version: 7.0.0(8ddeaf03427c9017c5b84b8c5b89d7d6) @@ -2263,6 +2269,29 @@ packages: '@solana-developers/helpers@2.8.1': resolution: {integrity: sha512-xvoOj+ewL18+h6fMrXp1vTss0WBLnhQHnBb6mMPfEQE32w0THlxm8OPXNUY8g4tREX7ugU5cDEP7c2teye1Z7A==} + '@solana-program/token@0.9.0': + resolution: {integrity: sha512-vnZxndd4ED4Fc56sw93cWZ2djEeeOFxtaPS8SPf5+a+JZjKA/EnKqzbE1y04FuMhIVrLERQ8uR8H2h72eZzlsA==} + peerDependencies: + '@solana/kit': ^5.0 + + '@solana/accounts@5.0.0': + resolution: {integrity: sha512-0JzBdEobgp8NBdhhu+GgwNDh7e8KkHDsSTVZAnNQgvT3taOz0Mwv5E48MuEeDhW6DLFwWVAx/FO3pvibG/NGwA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/addresses@5.0.0': + resolution: {integrity: sha512-bVk+khc1ZZQHMri25csosM/ikuyPcB/CZidDM/ZMBX0CoJErpHJnmcID5mYOmv4/UHbqo2OANuEaGcFO0Q37sw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/assertions@5.0.0': + resolution: {integrity: sha512-2kIykk90kYciQW6bp+KaE6jRd1Y2CgHPeJxxlc5chQnjhoG6eiD8VXvocs6AvqPTht0p/SoEj9jH5tT4oG/bcg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/buffer-layout-utils@0.2.0': resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} engines: {node: '>= 10'} @@ -2282,11 +2311,23 @@ packages: peerDependencies: typescript: '>=5.3.3' + '@solana/codecs-core@5.0.0': + resolution: {integrity: sha512-rCG2d8OaamVF2/J//YyCgDqNJpUytVVltw9C8mJtEz5c6Se/LR6BFuG8g4xeJswq/ab4RFk5/HFdgbvNjKgQjA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/codecs-data-structures@2.0.0-rc.1': resolution: {integrity: sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog==} peerDependencies: typescript: '>=5' + '@solana/codecs-data-structures@5.0.0': + resolution: {integrity: sha512-y503Pqmv0LHcfcf0vQJGaxDvydQJbyCo8nK3nxn56EhFj5lBQ1NWb3WvTd83epigwuZurW2MhJARrpikfhQglQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/codecs-numbers@2.0.0-rc.1': resolution: {integrity: sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==} peerDependencies: @@ -2298,17 +2339,36 @@ packages: peerDependencies: typescript: '>=5.3.3' + '@solana/codecs-numbers@5.0.0': + resolution: {integrity: sha512-a2+skRLuUK02f/XFe4L0e1+wHCyfK25PkyseFps1v1l4pvevukFwth/EhSyrs6w5CsTJRVoR7MuE3E00PM4egw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/codecs-strings@2.0.0-rc.1': resolution: {integrity: sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g==} peerDependencies: fastestsmallesttextencoderdecoder: ^1.0.22 typescript: '>=5' + '@solana/codecs-strings@5.0.0': + resolution: {integrity: sha512-ALkRwpV8bGR6qjAYw0YXZwp2YI4wzvKOJGmx04Ut8gMdbaUx7qOcJkhEQKI6ZVC3lAWSIS1N1wGccUZDwvfKxw==} + engines: {node: '>=20.18.0'} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: '>=5.3.3' + '@solana/codecs@2.0.0-rc.1': resolution: {integrity: sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ==} peerDependencies: typescript: '>=5' + '@solana/codecs@5.0.0': + resolution: {integrity: sha512-KOw0gFUSBxIMDWLJ3AkVFkEci91dw0Rpx3C6y83Our7fSW+SEP8vRZklCElieYR85LHVB1QIEhoeHR7rc+Ifkw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/errors@2.0.0-rc.1': resolution: {integrity: sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==} hasBin: true @@ -2322,11 +2382,157 @@ packages: peerDependencies: typescript: '>=5.3.3' + '@solana/errors@5.0.0': + resolution: {integrity: sha512-gTuhzO6E+ydfAAzqmqdPcvFyJwAzFKKIrqtnZPpgAuomcPYu+HSo0tuwSM/cTX0djmHt+GoOsf/julph+nvs2w==} + engines: {node: '>=20.18.0'} + hasBin: true + peerDependencies: + typescript: '>=5.3.3' + + '@solana/fast-stable-stringify@5.0.0': + resolution: {integrity: sha512-sGTbu7a4/olL+8EIOOJ7IZjzqOOpCJcK1UaVJ6015sRgo9vwGf4jg9KtXEYv5LVhLCTYmAb50L4BaIUcBph/Ig==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/functional@5.0.0': + resolution: {integrity: sha512-UNBrpfzBL4dKD2iucjNnrkFbnjz5ZYDu2OvrIBAcCSQsxxgHMamUj1n3EDe6kl1us49YG1r05Ho8QLqNrbkVbw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/instruction-plans@5.0.0': + resolution: {integrity: sha512-n9oFOMFUPYKEhsXzrXT97QBQ2WvOTar+5SFEj/IOtRuCn4gl2kh0369cjXZpFwUdE3tmKr1zfYFNwbtiNx5pvg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/instructions@5.0.0': + resolution: {integrity: sha512-12dbrmwERT1o6NTr/Uvrjj/ZsiteSXoT5Gi+dnjIeRNHWg9H+gEFuFzJvTDVKlNg34CZ71xdvbVdbV0V8gKGvg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/keys@5.0.0': + resolution: {integrity: sha512-kWkR7NslpTttk5i1BhBNCDtVQDkEtgkdsM3Jp9TGPk0GFjBjBwrQStw3vvwLe8itEIvRFGFZU6JHEk8HLS0WLQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/kit@5.0.0': + resolution: {integrity: sha512-3ahtzmmMgU+1l2YMhQJSKKm14IdvCycOE/m4XNMu/4icBIptmBgZxrmgRpPHqBilBa+Krp/hBuTg4HWl9IAgWw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/nominal-types@5.0.0': + resolution: {integrity: sha512-Qn7xH4UG2rDAv+wAyheP4jWvX3oQmbZ/woxFZwug7PaRLvyjUswGr38Hil+SjiQyFDo+un1UqWM9N9yusUeeZQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/options@2.0.0-rc.1': resolution: {integrity: sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA==} peerDependencies: typescript: '>=5' + '@solana/options@5.0.0': + resolution: {integrity: sha512-ezHVBFb9FXVSn8LUVRD2tLb6fejU0x8KtGEYyCYh0J0pQuXSITV0IQCjcEopvu/ZxWdXOJyzjvmymnhz90on5A==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/programs@5.0.0': + resolution: {integrity: sha512-BKOfBDrSUCJGZ+qKk2aFLu0nU9/84o6z/VDCJkLjaNNuTv8nOlSYq5flNzo1eyJmnpyW372qNvqqRN3AS23+FQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/promises@5.0.0': + resolution: {integrity: sha512-Qmg3UfYfWINEUvBQL3DkPOq34tTg5cfrkPlDtJmi8RVifsPqb6hksbKZGu7ASLZohxIDGmnYQY6oELI7Me+5yw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-api@5.0.0': + resolution: {integrity: sha512-IJbZZnX2B1ldXPok1NhneXTYq9ZvdJbE5Pryr03pZTlPJaWGqDcZuQ14nwR4s6PoUUgdT+p87QlLZqLb8MusoQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-parsed-types@5.0.0': + resolution: {integrity: sha512-fU9uqlOYAaBqgk2qCl+ntenBm7wuSFBRbIO/rVjeBPd/qPCvNZU+qFET+ERLK6wbCTSz0MmdHqPn1V8KCMOvZQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-spec-types@5.0.0': + resolution: {integrity: sha512-B0P/ylXVaCG5oSIV+kB88s2qoW996D8iKhc7RyF0C/AyYvklF6kCwv0N9ZVrWp0ibjlQ8St290WbBHJyo7QZkA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-spec@5.0.0': + resolution: {integrity: sha512-1LD2SYEQ5bYhiBumznAPzymtxSX4nYLZd6u+FA0bAxNBVzHDvUUQzVSXHAoWROhlGrCyvtALTs9u0DIDlgZHCA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-subscriptions-api@5.0.0': + resolution: {integrity: sha512-DGUn3C12swV2FConOlLFN14npIrCtnxehtMLjszMC7g6p/P6WNIz5uAgF7YcIkLBDV8uTeWhM0azmK+V8Qqhvg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-subscriptions-channel-websocket@5.0.0': + resolution: {integrity: sha512-vsYXyjVX/kExfpr91zfMKTmWKKFCM+dkhXQDAz5aEE7kAF3KSZDiOGeYvN8Rc85lbIt9QK6BLAT+NBMv4/N9Qg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + ws: ^8.18.0 + + '@solana/rpc-subscriptions-spec@5.0.0': + resolution: {integrity: sha512-erRLvZMncwnciJP6I1SlAk0CyRGIgt83PyHWOVCRXENP9Q5dZbZ9pm4lar2yIp8EjIMnodGHsQWIlKc1hlCQlQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-subscriptions@5.0.0': + resolution: {integrity: sha512-cziOSzom/bwFZXViR9J+MxDsdLMcfvrXGw5Icng7dYODFKuVqfsDrQoG8uekJc4fREnbPEM2U+u9YnYSYbFbww==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-transformers@5.0.0': + resolution: {integrity: sha512-EMHhSgfF6/T4FfHbLaBP08SIj1ZAjxJr6WPNZMHLV7Cup8UfiB9TNV+bPQkum7JbVQNhUKzkKEEmyYqPfQoV9w==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-transport-http@5.0.0': + resolution: {integrity: sha512-RoIEvWp7yc7rIRzNkOyjLs2UQF0odIEMWj87dbD4Ir4hwTCGo/TSTfQF/8KDV2etdke3Fa1K+W1NkpG2POqWFg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-types@5.0.0': + resolution: {integrity: sha512-JMbhwnV6nX4ezJv/KmaElOR0r/MZTKzKpaz6cv7FopLNuPrYCBrRCZKuM2XQh6gUbt9Mey08/KBOmOGmzTbL/g==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc@5.0.0': + resolution: {integrity: sha512-Myx/ZBmMHkgh9Di3tLzc+vd30f+6YC1JXr9+YmIHKEeqN/+iTHkDJU2E/hGRLy8vTOBOU7+2466A+dLnSVuGkg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/signers@5.0.0': + resolution: {integrity: sha512-9Hw6HekSEzj5O7UBBFPrxk96W5e8tMI3n7KbW7/QiKBDpuvYw9WtnjOsWUE7LqQoc1P0JjGEsrmxE9raQBLvuQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/spl-token-group@0.0.7': resolution: {integrity: sha512-V1N/iX7Cr7H0uazWUT2uk27TMqlqedpXHRqqAbVO2gvmJyT0E0ummMEAVQeXZ05ZhQ/xF39DLSdBp90XebWEug==} engines: {node: '>=16'} @@ -2351,6 +2557,36 @@ packages: peerDependencies: '@solana/web3.js': ^1.98.0 + '@solana/subscribable@5.0.0': + resolution: {integrity: sha512-C2TydIRRd5XUJ8asbARi67Sj/3DRLubWalnNoafBhDsrb88jsRVylntvwXgBw/+lwJdEPEsUnxvcdgdm+3lFlw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/sysvars@5.0.0': + resolution: {integrity: sha512-F/GEb2rS8mrgDd79lDPyu8za9jGE6cRlS4jHNeKCkvOCJxdKQbX34JIzx4kwzjtvk7O8/yrDHfGdpA8nBg/l4w==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/transaction-confirmation@5.0.0': + resolution: {integrity: sha512-LpusTopYIuQC8hBCloExkTr4Z5/zdp5f4IIbzD5XFeW3xXPZytS3H1IDMGk4bmLdZi9zQNA4lnNHKra5IncRbw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/transaction-messages@5.0.0': + resolution: {integrity: sha512-rJLe1wUGW5DovQFV0gjXHXnriPxTBgZ3TvGWnjCu2OIBU8mcQkQVJ7zzVZY2IAYlmJ6OSF9nvzhSt/ncPbkJPg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/transactions@5.0.0': + resolution: {integrity: sha512-4TcsqH7JtgRKGGBIRRGz0n+tXu4h5TPPC49kkV0ygIndQaHW7FOZUYTwQ0epq0A5h9KYi+ClNbzF9xiuDbAD5Q==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/web3.js@1.98.2': resolution: {integrity: sha512-BqVwEG+TaG2yCkBMbD3C4hdpustR4FpuUFRPUmqRZYYlPI9Hg4XMWxHWOWRzHE9Lkc9NDjzXFX7lDXSgzC7R1A==} @@ -3361,8 +3597,8 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.4.1: - resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} change-case@4.1.2: @@ -3519,8 +3755,8 @@ packages: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} - commander@14.0.0: - resolution: {integrity: sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==} + commander@14.0.1: + resolution: {integrity: sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==} engines: {node: '>=20'} commander@2.20.3: @@ -7162,6 +7398,9 @@ packages: undici-types@7.10.0: resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + undici@5.29.0: resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} engines: {node: '>=14.0'} @@ -8974,14 +9213,14 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.4 - '@layerzerolabs/devtools-evm-hardhat@2.0.9(5ace0210e17c20ff657bf011de118995)': + '@layerzerolabs/devtools-evm-hardhat@2.0.9(bf932128a290e98d4913f29ad1a7e33c)': dependencies: '@ethersproject/abi': 5.8.0 '@ethersproject/abstract-signer': 5.8.0 '@ethersproject/contracts': 5.8.0 '@ethersproject/providers': 5.8.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@layerzerolabs/devtools': 0.4.10(@ethersproject/bytes@5.8.0)(@layerzerolabs/io-devtools@0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76))(@layerzerolabs/lz-definitions@3.0.138)(zod@3.25.76) - '@layerzerolabs/devtools-evm': 1.0.6(663e62ce80436acdd431d898c9f8518b) + '@layerzerolabs/devtools-evm': 1.0.6(8f3ff361319ee89dc7b6067cb05870e4) '@layerzerolabs/export-deployments': 0.0.16 '@layerzerolabs/io-devtools': 0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76) '@layerzerolabs/lz-definitions': 3.0.138 @@ -9026,12 +9265,12 @@ snapshots: - supports-color - utf-8-validate - '@layerzerolabs/devtools-evm@1.0.6(663e62ce80436acdd431d898c9f8518b)': + '@layerzerolabs/devtools-evm@1.0.6(8f3ff361319ee89dc7b6067cb05870e4)': dependencies: '@ethersproject/abi': 5.8.0 '@ethersproject/abstract-provider': 5.8.0 '@ethersproject/abstract-signer': 5.8.0 - '@ethersproject/address': 5.7.0 + '@ethersproject/address': 5.8.0 '@ethersproject/bignumber': 5.8.0 '@ethersproject/constants': 5.8.0 '@ethersproject/contracts': 5.8.0 @@ -9147,10 +9386,10 @@ snapshots: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.8.3) eslint: 8.57.1 eslint-config-prettier: 9.1.2(eslint@8.57.1) - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@8.57.1) eslint-plugin-autofix: 2.2.0(eslint@8.57.1) eslint-plugin-compat: 4.2.0(eslint@8.57.1) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) eslint-plugin-prettier: 5.5.3(eslint-config-prettier@9.1.2(eslint@8.57.1))(eslint@8.57.1)(prettier@3.6.2) eslint-plugin-unused-imports: 3.2.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1) prettier: 3.6.2 @@ -9400,9 +9639,9 @@ snapshots: bs58: 5.0.0 tiny-invariant: 1.3.3 - '@layerzerolabs/metadata-tools@0.4.1(@layerzerolabs/devtools-evm-hardhat@2.0.9(5ace0210e17c20ff657bf011de118995))(@layerzerolabs/ua-devtools@3.0.6(7fd5c67a43c633589dd9d5d51a1389a8))': + '@layerzerolabs/metadata-tools@0.4.1(@layerzerolabs/devtools-evm-hardhat@2.0.9(bf932128a290e98d4913f29ad1a7e33c))(@layerzerolabs/ua-devtools@3.0.6(7fd5c67a43c633589dd9d5d51a1389a8))': dependencies: - '@layerzerolabs/devtools-evm-hardhat': 2.0.9(5ace0210e17c20ff657bf011de118995) + '@layerzerolabs/devtools-evm-hardhat': 2.0.9(bf932128a290e98d4913f29ad1a7e33c) '@layerzerolabs/ua-devtools': 3.0.6(7fd5c67a43c633589dd9d5d51a1389a8) '@layerzerolabs/move-definitions@3.0.116': @@ -9462,7 +9701,7 @@ snapshots: prettier-plugin-packagejson: 2.5.19(prettier@3.6.2) prettier-plugin-solidity: 1.4.3(prettier@3.6.2) - '@layerzerolabs/protocol-devtools-evm@3.0.8(5756a75da0030e1adfeca43b0990c382)': + '@layerzerolabs/protocol-devtools-evm@3.0.8(325bdb5f2929c8c62e827b000f4ab6ba)': dependencies: '@ethersproject/abstract-provider': 5.8.0 '@ethersproject/abstract-signer': 5.8.0 @@ -9471,7 +9710,7 @@ snapshots: '@ethersproject/contracts': 5.8.0 '@ethersproject/providers': 5.8.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@layerzerolabs/devtools': 0.4.10(@ethersproject/bytes@5.8.0)(@layerzerolabs/io-devtools@0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76))(@layerzerolabs/lz-definitions@3.0.138)(zod@3.25.76) - '@layerzerolabs/devtools-evm': 1.0.6(663e62ce80436acdd431d898c9f8518b) + '@layerzerolabs/devtools-evm': 1.0.6(8f3ff361319ee89dc7b6067cb05870e4) '@layerzerolabs/io-devtools': 0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76) '@layerzerolabs/lz-definitions': 3.0.138 '@layerzerolabs/protocol-devtools': 2.0.0(@layerzerolabs/devtools@0.4.10(@ethersproject/bytes@5.8.0)(@layerzerolabs/io-devtools@0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76))(@layerzerolabs/lz-definitions@3.0.138)(zod@3.25.76))(@layerzerolabs/io-devtools@0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76))(@layerzerolabs/lz-definitions@3.0.138)(zod@3.25.76) @@ -9612,21 +9851,21 @@ snapshots: - typescript - utf-8-validate - '@layerzerolabs/ua-devtools-evm-hardhat@6.0.11(cc4bd9e0f56d1acfbe13b06de4eff927)': + '@layerzerolabs/ua-devtools-evm-hardhat@6.0.11(5e6995f611d56592854fae90f9eda655)': dependencies: '@ethersproject/abi': 5.8.0 '@ethersproject/bytes': 5.8.0 '@ethersproject/contracts': 5.8.0 '@ethersproject/hash': 5.8.0 '@layerzerolabs/devtools': 0.4.10(@ethersproject/bytes@5.8.0)(@layerzerolabs/io-devtools@0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76))(@layerzerolabs/lz-definitions@3.0.138)(zod@3.25.76) - '@layerzerolabs/devtools-evm': 1.0.6(663e62ce80436acdd431d898c9f8518b) - '@layerzerolabs/devtools-evm-hardhat': 2.0.9(5ace0210e17c20ff657bf011de118995) + '@layerzerolabs/devtools-evm': 1.0.6(8f3ff361319ee89dc7b6067cb05870e4) + '@layerzerolabs/devtools-evm-hardhat': 2.0.9(bf932128a290e98d4913f29ad1a7e33c) '@layerzerolabs/io-devtools': 0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76) '@layerzerolabs/lz-definitions': 3.0.138 '@layerzerolabs/protocol-devtools': 2.0.0(@layerzerolabs/devtools@0.4.10(@ethersproject/bytes@5.8.0)(@layerzerolabs/io-devtools@0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76))(@layerzerolabs/lz-definitions@3.0.138)(zod@3.25.76))(@layerzerolabs/io-devtools@0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76))(@layerzerolabs/lz-definitions@3.0.138)(zod@3.25.76) - '@layerzerolabs/protocol-devtools-evm': 3.0.8(5756a75da0030e1adfeca43b0990c382) + '@layerzerolabs/protocol-devtools-evm': 3.0.8(325bdb5f2929c8c62e827b000f4ab6ba) '@layerzerolabs/ua-devtools': 3.0.6(7fd5c67a43c633589dd9d5d51a1389a8) - '@layerzerolabs/ua-devtools-evm': 5.0.7(7188a26a109556d8d93d095168477c3a) + '@layerzerolabs/ua-devtools-evm': 5.0.7(4f2a62b6719b3d932c871daaf0e61d41) ethers: 5.8.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) hardhat: 2.26.1(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.13.2(@swc/helpers@0.5.17))(@types/node@18.18.14)(typescript@5.8.3))(typescript@5.8.3)(utf-8-validate@5.0.10) hardhat-deploy: 0.12.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -9654,17 +9893,17 @@ snapshots: p-memoize: 4.0.4 typescript: 5.8.3 - '@layerzerolabs/ua-devtools-evm@5.0.7(7188a26a109556d8d93d095168477c3a)': + '@layerzerolabs/ua-devtools-evm@5.0.7(4f2a62b6719b3d932c871daaf0e61d41)': dependencies: '@ethersproject/constants': 5.8.0 '@ethersproject/contracts': 5.8.0 '@layerzerolabs/devtools': 0.4.10(@ethersproject/bytes@5.8.0)(@layerzerolabs/io-devtools@0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76))(@layerzerolabs/lz-definitions@3.0.138)(zod@3.25.76) - '@layerzerolabs/devtools-evm': 1.0.6(663e62ce80436acdd431d898c9f8518b) + '@layerzerolabs/devtools-evm': 1.0.6(8f3ff361319ee89dc7b6067cb05870e4) '@layerzerolabs/io-devtools': 0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76) '@layerzerolabs/lz-definitions': 3.0.138 '@layerzerolabs/lz-v2-utilities': 3.0.116 '@layerzerolabs/protocol-devtools': 2.0.0(@layerzerolabs/devtools@0.4.10(@ethersproject/bytes@5.8.0)(@layerzerolabs/io-devtools@0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76))(@layerzerolabs/lz-definitions@3.0.138)(zod@3.25.76))(@layerzerolabs/io-devtools@0.2.1(ink-gradient@2.0.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink-table@3.1.0(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2))(ink@3.2.0(bufferutil@4.0.9)(react@17.0.2)(utf-8-validate@5.0.10))(react@17.0.2)(yoga-layout-prebuilt@1.10.0)(zod@3.25.76))(@layerzerolabs/lz-definitions@3.0.138)(zod@3.25.76) - '@layerzerolabs/protocol-devtools-evm': 3.0.8(5756a75da0030e1adfeca43b0990c382) + '@layerzerolabs/protocol-devtools-evm': 3.0.8(325bdb5f2929c8c62e827b000f4ab6ba) '@layerzerolabs/ua-devtools': 3.0.6(7fd5c67a43c633589dd9d5d51a1389a8) p-memoize: 4.0.4 zod: 3.25.76 @@ -10353,6 +10592,38 @@ snapshots: - typescript - utf-8-validate + '@solana-program/token@0.9.0(@solana/kit@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)))': + dependencies: + '@solana/kit': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + + '@solana/accounts@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 5.0.0(typescript@5.8.3) + '@solana/codecs-strings': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/rpc-spec': 5.0.0(typescript@5.8.3) + '@solana/rpc-types': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/addresses@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/assertions': 5.0.0(typescript@5.8.3) + '@solana/codecs-core': 5.0.0(typescript@5.8.3) + '@solana/codecs-strings': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/nominal-types': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/assertions@5.0.0(typescript@5.8.3)': + dependencies: + '@solana/errors': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 @@ -10379,6 +10650,11 @@ snapshots: '@solana/errors': 2.3.0(typescript@5.8.3) typescript: 5.8.3 + '@solana/codecs-core@5.0.0(typescript@5.8.3)': + dependencies: + '@solana/errors': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) @@ -10386,6 +10662,13 @@ snapshots: '@solana/errors': 2.0.0-rc.1(typescript@5.8.3) typescript: 5.8.3 + '@solana/codecs-data-structures@5.0.0(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 5.0.0(typescript@5.8.3) + '@solana/codecs-numbers': 5.0.0(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) @@ -10398,6 +10681,12 @@ snapshots: '@solana/errors': 2.3.0(typescript@5.8.3) typescript: 5.8.3 + '@solana/codecs-numbers@5.0.0(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 5.0.0(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) @@ -10406,6 +10695,14 @@ snapshots: fastestsmallesttextencoderdecoder: 1.0.22 typescript: 5.8.3 + '@solana/codecs-strings@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 5.0.0(typescript@5.8.3) + '@solana/codecs-numbers': 5.0.0(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.8.3 + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) @@ -10417,16 +10714,99 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/codecs@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 5.0.0(typescript@5.8.3) + '@solana/codecs-data-structures': 5.0.0(typescript@5.8.3) + '@solana/codecs-numbers': 5.0.0(typescript@5.8.3) + '@solana/codecs-strings': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/options': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/errors@2.0.0-rc.1(typescript@5.8.3)': dependencies: - chalk: 5.4.1 + chalk: 5.6.2 commander: 12.1.0 typescript: 5.8.3 '@solana/errors@2.3.0(typescript@5.8.3)': dependencies: - chalk: 5.4.1 - commander: 14.0.0 + chalk: 5.6.2 + commander: 14.0.1 + typescript: 5.8.3 + + '@solana/errors@5.0.0(typescript@5.8.3)': + dependencies: + chalk: 5.6.2 + commander: 14.0.1 + typescript: 5.8.3 + + '@solana/fast-stable-stringify@5.0.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@solana/functional@5.0.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@solana/instruction-plans@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/instructions': 5.0.0(typescript@5.8.3) + '@solana/promises': 5.0.0(typescript@5.8.3) + '@solana/transaction-messages': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/instructions@5.0.0(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 5.0.0(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/keys@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/assertions': 5.0.0(typescript@5.8.3) + '@solana/codecs-core': 5.0.0(typescript@5.8.3) + '@solana/codecs-strings': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/nominal-types': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/kit@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/accounts': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/addresses': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/functional': 5.0.0(typescript@5.8.3) + '@solana/instruction-plans': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/instructions': 5.0.0(typescript@5.8.3) + '@solana/keys': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/programs': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-parsed-types': 5.0.0(typescript@5.8.3) + '@solana/rpc-spec-types': 5.0.0(typescript@5.8.3) + '@solana/rpc-subscriptions': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/rpc-types': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/signers': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/sysvars': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-confirmation': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/transaction-messages': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - ws + + '@solana/nominal-types@5.0.0(typescript@5.8.3)': + dependencies: typescript: 5.8.3 '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': @@ -10440,6 +10820,168 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/options@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 5.0.0(typescript@5.8.3) + '@solana/codecs-data-structures': 5.0.0(typescript@5.8.3) + '@solana/codecs-numbers': 5.0.0(typescript@5.8.3) + '@solana/codecs-strings': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/programs@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/promises@5.0.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@solana/rpc-api@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 5.0.0(typescript@5.8.3) + '@solana/codecs-strings': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/keys': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-parsed-types': 5.0.0(typescript@5.8.3) + '@solana/rpc-spec': 5.0.0(typescript@5.8.3) + '@solana/rpc-transformers': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-types': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-messages': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/rpc-parsed-types@5.0.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@solana/rpc-spec-types@5.0.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@solana/rpc-spec@5.0.0(typescript@5.8.3)': + dependencies: + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/rpc-spec-types': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/rpc-subscriptions-api@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/keys': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-subscriptions-spec': 5.0.0(typescript@5.8.3) + '@solana/rpc-transformers': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-types': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-messages': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/rpc-subscriptions-channel-websocket@5.0.0(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/functional': 5.0.0(typescript@5.8.3) + '@solana/rpc-subscriptions-spec': 5.0.0(typescript@5.8.3) + '@solana/subscribable': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + '@solana/rpc-subscriptions-spec@5.0.0(typescript@5.8.3)': + dependencies: + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/promises': 5.0.0(typescript@5.8.3) + '@solana/rpc-spec-types': 5.0.0(typescript@5.8.3) + '@solana/subscribable': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/rpc-subscriptions@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/fast-stable-stringify': 5.0.0(typescript@5.8.3) + '@solana/functional': 5.0.0(typescript@5.8.3) + '@solana/promises': 5.0.0(typescript@5.8.3) + '@solana/rpc-spec-types': 5.0.0(typescript@5.8.3) + '@solana/rpc-subscriptions-api': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-subscriptions-channel-websocket': 5.0.0(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/rpc-subscriptions-spec': 5.0.0(typescript@5.8.3) + '@solana/rpc-transformers': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-types': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/subscribable': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - ws + + '@solana/rpc-transformers@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/functional': 5.0.0(typescript@5.8.3) + '@solana/nominal-types': 5.0.0(typescript@5.8.3) + '@solana/rpc-spec-types': 5.0.0(typescript@5.8.3) + '@solana/rpc-types': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/rpc-transport-http@5.0.0(typescript@5.8.3)': + dependencies: + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/rpc-spec': 5.0.0(typescript@5.8.3) + '@solana/rpc-spec-types': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + undici-types: 7.16.0 + + '@solana/rpc-types@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 5.0.0(typescript@5.8.3) + '@solana/codecs-numbers': 5.0.0(typescript@5.8.3) + '@solana/codecs-strings': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/nominal-types': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/rpc@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/fast-stable-stringify': 5.0.0(typescript@5.8.3) + '@solana/functional': 5.0.0(typescript@5.8.3) + '@solana/rpc-api': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-spec': 5.0.0(typescript@5.8.3) + '@solana/rpc-spec-types': 5.0.0(typescript@5.8.3) + '@solana/rpc-transformers': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-transport-http': 5.0.0(typescript@5.8.3) + '@solana/rpc-types': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/signers@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 5.0.0(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/instructions': 5.0.0(typescript@5.8.3) + '@solana/keys': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/nominal-types': 5.0.0(typescript@5.8.3) + '@solana/transaction-messages': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) @@ -10485,6 +11027,71 @@ snapshots: - typescript - utf-8-validate + '@solana/subscribable@5.0.0(typescript@5.8.3)': + dependencies: + '@solana/errors': 5.0.0(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/sysvars@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/accounts': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/rpc-types': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/transaction-confirmation@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/addresses': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-strings': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/keys': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/promises': 5.0.0(typescript@5.8.3) + '@solana/rpc': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-subscriptions': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/rpc-types': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-messages': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - ws + + '@solana/transaction-messages@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 5.0.0(typescript@5.8.3) + '@solana/codecs-data-structures': 5.0.0(typescript@5.8.3) + '@solana/codecs-numbers': 5.0.0(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/functional': 5.0.0(typescript@5.8.3) + '@solana/instructions': 5.0.0(typescript@5.8.3) + '@solana/nominal-types': 5.0.0(typescript@5.8.3) + '@solana/rpc-types': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/transactions@5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 5.0.0(typescript@5.8.3) + '@solana/codecs-data-structures': 5.0.0(typescript@5.8.3) + '@solana/codecs-numbers': 5.0.0(typescript@5.8.3) + '@solana/codecs-strings': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 5.0.0(typescript@5.8.3) + '@solana/functional': 5.0.0(typescript@5.8.3) + '@solana/instructions': 5.0.0(typescript@5.8.3) + '@solana/keys': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/nominal-types': 5.0.0(typescript@5.8.3) + '@solana/rpc-types': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-messages': 5.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.28.2 @@ -11627,7 +12234,7 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.4.1: {} + chalk@5.6.2: {} change-case@4.1.2: dependencies: @@ -11806,7 +12413,7 @@ snapshots: commander@12.1.0: {} - commander@14.0.0: {} + commander@14.0.1: {} commander@2.20.3: {} @@ -12327,7 +12934,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1): + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.1(supports-color@8.1.1) @@ -12338,18 +12945,18 @@ snapshots: tinyglobby: 0.2.14 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): + eslint-module-utils@2.12.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.8.3) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color @@ -12372,7 +12979,7 @@ snapshots: lodash.memoize: 4.1.2 semver: 7.7.2 - eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -12383,7 +12990,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -14282,8 +14889,8 @@ snapshots: lint-staged@16.1.2: dependencies: - chalk: 5.4.1 - commander: 14.0.0 + chalk: 5.6.2 + commander: 14.0.1 debug: 4.4.1(supports-color@8.1.1) lilconfig: 3.1.3 listr2: 8.3.3 @@ -16295,6 +16902,8 @@ snapshots: undici-types@7.10.0: {} + undici-types@7.16.0: {} + undici@5.29.0: dependencies: '@fastify/busboy': 2.1.1 diff --git a/tasks/index.ts b/tasks/index.ts index 7a7f89e1..c7568560 100644 --- a/tasks/index.ts +++ b/tasks/index.ts @@ -17,3 +17,5 @@ import './solana/setOutboundRateLimit' import './solana/updateMetaDataSquad' import './solana/setPeerConfigSquad' import './solana/setSendLibrarySquad' +import './solana/freezeOFTSquad' +import './solana/thawOFTSquad' diff --git a/tasks/solana/freezeOFTSquad.ts b/tasks/solana/freezeOFTSquad.ts new file mode 100644 index 00000000..cac9d02f --- /dev/null +++ b/tasks/solana/freezeOFTSquad.ts @@ -0,0 +1,81 @@ +import { task } from 'hardhat/config' +import { types as devtoolsTypes } from '@layerzerolabs/devtools-evm-hardhat' +import { EndpointId } from '@layerzerolabs/lz-definitions' +import { TOKEN_PROGRAM_ID } from '@solana/spl-token' +import { createSolanaConnectionFactory } from '../common/utils' +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { createNoopSigner, publicKey, signerIdentity } from '@metaplex-foundation/umi' +import { freezeToken, findAssociatedTokenPda, mplToolbox } from '@metaplex-foundation/mpl-toolbox' +import { + getSolanaDeployment, +} from './index' +import { toWeb3JsInstruction } from '@metaplex-foundation/umi-web3js-adapters'; +import bs58 from 'bs58'; +import { VersionedMessage, VersionedTransaction, PublicKey } from '@solana/web3.js' +import { + getAssociatedTokenAddressSync +} from '@solana/spl-token' + +interface FreezeTokenTaskArgs { + eid: EndpointId + owner: string + squadsAuthority: string + freezeAuthority?: string + tokenAccount?: string +} + +// Freeze token account instruction for Squads multisig +task('lz:oft:solana:freeze-token:squads', 'Generates a freeze instruction for Squads multisig') + .addParam('eid', 'Solana mainnet (30168) or testnet (40168)', undefined, devtoolsTypes.eid) + .addParam('owner', 'The owner address of the token account', undefined, devtoolsTypes.string) + .addOptionalParam('tokenAccount', 'The token account address (if not provided, will derive ATA)', undefined, devtoolsTypes.string) + .addParam('squadsAuthority', 'The Squads authority public key (multisig signer)', undefined, devtoolsTypes.string) + .addOptionalParam('freezeAuthority', 'The actual freeze authority on the mint (if different from squadsAuthority)', undefined, devtoolsTypes.string) + .setAction(async ({ eid, owner: ownerStr, squadsAuthority: squadsAuthorityStr, freezeAuthority: freezeAuthorityStr, tokenAccount: tokenAccountStr }: FreezeTokenTaskArgs) => { + // Validate that owner is provided + if (!ownerStr) { + throw new Error('Must provide --owner') + } + + const connectionFactory = createSolanaConnectionFactory() + const connection = await connectionFactory(eid) + const umi = createUmi(connection.rpcEndpoint).use(mplToolbox()) + const solanaDeployment = getSolanaDeployment(eid) + + let squadsAuthority = publicKey(squadsAuthorityStr) + const squadsSigner = createNoopSigner(squadsAuthority); + + umi.use(signerIdentity(squadsSigner)) + + // Derive token account from owner + let tokenAccountPubkey: PublicKey + if (ownerStr) { + const ownerPubkey = new PublicKey(ownerStr) + tokenAccountPubkey = getAssociatedTokenAddressSync(new PublicKey(solanaDeployment.mint), ownerPubkey) + console.log('Derived token account from owner:') + console.log('OWNER:', ownerStr) + console.log('TOKEN ACCOUNT:', tokenAccountPubkey.toString()) + } else { + tokenAccountPubkey = new PublicKey(tokenAccountStr!) + console.log('TOKEN ACCOUNT:', tokenAccountStr) + } + + const builder = freezeToken(umi, { + account: publicKey(tokenAccountPubkey), // The token account to freeze + mint: publicKey(solanaDeployment.mint), // The token mint + owner: publicKey(solanaDeployment.mintAuthority), // The freeze authority (Squads vault) + }); + + builder.setFeePayer(squadsSigner) + await builder.setLatestBlockhash(umi) + const serializedTx = await builder.buildWithLatestBlockhash(umi) + const transactionDataHex = Buffer.from(serializedTx.serializedMessage).toString("hex") + const versionedMessage = VersionedMessage.deserialize(new Uint8Array(Buffer.from(transactionDataHex, 'hex'))) + + const tx = new VersionedTransaction(versionedMessage); + + console.log('BASE58: \n') + console.log(bs58.encode(new Uint8Array(tx.serialize()))) + console.log('\nBASE64: \n') + console.log(Buffer.from(tx.serialize()).toString("base64")); + }) diff --git a/tasks/solana/thawOFTSquad.ts b/tasks/solana/thawOFTSquad.ts new file mode 100644 index 00000000..feb9356d --- /dev/null +++ b/tasks/solana/thawOFTSquad.ts @@ -0,0 +1,94 @@ +import { + createThawAccountInstruction, + getAssociatedTokenAddressSync, + TOKEN_PROGRAM_ID, +} from '@solana/spl-token' +import { task } from 'hardhat/config' + +import { types as devtoolsTypes } from '@layerzerolabs/devtools-evm-hardhat' +import { EndpointId } from '@layerzerolabs/lz-definitions' + +import { VersionedTransaction, PublicKey, TransactionMessage, AccountMeta } from '@solana/web3.js' +import bs58 from 'bs58' +import { createSolanaConnectionFactory } from '../common/utils' + +interface ThawTokenTaskArgs { + eid: EndpointId + tokenAccount?: string + owner?: string + mint: string + squadsAuthority: string +} + +// Thaw (unfreeze) token account instruction for Squads multisig +task('lz:oft:solana:thaw-token:squads', 'Generates a thaw (unfreeze) instruction for Squads multisig') + .addParam('eid', 'Solana mainnet (30168) or testnet (40168)', undefined, devtoolsTypes.eid) + .addOptionalParam('tokenAccount', 'The token account address to thaw (use this OR owner)', undefined, devtoolsTypes.string) + .addOptionalParam('owner', 'The owner address to derive token account from (use this OR tokenAccount)', undefined, devtoolsTypes.string) + .addParam('mint', 'The Token mint public key', undefined, devtoolsTypes.string) + .addParam('squadsAuthority', 'The Squads authority public key (freeze authority)', undefined, devtoolsTypes.string) + .setAction(async ({ eid, tokenAccount: tokenAccountStr, owner: ownerStr, mint: mintStr, squadsAuthority: squadsAuthorityStr }: ThawTokenTaskArgs) => { + // Validate that either tokenAccount or owner is provided + if (!tokenAccountStr && !ownerStr) { + throw new Error('Must provide either --token-account or --owner') + } + if (tokenAccountStr && ownerStr) { + throw new Error('Cannot provide both --token-account and --owner') + } + + const connectionFactory = createSolanaConnectionFactory() + const connection = await connectionFactory(eid) + + const mintPubkey = new PublicKey(mintStr) + const squadsAuthorityPubkey = new PublicKey(squadsAuthorityStr) + + // Derive token account from owner if needed + let tokenAccountPubkey: PublicKey + if (ownerStr) { + const ownerPubkey = new PublicKey(ownerStr) + tokenAccountPubkey = getAssociatedTokenAddressSync(mintPubkey, ownerPubkey) + console.log('Derived token account from owner:') + console.log('OWNER:', ownerStr) + console.log('TOKEN ACCOUNT:', tokenAccountPubkey.toString()) + } else { + tokenAccountPubkey = new PublicKey(tokenAccountStr!) + console.log('TOKEN ACCOUNT:', tokenAccountStr) + } + + const thawInstruction = createThawAccountInstruction( + tokenAccountPubkey, + mintPubkey, + squadsAuthorityPubkey, + [] + ) + + // Mark the Squads authority as a signer by modifying instruction accounts + thawInstruction.keys = thawInstruction.keys.map(account => { + if (account.pubkey.equals(squadsAuthorityPubkey)) { + return { ...account, isSigner: true } + } + return account + }) + + const latestBlockhash = await connection.getLatestBlockhash() + + const message = new TransactionMessage({ + instructions: [thawInstruction], + payerKey: squadsAuthorityPubkey, // Squads multisig pays fees + recentBlockhash: latestBlockhash.blockhash, + }).compileToV0Message() + + const tx = new VersionedTransaction(message) + const serialized = tx.serialize() + + console.log('MINT:', mintStr) + console.log('FREEZE AUTHORITY (Squads):', squadsAuthorityStr) + console.log('\n========================================') + console.log('BASE58 (for Squads UI):') + console.log('========================================\n') + console.log(bs58.encode(Uint8Array.from(serialized))) + console.log('\n========================================') + console.log('BASE64 (alternative):') + console.log('========================================\n') + console.log(Buffer.from(serialized).toString("base64")); + })