From e85e6e43b1cfadb7a5837cd07f89f8df73d61da9 Mon Sep 17 00:00:00 2001 From: Bruno Menezes Date: Fri, 17 Jul 2026 11:23:26 +0100 Subject: [PATCH 1/6] feat(sdk): Include devnet package version in the target folder --- .changeset/proud-bars-type.md | 5 +++++ packages/sdk/Dockerfile | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/proud-bars-type.md diff --git a/.changeset/proud-bars-type.md b/.changeset/proud-bars-type.md new file mode 100644 index 00000000..56265531 --- /dev/null +++ b/.changeset/proud-bars-type.md @@ -0,0 +1,5 @@ +--- +"@cartesi/sdk": patch +--- + +Add devnet package version information in the target folder as simple text file DEVNET_VERSION. diff --git a/packages/sdk/Dockerfile b/packages/sdk/Dockerfile index b98f153d..a793492a 100644 --- a/packages/sdk/Dockerfile +++ b/packages/sdk/Dockerfile @@ -361,6 +361,7 @@ rm /tmp/pimlico-alto.tgz mkdir -p /usr/share/cartesi cp -r "$(npm root -g)/@cartesi/devnet/deployments" /usr/share/cartesi/ cp "$(npm root -g)/@cartesi/devnet/anvil_state.json" /usr/share/cartesi/ +echo ${CARTESI_DEVNET_VERSION} > /usr/share/cartesi/DEVNET_VERSION EOF ENV LC_ALL=en_US.UTF-8 From 460a27051ab5f31fbcac4de86799e61db212707c Mon Sep 17 00:00:00 2001 From: Bruno Menezes Date: Tue, 4 Aug 2026 08:29:53 +0100 Subject: [PATCH 2/6] chore(sdk): cartesi-base-image debian:trixie to latest. --- .changeset/every-banks-sleep.md | 5 +++++ packages/sdk/docker-bake.hcl | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 .changeset/every-banks-sleep.md diff --git a/.changeset/every-banks-sleep.md b/.changeset/every-banks-sleep.md new file mode 100644 index 00000000..90d11beb --- /dev/null +++ b/.changeset/every-banks-sleep.md @@ -0,0 +1,5 @@ +--- +"@cartesi/sdk": patch +--- + +Bump cartesi-base-image debian:trixie to latest version. diff --git a/packages/sdk/docker-bake.hcl b/packages/sdk/docker-bake.hcl index 04eda27c..2fb38ae6 100644 --- a/packages/sdk/docker-bake.hcl +++ b/packages/sdk/docker-bake.hcl @@ -8,7 +8,7 @@ target "default" { args = { ALTO_VERSION = "1.2.7" ALTO_PACKAGE_VERSION = "0.0.20" - CARTESI_BASE_IMAGE = "docker.io/library/debian:trixie-20260610@sha256:fe7312b5f05bf5f43fad76bcd8945642e4e47a68aefd1b73f447615899d0fac1" + CARTESI_BASE_IMAGE = "docker.io/library/debian:trixie-20260803@sha256:34cd9e9fd437c0a095ec39cb2e73422c9f30821b0d0848ed74fd0d43bae4d958" CARTESI_DEVNET_VERSION = "2.0.0-alpha.14" CARTESI_IMAGE_KERNEL_VERSION = "0.20.0" CARTESI_LINUX_KERNEL_VERSION = "6.5.13-ctsi-1-v0.20.0" @@ -20,7 +20,7 @@ target "default" { NITRO_VERSION = "c937fa4fd202074dd250086ebd92de6884968b84" # v0.8.1 NODE_VERSION = "24.14.0" NVM_VERSION = "977563e97ddc66facf3a8e31c6cff01d236f09bd" # 0.40.3 - POSTGRES_BASE_IMAGE = "docker.io/library/postgres:17-trixie@sha256:2203e6282d9e7de7c24d7da234e2a744fb325df366a3fd8ed940e8abbee39527" + POSTGRES_BASE_IMAGE = "docker.io/library/postgres:17-trixie@sha256:7958605b474b3d264a969cb3a123d6aa00ad1e1fe9da8a69984dabb704d93317" SQUASHFS_TOOLS_VERSION = "bad1d213ab6df587d6fa0ef7286180fbf7b86167" # 4.7.4 SU_EXEC_VERSION = "0.3" TELEGRAF_VERSION = "1.38.0" From 04c018d287f9e212b0ad9b9b04c4271c05785114 Mon Sep 17 00:00:00 2001 From: Bruno Menezes Date: Tue, 4 Aug 2026 10:36:37 +0100 Subject: [PATCH 3/6] feat(sdk): Bump image and linux kernel, machine-emulator. Add machine-emulator dependency lua-lpeg --- .changeset/small-carrots-rush.md | 5 +++++ packages/sdk/Dockerfile | 11 ++++++----- packages/sdk/docker-bake.hcl | 6 +++--- 3 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 .changeset/small-carrots-rush.md diff --git a/.changeset/small-carrots-rush.md b/.changeset/small-carrots-rush.md new file mode 100644 index 00000000..b8664dfc --- /dev/null +++ b/.changeset/small-carrots-rush.md @@ -0,0 +1,5 @@ +--- +"@cartesi/sdk": patch +--- + +Bump image-kernel to 0.21.0, linux-kernel to 6.5.13-ctsi-2-v0.21.0 and machine-emulator to 0.21.0. Add machine-emulator dependency lua-lpeg diff --git a/packages/sdk/Dockerfile b/packages/sdk/Dockerfile index a793492a..6774d527 100644 --- a/packages/sdk/Dockerfile +++ b/packages/sdk/Dockerfile @@ -149,7 +149,8 @@ RUN < Date: Mon, 17 Aug 2026 17:25:21 +0100 Subject: [PATCH 4/6] refactor(sdk): Remove contract address listing from the devnet script. --- packages/sdk/devnet | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/sdk/devnet b/packages/sdk/devnet index 22022548..960f2d6c 100755 --- a/packages/sdk/devnet +++ b/packages/sdk/devnet @@ -1,4 +1,3 @@ #!/usr/bin/env sh set -e -jq -r '.contracts | to_entries | sort_by(.key) | .[] | "\(.value.address) \(.key)"' /usr/share/cartesi/deployments/anvil.json exec anvil --load-state /usr/share/cartesi/anvil_state.json "$@" From 2fabd46681d919a764bc55093deabbceb44b4323 Mon Sep 17 00:00:00 2001 From: Bruno Menezes Date: Mon, 17 Aug 2026 17:25:59 +0100 Subject: [PATCH 5/6] refactor(sdk): Fetch the anvil state from the cartesi/dave release. --- .changeset/proud-bars-type.md | 5 ----- .changeset/tidy-owls-shave.md | 5 +++++ packages/sdk/Dockerfile | 23 +++++++++++++++++------ packages/sdk/docker-bake.hcl | 2 +- 4 files changed, 23 insertions(+), 12 deletions(-) delete mode 100644 .changeset/proud-bars-type.md create mode 100644 .changeset/tidy-owls-shave.md diff --git a/.changeset/proud-bars-type.md b/.changeset/proud-bars-type.md deleted file mode 100644 index 56265531..00000000 --- a/.changeset/proud-bars-type.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@cartesi/sdk": patch ---- - -Add devnet package version information in the target folder as simple text file DEVNET_VERSION. diff --git a/.changeset/tidy-owls-shave.md b/.changeset/tidy-owls-shave.md new file mode 100644 index 00000000..134ccdad --- /dev/null +++ b/.changeset/tidy-owls-shave.md @@ -0,0 +1,5 @@ +--- +"@cartesi/sdk": patch +--- + +Drop the @cartesi/devnet dependency from the image. The anvil state dump is now downloaded directly from the cartesi/dave release selected by CARTESI_PRT_VERSION, so the image no longer ships /usr/share/cartesi/deployments nor DEVNET_VERSION. A PRT_VERSION file is written instead. diff --git a/packages/sdk/Dockerfile b/packages/sdk/Dockerfile index 6774d527..fcb5db90 100644 --- a/packages/sdk/Dockerfile +++ b/packages/sdk/Dockerfile @@ -77,6 +77,22 @@ esac tar -zx -f /tmp/foundry.tar.gz -C /usr/local/bin EOF +################################################################################ +# devnet anvil state +# The state dump is produced by the anvil version named in the asset, so +# FOUNDRY_VERSION must be the same one that provides /usr/local/bin/anvil below. +FROM base AS devnet-state +ARG CARTESI_PRT_VERSION +ARG FOUNDRY_VERSION +RUN < /opt/devnet/anvil_state.json +rm /tmp/prt-anvil.tar.gz +echo ${CARTESI_PRT_VERSION} > /opt/devnet/PRT_VERSION +EOF + ################################################################################ # nitro builder FROM builder AS nitro @@ -300,7 +316,6 @@ RUN tar -xJf "/tmp/linux-headers-${CARTESI_LINUX_KERNEL_VERSION}.tar.xz" -C / FROM rollups-runtime ARG ALTO_VERSION ARG ALTO_PACKAGE_VERSION -ARG CARTESI_DEVNET_VERSION ARG CARTESI_MACHINE_EMULATOR_VERSION ARG CARTESI_PAYMASTER_VERSION ARG CARTESI_PASSKEY_SERVER_VERSION @@ -353,16 +368,11 @@ EOF COPY --from=alto /app/alto/src/pimlico-alto-${ALTO_PACKAGE_VERSION}.tgz /tmp/pimlico-alto.tgz RUN < /usr/share/cartesi/DEVNET_VERSION EOF ENV LC_ALL=en_US.UTF-8 @@ -375,6 +385,7 @@ COPY devnet /usr/local/bin COPY eth_isready /usr/local/bin COPY entrypoint.sh /usr/local/bin/ +COPY --from=devnet-state /opt/devnet/ /usr/share/cartesi/ COPY --from=foundry /usr/local/bin/anvil /usr/local/bin/ COPY --from=foundry /usr/local/bin/cast /usr/local/bin/ COPY --from=squashfs-tools /usr/local/src/squashfs-tools/mksquashfs /usr/local/bin/ diff --git a/packages/sdk/docker-bake.hcl b/packages/sdk/docker-bake.hcl index a48ab875..a2a1fc11 100644 --- a/packages/sdk/docker-bake.hcl +++ b/packages/sdk/docker-bake.hcl @@ -9,12 +9,12 @@ target "default" { ALTO_VERSION = "1.2.7" ALTO_PACKAGE_VERSION = "0.0.20" CARTESI_BASE_IMAGE = "docker.io/library/debian:trixie-20260803@sha256:34cd9e9fd437c0a095ec39cb2e73422c9f30821b0d0848ed74fd0d43bae4d958" - CARTESI_DEVNET_VERSION = "2.0.0-alpha.14" CARTESI_IMAGE_KERNEL_VERSION = "0.21.0" CARTESI_LINUX_KERNEL_VERSION = "6.5.13-ctsi-2-v0.21.0" CARTESI_MACHINE_EMULATOR_VERSION = "0.21.0" CARTESI_PASSKEY_SERVER_VERSION = "1.0.1" CARTESI_PAYMASTER_VERSION = "0.2.0" + CARTESI_PRT_VERSION = "3.0.0-alpha.3" CARTESI_ROLLUPS_NODE_VERSION = "2.0.0-alpha.12" FOUNDRY_VERSION = "1.4.3" NITRO_VERSION = "c937fa4fd202074dd250086ebd92de6884968b84" # v0.8.1 From edd91c9bb41fe6b004b3aaec6453a822d0e22aa6 Mon Sep 17 00:00:00 2001 From: Bruno Menezes Date: Mon, 17 Aug 2026 17:26:23 +0100 Subject: [PATCH 6/6] chore(sdk): Bump anvil/foundry to 1.5.1 and prt to 3.0.0-alpha.4. --- .changeset/fresh-pumas-clap.md | 5 +++++ packages/sdk/Dockerfile | 4 ++-- packages/sdk/docker-bake.hcl | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 .changeset/fresh-pumas-clap.md diff --git a/.changeset/fresh-pumas-clap.md b/.changeset/fresh-pumas-clap.md new file mode 100644 index 00000000..6669485c --- /dev/null +++ b/.changeset/fresh-pumas-clap.md @@ -0,0 +1,5 @@ +--- +"@cartesi/sdk": patch +--- + +Bump anvil and foundry to 1.5.1, and the cartesi-rollups-prt release providing the anvil state to 3.0.0-alpha.4. diff --git a/packages/sdk/Dockerfile b/packages/sdk/Dockerfile index fcb5db90..263d5bdc 100644 --- a/packages/sdk/Dockerfile +++ b/packages/sdk/Dockerfile @@ -70,8 +70,8 @@ mkdir -p /usr/local/bin curl -fsSL https://github.com/foundry-rs/foundry/releases/download/v${FOUNDRY_VERSION}/foundry_v${FOUNDRY_VERSION}_${TARGETOS}_${TARGETARCH}.tar.gz \ -o /tmp/foundry.tar.gz case "${TARGETARCH}" in - amd64) echo "325ba04dc5cb41c110723b00ac291f8269f8cd785028299aad8252ef980961a7 /tmp/foundry.tar.gz" | sha256sum --check ;; - arm64) echo "209492cb4ebd723d9eac002fa30f41f53c8810105b67d3c32fe8201cf70f89d4 /tmp/foundry.tar.gz" | sha256sum --check ;; + amd64) echo "73640b01bd9ed29fdb4965085099371f8cf0dbbec3e2086cf54564efc4dcfe88 /tmp/foundry.tar.gz" | sha256sum --check ;; + arm64) echo "cccf28bdf202289e837a9e21ed213b2b80dc1e806e12f1717bc98a44315c331e /tmp/foundry.tar.gz" | sha256sum --check ;; *) echo "unsupported architecture: ${TARGETARCH}"; exit 1 ;; esac tar -zx -f /tmp/foundry.tar.gz -C /usr/local/bin diff --git a/packages/sdk/docker-bake.hcl b/packages/sdk/docker-bake.hcl index a2a1fc11..f3f6a2a3 100644 --- a/packages/sdk/docker-bake.hcl +++ b/packages/sdk/docker-bake.hcl @@ -14,9 +14,9 @@ target "default" { CARTESI_MACHINE_EMULATOR_VERSION = "0.21.0" CARTESI_PASSKEY_SERVER_VERSION = "1.0.1" CARTESI_PAYMASTER_VERSION = "0.2.0" - CARTESI_PRT_VERSION = "3.0.0-alpha.3" + CARTESI_PRT_VERSION = "3.0.0-alpha.4" CARTESI_ROLLUPS_NODE_VERSION = "2.0.0-alpha.12" - FOUNDRY_VERSION = "1.4.3" + FOUNDRY_VERSION = "1.5.1" NITRO_VERSION = "c937fa4fd202074dd250086ebd92de6884968b84" # v0.8.1 NODE_VERSION = "24.14.0" NVM_VERSION = "977563e97ddc66facf3a8e31c6cff01d236f09bd" # 0.40.3