From 144a859a23c784f0fbd7f261e7f13c24851474d6 Mon Sep 17 00:00:00 2001 From: nazreen <10964594+nazreen@users.noreply.github.com> Date: Thu, 4 Sep 2025 15:18:19 +0800 Subject: [PATCH 01/11] try 1.84.1 --- examples/lzapp-migration/README.md | 2 +- examples/oapp-solana/README.md | 2 +- examples/oapp-solana/rust-toolchain.toml | 2 +- examples/oft-solana/Anchor.toml | 7 +++---- examples/oft-solana/README.md | 2 +- examples/oft-solana/programs/endpoint-mock/src/lib.rs | 2 +- examples/oft-solana/rust-toolchain.toml | 2 +- 7 files changed, 9 insertions(+), 10 deletions(-) diff --git a/examples/lzapp-migration/README.md b/examples/lzapp-migration/README.md index 746c065f7b..04d47e6775 100644 --- a/examples/lzapp-migration/README.md +++ b/examples/lzapp-migration/README.md @@ -16,7 +16,7 @@ ## Requirements -- Rust `nightly-2025-05-01` +- Rust `1.84.1` - Anchor `0.31.1` - Solana CLI `2.2.20` - Docker `28.3.0` diff --git a/examples/oapp-solana/README.md b/examples/oapp-solana/README.md index e6fe6ea60c..340752f599 100644 --- a/examples/oapp-solana/README.md +++ b/examples/oapp-solana/README.md @@ -25,7 +25,7 @@ For a more thorough walkthrough of how a Solana OApp works, refer to [Solana OAp ## Requirements -- Rust `nightly-2025-05-01` +- Rust `1.84.1` - Anchor `v0.31.1` - Solana CLI `v2.2.20` - Docker diff --git a/examples/oapp-solana/rust-toolchain.toml b/examples/oapp-solana/rust-toolchain.toml index 1776b983b0..fcb78ec564 100644 --- a/examples/oapp-solana/rust-toolchain.toml +++ b/examples/oapp-solana/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "nightly-2025-05-01" +channel = "1.84.1" diff --git a/examples/oft-solana/Anchor.toml b/examples/oft-solana/Anchor.toml index 2983f44e12..67cb343bb7 100644 --- a/examples/oft-solana/Anchor.toml +++ b/examples/oft-solana/Anchor.toml @@ -2,18 +2,17 @@ anchor_version = "0.31.1" [features] -seeds = false -skip-lint = false resolution = false +skip-lint = false [programs.localnet] -oft = "G2BYTnfGCMQAErMZkTBCFSapKevzf6QCjizjXi8hFEtJ" +oft = "EVehRoTTihhW8mk1o1iGRWm2wjbC4CWHtWNFjfpTTdRS" [registry] url = "https://api.apr.dev" [provider] -cluster = "Localnet" +cluster = "localnet" wallet = "./junk-id.json" [scripts] diff --git a/examples/oft-solana/README.md b/examples/oft-solana/README.md index 4a7bfbd1c7..ec08e76273 100644 --- a/examples/oft-solana/README.md +++ b/examples/oft-solana/README.md @@ -44,7 +44,7 @@ ## Requirements -- Rust `nightly-2025-05-01` +- Rust `1.84.1` - Anchor `0.31.1` - Solana CLI `2.2.20` - Docker `28.3.0` diff --git a/examples/oft-solana/programs/endpoint-mock/src/lib.rs b/examples/oft-solana/programs/endpoint-mock/src/lib.rs index 2afd6555e6..0c5b2e1085 100644 --- a/examples/oft-solana/programs/endpoint-mock/src/lib.rs +++ b/examples/oft-solana/programs/endpoint-mock/src/lib.rs @@ -5,7 +5,7 @@ use anchor_lang::prelude::*; use instructions::*; use state::*; -declare_id!("6xmPjYnXyxz36xcKkv2zCrZc72LK5hQ9xzY3EjeZ59MV"); +declare_id!("2RnCjyGDeG315BPPpNrTkGYh78RxLvoVKLPkKnaJYaGE"); pub const OAPP_SEED: &[u8] = b"OApp"; diff --git a/examples/oft-solana/rust-toolchain.toml b/examples/oft-solana/rust-toolchain.toml index 45bf249e06..f06204d128 100644 --- a/examples/oft-solana/rust-toolchain.toml +++ b/examples/oft-solana/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2025-05-01" +channel = "1.84.1" components = ["rustfmt", "clippy"] From 91d1d4b2e5f0f776887e7ab34198b74736d2ed66 Mon Sep 17 00:00:00 2001 From: nazreen <10964594+nazreen@users.noreply.github.com> Date: Wed, 1 Oct 2025 00:01:31 +0800 Subject: [PATCH 02/11] try --- Dockerfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Dockerfile b/Dockerfile index 4408200f97..de5d13a517 100644 --- a/Dockerfile +++ b/Dockerfile @@ -112,7 +112,12 @@ RUN apt-get install --yes \ ARG RUST_TOOLCHAIN_VERSION=1.84.1 RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \ | sh -s -- -y --profile minimal --default-toolchain ${RUST_TOOLCHAIN_VERSION} +# Ensure stable is installed and available RUN rustup toolchain install 1.84.1 +# Pre-install nightly to satisfy tools that implicitly try to use nightly +# and ensure the 'cargo' component is available for nightly too +ARG RUST_NIGHTLY_VERSION=nightly-2025-01-01 +RUN rustup toolchain install ${RUST_NIGHTLY_VERSION} && rustup component add --toolchain ${RUST_NIGHTLY_VERSION} cargo RUN rustc --version ### Setup go From 25f0c2e2fcd04f058576a0a7c69d5a808ca49713 Mon Sep 17 00:00:00 2001 From: nazreen <10964594+nazreen@users.noreply.github.com> Date: Wed, 1 Oct 2025 00:02:47 +0800 Subject: [PATCH 03/11] revert --- examples/oft-solana/Anchor.toml | 8 ++++---- examples/oft-solana/programs/endpoint-mock/src/lib.rs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/oft-solana/Anchor.toml b/examples/oft-solana/Anchor.toml index 67cb343bb7..8bf60abcb2 100644 --- a/examples/oft-solana/Anchor.toml +++ b/examples/oft-solana/Anchor.toml @@ -1,18 +1,18 @@ [toolchain] -anchor_version = "0.31.1" +anchor_version = "0.29.0" [features] -resolution = false +seeds = false skip-lint = false [programs.localnet] -oft = "EVehRoTTihhW8mk1o1iGRWm2wjbC4CWHtWNFjfpTTdRS" +oft = "G2BYTnfGCMQAErMZkTBCFSapKevzf6QCjizjXi8hFEtJ" [registry] url = "https://api.apr.dev" [provider] -cluster = "localnet" +cluster = "Localnet" wallet = "./junk-id.json" [scripts] diff --git a/examples/oft-solana/programs/endpoint-mock/src/lib.rs b/examples/oft-solana/programs/endpoint-mock/src/lib.rs index 0c5b2e1085..2afd6555e6 100644 --- a/examples/oft-solana/programs/endpoint-mock/src/lib.rs +++ b/examples/oft-solana/programs/endpoint-mock/src/lib.rs @@ -5,7 +5,7 @@ use anchor_lang::prelude::*; use instructions::*; use state::*; -declare_id!("2RnCjyGDeG315BPPpNrTkGYh78RxLvoVKLPkKnaJYaGE"); +declare_id!("6xmPjYnXyxz36xcKkv2zCrZc72LK5hQ9xzY3EjeZ59MV"); pub const OAPP_SEED: &[u8] = b"OApp"; From 3eaf9a88ece9e7bb6ba5735c13e250ea95a555c7 Mon Sep 17 00:00:00 2001 From: nazreen <10964594+nazreen@users.noreply.github.com> Date: Wed, 1 Oct 2025 00:23:50 +0800 Subject: [PATCH 04/11] fix nightly version --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index de5d13a517..c8c1a368cf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -116,7 +116,7 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \ RUN rustup toolchain install 1.84.1 # Pre-install nightly to satisfy tools that implicitly try to use nightly # and ensure the 'cargo' component is available for nightly too -ARG RUST_NIGHTLY_VERSION=nightly-2025-01-01 +ARG RUST_NIGHTLY_VERSION=nightly-2025-05-01 RUN rustup toolchain install ${RUST_NIGHTLY_VERSION} && rustup component add --toolchain ${RUST_NIGHTLY_VERSION} cargo RUN rustc --version From 11fc76b6965a18444689905f4681e6db84f64be5 Mon Sep 17 00:00:00 2001 From: nazreen <10964594+nazreen@users.noreply.github.com> Date: Wed, 1 Oct 2025 08:24:52 +0800 Subject: [PATCH 05/11] update --- .devcontainer/devcontainer.json | 2 +- .github/workflows/reusable-publish.yaml | 2 +- .github/workflows/reusable-test.yaml | 20 ++++++++++---------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 46abc1caae..21014d64fe 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,6 @@ { "name": "LayerZero Devtools", - "image": "ghcr.io/layerzero-labs/devtools-dev-base:shankar-ci-upgrade", + "image": "ghcr.io/layerzero-labs/devtools-dev-base:solana-examples-update-anchor-version-try-diff-toolchain-version", "mounts": ["type=volume,target=${containerWorkspaceFolder}/node_modules"], "runArgs": ["--env-file", ".env"], "features": { diff --git a/.github/workflows/reusable-publish.yaml b/.github/workflows/reusable-publish.yaml index 7f8f35294b..608e181787 100644 --- a/.github/workflows/reusable-publish.yaml +++ b/.github/workflows/reusable-publish.yaml @@ -31,7 +31,7 @@ jobs: # We'll run the job on the prebuilt base image container: - image: ghcr.io/layerzero-labs/devtools-dev-base:shankar-ci-upgrade + image: ghcr.io/layerzero-labs/devtools-dev-base:solana-examples-update-anchor-version-try-diff-toolchain-version steps: - name: Checkout repo diff --git a/.github/workflows/reusable-test.yaml b/.github/workflows/reusable-test.yaml index 4837afc833..087e953f38 100644 --- a/.github/workflows/reusable-test.yaml +++ b/.github/workflows/reusable-test.yaml @@ -38,7 +38,7 @@ jobs: # We'll run the job on the prebuilt base image container: - image: ghcr.io/layerzero-labs/devtools-dev-base:shankar-ci-upgrade + image: ghcr.io/layerzero-labs/devtools-dev-base:solana-examples-update-anchor-version-try-diff-toolchain-version steps: - name: Checkout repo @@ -107,11 +107,11 @@ jobs: JEST_TIMEOUT: 60_000 # Increase timeout for ARM builds TEST_TIMEOUT: 600_000 # 10 minutes timeout for long-running tests # We'll use the prebuilt base image - DEVTOOLS_BASE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-base:shankar-ci-upgrade + DEVTOOLS_BASE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-base:solana-examples-update-anchor-version-try-diff-toolchain-version # And the prebuilt hardhat EVM node image - DEVTOOLS_EVM_NODE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-node-evm-hardhat:shankar-ci-upgrade + DEVTOOLS_EVM_NODE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-node-evm-hardhat:solana-examples-update-anchor-version-try-diff-toolchain-version # And the prebuilt TON node image - DEVTOOLS_TON_NODE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-node-ton-my-local-ton:shankar-ci-upgrade + DEVTOOLS_TON_NODE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-node-ton-my-local-ton:solana-examples-update-anchor-version-try-diff-toolchain-version # Provided we have good quality Solana RPCs, we can enable Solana tests # # FIXME The Solana tests need to be ported to either use a stable deployment @@ -175,17 +175,17 @@ jobs: LAYERZERO_EXAMPLES_REPOSITORY_URL: https://github.com/${{ github.repository }}.git LAYERZERO_EXAMPLES_REPOSITORY_REF: ${{ github.ref }} # We'll use the prebuilt base image - DEVTOOLS_BASE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-base:shankar-ci-upgrade + DEVTOOLS_BASE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-base:solana-examples-update-anchor-version-try-diff-toolchain-version # And the prebuilt hardhat EVM node image - DEVTOOLS_EVM_NODE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-node-evm-hardhat:shankar-ci-upgrade + DEVTOOLS_EVM_NODE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-node-evm-hardhat:solana-examples-update-anchor-version-try-diff-toolchain-version # Using the local Aptos testnet node - DEVTOOLS_APTOS_NODE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-node-aptos-local-testnet:shankar-ci-upgrade + DEVTOOLS_APTOS_NODE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-node-aptos-local-testnet:solana-examples-update-anchor-version-try-diff-toolchain-version # Using the local TON node - i do not know if this is working - DEVTOOLS_TON_NODE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-node-ton-my-local-ton:shankar-ci-upgrade + DEVTOOLS_TON_NODE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-node-ton-my-local-ton:solana-examples-update-anchor-version-try-diff-toolchain-version # Using the local Initia node - DEVTOOLS_INITIA_NODE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-node-initia-localnet:shankar-ci-upgrade + DEVTOOLS_INITIA_NODE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-node-initia-localnet:solana-examples-update-anchor-version-try-diff-toolchain-version # Using the local Solana test validator - may fail due to RPC issues - DEVTOOLS_SOLANA_NODE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-node-solana-test-validator:shankar-ci-upgrade + DEVTOOLS_SOLANA_NODE_IMAGE: ghcr.io/layerzero-labs/devtools-dev-node-solana-test-validator:solana-examples-update-anchor-version-try-diff-toolchain-version # We'll collect the docker compose logs from all containers on failure From 44784d271d41a14af06fc23176faa0369cf0b49c Mon Sep 17 00:00:00 2001 From: nazreen <10964594+nazreen@users.noreply.github.com> Date: Wed, 1 Oct 2025 08:37:56 +0800 Subject: [PATCH 06/11] update anchor version --- examples/oft-solana/Anchor.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/oft-solana/Anchor.toml b/examples/oft-solana/Anchor.toml index 8bf60abcb2..48f128dac9 100644 --- a/examples/oft-solana/Anchor.toml +++ b/examples/oft-solana/Anchor.toml @@ -1,5 +1,5 @@ [toolchain] -anchor_version = "0.29.0" +anchor_version = "0.31.1" [features] seeds = false From 9cbb0e7661a511fff1f0ed1c78487f76c2a6d863 Mon Sep 17 00:00:00 2001 From: nazreen <10964594+nazreen@users.noreply.github.com> Date: Wed, 1 Oct 2025 08:38:42 +0800 Subject: [PATCH 07/11] reinsert --- examples/oft-solana/Anchor.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/oft-solana/Anchor.toml b/examples/oft-solana/Anchor.toml index 48f128dac9..2983f44e12 100644 --- a/examples/oft-solana/Anchor.toml +++ b/examples/oft-solana/Anchor.toml @@ -4,6 +4,7 @@ anchor_version = "0.31.1" [features] seeds = false skip-lint = false +resolution = false [programs.localnet] oft = "G2BYTnfGCMQAErMZkTBCFSapKevzf6QCjizjXi8hFEtJ" From 5826694dfd9a494b8d3aa10addabe01abadb58ba Mon Sep 17 00:00:00 2001 From: nazreen <10964594+nazreen@users.noreply.github.com> Date: Wed, 1 Oct 2025 08:44:49 +0800 Subject: [PATCH 08/11] update lockfiles --- examples/lzapp-migration/pnpm-lock.yaml | 43 ++++++++++++++++++++- examples/oapp-solana/pnpm-lock.yaml | 43 ++++++++++++++++++++- examples/oft-solana/pnpm-lock.yaml | 50 ++++++++++++++++++++++--- 3 files changed, 127 insertions(+), 9 deletions(-) diff --git a/examples/lzapp-migration/pnpm-lock.yaml b/examples/lzapp-migration/pnpm-lock.yaml index 039a95897b..a90231aa4e 100644 --- a/examples/lzapp-migration/pnpm-lock.yaml +++ b/examples/lzapp-migration/pnpm-lock.yaml @@ -84,8 +84,8 @@ devDependencies: specifier: ^7.23.9 version: 7.28.4 '@coral-xyz/anchor': - specifier: ^0.29.0 - version: 0.29.0 + specifier: ^0.31.1 + version: 0.31.1 '@layerzerolabs/eslint-config-next': specifier: ~2.3.39 version: 2.3.44(typescript@5.9.2) @@ -460,6 +460,11 @@ packages: engines: {node: '>=10'} dev: false + /@coral-xyz/anchor-errors@0.31.1: + resolution: {integrity: sha512-NhNEku4F3zzUSBtrYz84FzYWm48+9OvmT1Hhnwr6GnPQry2dsEqH/ti/7ASjjpoFTWRnPXrjAIT1qM6Isop+LQ==} + engines: {node: '>=10'} + dev: true + /@coral-xyz/anchor@0.29.0: resolution: {integrity: sha512-eny6QNG0WOwqV0zQ7cs/b1tIuzZGmP7U7EcH+ogt4Gdbl8HDmIYVMh/9aTmYZPaFWjtUaI8qSn73uYEXWfATdA==} engines: {node: '>=11'} @@ -508,6 +513,29 @@ packages: - utf-8-validate dev: false + /@coral-xyz/anchor@0.31.1: + resolution: {integrity: sha512-QUqpoEK+gi2S6nlYc2atgT2r41TT3caWr/cPUEL8n8Md9437trZ68STknq897b82p5mW0XrTBNOzRbmIRJtfsA==} + engines: {node: '>=17'} + dependencies: + '@coral-xyz/anchor-errors': 0.31.1 + '@coral-xyz/borsh': 0.31.1(@solana/web3.js@1.95.8) + '@noble/hashes': 1.8.0 + '@solana/web3.js': 1.95.8 + bn.js: 5.2.2 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + eventemitter3: 4.0.7 + pako: 2.1.0 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + dev: true + /@coral-xyz/borsh@0.29.0(@solana/web3.js@1.95.8): resolution: {integrity: sha512-s7VFVa3a0oqpkuRloWVPdCK7hMbAMY270geZOGfCnaqexrP5dTIpbEHL33req6IYPPJ0hYa71cdvJ1h6V55/oQ==} engines: {node: '>=10'} @@ -529,6 +557,17 @@ packages: buffer-layout: 1.2.2 dev: false + /@coral-xyz/borsh@0.31.1(@solana/web3.js@1.95.8): + resolution: {integrity: sha512-9N8AU9F0ubriKfNE3g1WF0/4dtlGXoBN/hd1PvbNBamBNwRgHxH4P+o3Zt7rSEloW1HUs6LfZEchlx9fW7POYw==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.69.0 + dependencies: + '@solana/web3.js': 1.95.8 + bn.js: 5.2.2 + buffer-layout: 1.2.2 + dev: true + /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} diff --git a/examples/oapp-solana/pnpm-lock.yaml b/examples/oapp-solana/pnpm-lock.yaml index bf3d376c1d..b50bee70e6 100644 --- a/examples/oapp-solana/pnpm-lock.yaml +++ b/examples/oapp-solana/pnpm-lock.yaml @@ -30,8 +30,8 @@ devDependencies: specifier: ^7.23.9 version: 7.28.4 '@coral-xyz/anchor': - specifier: ^0.29.0 - version: 0.29.0 + specifier: ^0.31.1 + version: 0.31.1 '@layerzerolabs/devtools': specifier: ~2.0.0 version: 2.0.1(@ethersproject/bytes@5.7.0)(@layerzerolabs/io-devtools@0.3.1)(@layerzerolabs/lz-definitions@3.0.128)(zod@3.25.76) @@ -445,6 +445,11 @@ packages: engines: {node: '>=10'} dev: true + /@coral-xyz/anchor-errors@0.31.1: + resolution: {integrity: sha512-NhNEku4F3zzUSBtrYz84FzYWm48+9OvmT1Hhnwr6GnPQry2dsEqH/ti/7ASjjpoFTWRnPXrjAIT1qM6Isop+LQ==} + engines: {node: '>=10'} + dev: true + /@coral-xyz/anchor@0.29.0: resolution: {integrity: sha512-eny6QNG0WOwqV0zQ7cs/b1tIuzZGmP7U7EcH+ogt4Gdbl8HDmIYVMh/9aTmYZPaFWjtUaI8qSn73uYEXWfATdA==} engines: {node: '>=11'} @@ -494,6 +499,29 @@ packages: - utf-8-validate dev: true + /@coral-xyz/anchor@0.31.1: + resolution: {integrity: sha512-QUqpoEK+gi2S6nlYc2atgT2r41TT3caWr/cPUEL8n8Md9437trZ68STknq897b82p5mW0XrTBNOzRbmIRJtfsA==} + engines: {node: '>=17'} + dependencies: + '@coral-xyz/anchor-errors': 0.31.1 + '@coral-xyz/borsh': 0.31.1(@solana/web3.js@1.95.8) + '@noble/hashes': 1.8.0 + '@solana/web3.js': 1.95.8 + bn.js: 5.2.2 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + eventemitter3: 4.0.7 + pako: 2.1.0 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + dev: true + /@coral-xyz/borsh@0.29.0(@solana/web3.js@1.95.8): resolution: {integrity: sha512-s7VFVa3a0oqpkuRloWVPdCK7hMbAMY270geZOGfCnaqexrP5dTIpbEHL33req6IYPPJ0hYa71cdvJ1h6V55/oQ==} engines: {node: '>=10'} @@ -516,6 +544,17 @@ packages: buffer-layout: 1.2.2 dev: true + /@coral-xyz/borsh@0.31.1(@solana/web3.js@1.95.8): + resolution: {integrity: sha512-9N8AU9F0ubriKfNE3g1WF0/4dtlGXoBN/hd1PvbNBamBNwRgHxH4P+o3Zt7rSEloW1HUs6LfZEchlx9fW7POYw==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.69.0 + dependencies: + '@solana/web3.js': 1.95.8 + bn.js: 5.2.2 + buffer-layout: 1.2.2 + dev: true + /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} diff --git a/examples/oft-solana/pnpm-lock.yaml b/examples/oft-solana/pnpm-lock.yaml index 5022b0f29d..a976c264bb 100644 --- a/examples/oft-solana/pnpm-lock.yaml +++ b/examples/oft-solana/pnpm-lock.yaml @@ -11,8 +11,8 @@ overrides: devDependencies: '@coral-xyz/anchor': - specifier: ^0.29.0 - version: 0.29.0(typescript@5.9.2) + specifier: ^0.31.1 + version: 0.31.1(typescript@5.9.2) '@ethersproject/abi': specifier: ^5.7.0 version: 5.8.0 @@ -648,6 +648,11 @@ packages: engines: {node: '>=10'} dev: true + /@coral-xyz/anchor-errors@0.31.1: + resolution: {integrity: sha512-NhNEku4F3zzUSBtrYz84FzYWm48+9OvmT1Hhnwr6GnPQry2dsEqH/ti/7ASjjpoFTWRnPXrjAIT1qM6Isop+LQ==} + engines: {node: '>=10'} + dev: true + /@coral-xyz/anchor@0.26.0(typescript@5.9.2): resolution: {integrity: sha512-PxRl+wu5YyptWiR9F2MBHOLLibm87Z4IMUBPreX+DYBtPM+xggvcPi0KAN7+kIL4IrIhXI8ma5V0MCXxSN1pHg==} engines: {node: '>=11'} @@ -725,6 +730,30 @@ packages: - utf-8-validate dev: true + /@coral-xyz/anchor@0.31.1(typescript@5.9.2): + resolution: {integrity: sha512-QUqpoEK+gi2S6nlYc2atgT2r41TT3caWr/cPUEL8n8Md9437trZ68STknq897b82p5mW0XrTBNOzRbmIRJtfsA==} + engines: {node: '>=17'} + dependencies: + '@coral-xyz/anchor-errors': 0.31.1 + '@coral-xyz/borsh': 0.31.1(@solana/web3.js@1.98.4) + '@noble/hashes': 1.8.0 + '@solana/web3.js': 1.98.4(typescript@5.9.2) + bn.js: 5.2.2 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + eventemitter3: 4.0.7 + pako: 2.1.0 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + dev: true + /@coral-xyz/borsh@0.26.0(@solana/web3.js@1.98.4): resolution: {integrity: sha512-uCZ0xus0CszQPHYfWAqKS5swS1UxvePu83oOF+TWpUkedsNlg6p2p4azxZNSSqwXb9uXMFgxhuMBX9r3Xoi0vQ==} engines: {node: '>=10'} @@ -758,6 +787,17 @@ packages: buffer-layout: 1.2.2 dev: true + /@coral-xyz/borsh@0.31.1(@solana/web3.js@1.98.4): + resolution: {integrity: sha512-9N8AU9F0ubriKfNE3g1WF0/4dtlGXoBN/hd1PvbNBamBNwRgHxH4P+o3Zt7rSEloW1HUs6LfZEchlx9fW7POYw==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.98.0 + dependencies: + '@solana/web3.js': 1.98.4(typescript@5.9.2) + bn.js: 5.2.2 + buffer-layout: 1.2.2 + dev: true + /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -1089,7 +1129,7 @@ packages: functional-red-black-tree: 1.0.1 mcl-wasm: 0.7.9 merkle-patricia-tree: 4.2.4 - rustbn.js: 0.2.0 + rustbn.js: 0.3.0 transitivePeerDependencies: - supports-color dev: true @@ -11093,8 +11133,8 @@ packages: queue-microtask: 1.2.3 dev: true - /rustbn.js@0.2.0: - resolution: {integrity: sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==} + /rustbn.js@0.3.0: + resolution: {integrity: sha512-RXLW0TSDBFlujBgq/ZdWa6ADGKiEFZgSqRdCcSXy8XiPqLPApKwaJjf14ImspysQm2mI8hA3EBWN+IOQReqwtA==} dev: true /rxjs@7.8.2: From 77b60c470e38a6f03cd5d20cfadb2aa25938f9b2 Mon Sep 17 00:00:00 2001 From: nazreen <10964594+nazreen@users.noreply.github.com> Date: Wed, 1 Oct 2025 08:52:58 +0800 Subject: [PATCH 09/11] map moving nightly to pinned nightly --- Dockerfile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index c8c1a368cf..3319e5b8ca 100644 --- a/Dockerfile +++ b/Dockerfile @@ -114,10 +114,14 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \ | sh -s -- -y --profile minimal --default-toolchain ${RUST_TOOLCHAIN_VERSION} # Ensure stable is installed and available RUN rustup toolchain install 1.84.1 -# Pre-install nightly to satisfy tools that implicitly try to use nightly -# and ensure the 'cargo' component is available for nightly too +# Pre-install nightly toolchains used by Anchor IDL builds +# Install both a pinned nightly and the moving 'nightly' channel with required components ARG RUST_NIGHTLY_VERSION=nightly-2025-05-01 -RUN rustup toolchain install ${RUST_NIGHTLY_VERSION} && rustup component add --toolchain ${RUST_NIGHTLY_VERSION} cargo +RUN rustup toolchain install ${RUST_NIGHTLY_VERSION} && \ + rustup component add --toolchain ${RUST_NIGHTLY_VERSION} cargo rustfmt clippy +# Map the moving 'nightly' alias to the pinned nightly to avoid updates +RUN host=$(rustc -vV | sed -n 's/^host: //p') && \ + rustup toolchain link nightly /root/.rustup/toolchains/${RUST_NIGHTLY_VERSION}-${host} RUN rustc --version ### Setup go From c87c6e0af91da1723bb30653927c0aa1df91a571 Mon Sep 17 00:00:00 2001 From: nazreen <10964594+nazreen@users.noreply.github.com> Date: Thu, 2 Oct 2025 00:44:52 +0800 Subject: [PATCH 10/11] fix --- Dockerfile | 3 --- 1 file changed, 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3319e5b8ca..e9636f8506 100644 --- a/Dockerfile +++ b/Dockerfile @@ -119,9 +119,6 @@ RUN rustup toolchain install 1.84.1 ARG RUST_NIGHTLY_VERSION=nightly-2025-05-01 RUN rustup toolchain install ${RUST_NIGHTLY_VERSION} && \ rustup component add --toolchain ${RUST_NIGHTLY_VERSION} cargo rustfmt clippy -# Map the moving 'nightly' alias to the pinned nightly to avoid updates -RUN host=$(rustc -vV | sed -n 's/^host: //p') && \ - rustup toolchain link nightly /root/.rustup/toolchains/${RUST_NIGHTLY_VERSION}-${host} RUN rustc --version ### Setup go From bf8190e014cc3d0ca9a62edfea2ee6bbb34607a7 Mon Sep 17 00:00:00 2001 From: nazreen <10964594+nazreen@users.noreply.github.com> Date: Thu, 2 Oct 2025 22:20:28 +0800 Subject: [PATCH 11/11] set toolchain version --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index e9636f8506..b6028439f3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -119,6 +119,7 @@ RUN rustup toolchain install 1.84.1 ARG RUST_NIGHTLY_VERSION=nightly-2025-05-01 RUN rustup toolchain install ${RUST_NIGHTLY_VERSION} && \ rustup component add --toolchain ${RUST_NIGHTLY_VERSION} cargo rustfmt clippy +ENV RUSTUP_TOOLCHAIN=${RUST_NIGHTLY_VERSION} RUN rustc --version ### Setup go