From 46bf9d677ecd14cbf2bbc7afcca19949d37a86b6 Mon Sep 17 00:00:00 2001 From: Danilo Tuler Date: Wed, 11 Feb 2026 18:22:25 -0500 Subject: [PATCH 1/3] feat(sdk): remove eth_load and eth_dump scripts --- .changeset/angry-mammals-yell.md | 5 +++++ packages/sdk/Dockerfile | 2 -- packages/sdk/eth_dump | 11 ----------- packages/sdk/eth_load | 14 -------------- 4 files changed, 5 insertions(+), 27 deletions(-) create mode 100644 .changeset/angry-mammals-yell.md delete mode 100755 packages/sdk/eth_dump delete mode 100755 packages/sdk/eth_load diff --git a/.changeset/angry-mammals-yell.md b/.changeset/angry-mammals-yell.md new file mode 100644 index 00000000..e0633f76 --- /dev/null +++ b/.changeset/angry-mammals-yell.md @@ -0,0 +1,5 @@ +--- +"@cartesi/sdk": patch +--- + +remove unused eth_load and eth_dump scripts diff --git a/packages/sdk/Dockerfile b/packages/sdk/Dockerfile index d153e7e8..e45380f0 100644 --- a/packages/sdk/Dockerfile +++ b/packages/sdk/Dockerfile @@ -330,8 +330,6 @@ ENV LANGUAGE=en_US:en COPY alto /usr/local/bin COPY devnet /usr/local/bin COPY eth_isready /usr/local/bin -COPY eth_dump /usr/local/bin -COPY eth_load /usr/local/bin COPY entrypoint.sh /usr/local/bin/ COPY --from=foundry /usr/local/bin/anvil /usr/local/bin/ diff --git a/packages/sdk/eth_dump b/packages/sdk/eth_dump deleted file mode 100755 index efd396f8..00000000 --- a/packages/sdk/eth_dump +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env sh - -# dump the state from the JSON-RPC server, convert from the hex anvil returns to text, which is a JSON string -curl \ - -sL \ - -X POST \ - -H 'Content-Type: application/json' \ - --data '{"id":1,"jsonrpc":"2.0","method":"anvil_dumpState","params":[]}' "${RPC_URL:-http://127.0.0.1:8545}" | \ -jq -r .result| \ -cut -c 3- | \ -xxd -r -p diff --git a/packages/sdk/eth_load b/packages/sdk/eth_load deleted file mode 100755 index 15e7f976..00000000 --- a/packages/sdk/eth_load +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env sh -set -e -RPC_URL="${RPC_URL:-http://127.0.0.1:8545}" - -# use a large column value so we have everything on one line, even though man says 256 is the maximum -STATE=$(xxd -ps -c 1000000000) - -# build the JSON-RPC request, and write to a file because it's too long for the curl call -DATA="{\"id\":2,\"jsonrpc\":\"2.0\",\"method\":\"anvil_loadState\",\"params\":[\"0x$STATE\"]}" -TMPFILE=$(mktemp) -echo "$DATA" > "$TMPFILE" - -echo "Loading state into ${RPC}" -curl -sL -H 'Content-Type: application/json' -d @"$TMPFILE" "$RPC_URL" | jq -r .result From e5f5c0f5ec46671d3f7a7d83aff66811c60dbcb5 Mon Sep 17 00:00:00 2001 From: Danilo Tuler Date: Wed, 11 Feb 2026 18:33:34 -0500 Subject: [PATCH 2/3] feat(sdk): eth_isready for forked networks --- .changeset/tricky-memes-wash.md | 5 +++++ packages/sdk/eth_isready | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 .changeset/tricky-memes-wash.md diff --git a/.changeset/tricky-memes-wash.md b/.changeset/tricky-memes-wash.md new file mode 100644 index 00000000..fc53cd65 --- /dev/null +++ b/.changeset/tricky-memes-wash.md @@ -0,0 +1,5 @@ +--- +"@cartesi/sdk": patch +--- + +eth_isready for forked networks diff --git a/packages/sdk/eth_isready b/packages/sdk/eth_isready index 1505c005..f0c38958 100755 --- a/packages/sdk/eth_isready +++ b/packages/sdk/eth_isready @@ -1,4 +1,14 @@ #!/usr/bin/env sh +set -eu -# https://ethereum.org/en/developers/docs/apis/json-rpc/#net_listening -curl -X POST -s -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":"1","method":"net_listening","params":[]}' ${RPC_URL:-http://127.0.0.1:8545} | jq '.result' +RPC_URL="${RPC_URL:-http://127.0.0.1:8545}" + +# If a block number argument is provided, check that the chain has reached it +if [ -n "$1" ]; then + current=$(cast block-number --rpc-url "$RPC_URL" 2>/dev/null) || exit 1 + target=$(($1)) + [ "$current" -ge "$target" ] && exit 0 || exit 1 +fi + +# Check if the node is listening +cast client --rpc-url "$RPC_URL" > /dev/null 2>&1 From feb831dc8b1d84064c26842451b1e5b2acac8e96 Mon Sep 17 00:00:00 2001 From: Danilo Tuler Date: Thu, 12 Feb 2026 00:06:59 -0500 Subject: [PATCH 3/3] feat(sdk): bump devnet, new deployments format --- .changeset/khaki-deer-drum.md | 5 +++++ packages/sdk/devnet | 4 ++-- packages/sdk/docker-bake.hcl | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 .changeset/khaki-deer-drum.md diff --git a/.changeset/khaki-deer-drum.md b/.changeset/khaki-deer-drum.md new file mode 100644 index 00000000..41414fae --- /dev/null +++ b/.changeset/khaki-deer-drum.md @@ -0,0 +1,5 @@ +--- +"@cartesi/sdk": patch +--- + +feat(sdk): bump devnet diff --git a/packages/sdk/devnet b/packages/sdk/devnet index ec999f66..22022548 100755 --- a/packages/sdk/devnet +++ b/packages/sdk/devnet @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env sh set -e -jq -rs '. | map({contractName,address}) | unique_by(.address) | sort_by(.contractName) | .[] | "\(.address) \(.contractName)"' /usr/share/cartesi/deployments/*.json +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 "$@" diff --git a/packages/sdk/docker-bake.hcl b/packages/sdk/docker-bake.hcl index fb006161..3034f376 100644 --- a/packages/sdk/docker-bake.hcl +++ b/packages/sdk/docker-bake.hcl @@ -9,7 +9,7 @@ target "default" { ALTO_VERSION = "1.2.5" ALTO_PACKAGE_VERSION = "0.0.18" CARTESI_BASE_IMAGE = "docker.io/library/debian:trixie-20260202-slim@sha256:f6e2cfac5cf956ea044b4bd75e6397b4372ad88fe00908045e9a0d21712ae3ba" - CARTESI_DEVNET_VERSION = "2.0.0-alpha.9" + CARTESI_DEVNET_VERSION = "2.0.0-alpha.10" CARTESI_IMAGE_KERNEL_VERSION = "0.20.0" CARTESI_LINUX_KERNEL_VERSION = "6.5.13-ctsi-1-v0.20.0" CARTESI_MACHINE_EMULATOR_VERSION = "0.19.0"