Skip to content

Commit ff13bed

Browse files
committed
feat: Corrected samples and tests for new version
1 parent 3b97760 commit ff13bed

10 files changed

Lines changed: 60 additions & 102 deletions

File tree

.github/workflows/build-and-release.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ jobs:
5959
cartesapp test --cartesi-machine --config-file "./cartesi.toml" --log-level debug \
6060
--drive-config "root.dockerfile=sample_apps/wallet_app/${{ matrix.images.image }}.dockerfile" \
6161
--drive-config "app.dockerfile=sample_apps/wallet_app/${{ matrix.images.image }}.dockerfile" \
62-
--drive-config "state.dockerfile=sample_apps/wallet_app/${{ matrix.images.image }}.dockerfile" \
6362
sample_apps/tests/ledger/
6463
6564
- name: Build Wheels

cartesi.toml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,9 @@ target = "app"
2020
build_args = ["WALLET_APP_CONFIG=config.py","APP_DIR=sample_apps/wallet_app","INSTALL_STEP=build-local"]
2121

2222
[drives.state]
23-
builder = "docker"
24-
dockerfile = "sample_apps/wallet_app/alpine.dockerfile"
25-
target = "state"
26-
build_args=["WALLET_APP_CONFIG=config.py","APP_DIR=sample_apps/wallet_app","INSTALL_STEP=build-local"]
27-
format = "none"
28-
output_type = "local"
29-
#buildx = true
30-
user = "dapp"
23+
builder = "empty"
24+
size = "64Mb"
25+
mke2fs = "false"
3126
mount = "false"
32-
avoid_overwrite = "true"
27+
format = "raw"
28+
user = "dapp"

sample_apps/tests/ledger/test_erc721_wallet.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,4 +159,7 @@ def test_should_not_have_balance2(
159159
hex_payload = str2hex(json.dumps(payload))
160160
app_client.send_inspect(hex_payload=hex_payload)
161161

162-
assert not app_client.rollup.status # asset removed
162+
assert app_client.rollup.status # asset removed
163+
164+
report = app_client.rollup.reports[-1]['data']['payload']
165+
assert int(report,16) == 0

sample_apps/tests/test_config.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
ETHER_PORTAL_ADDRESS = "0xA632c5c05812c6a6149B7af5C56117d1D2603828"
2-
ERC20_PORTAL_ADDRESS = "0xACA6586A0Cf05bD831f2501E7B4aea550dA6562D"
3-
ERC721_PORTAL_ADDRESS = "0x9E8851dadb2b77103928518846c4678d48b5e371"
4-
ERC1155_SINGLE_PORTAL_ADDRESS = "0x18558398Dd1a8cE20956287a4Da7B76aE7A96662"
5-
ERC1155_BATCH_PORTAL_ADDRESS = "0xe246Abb974B307490d9C6932F48EbE79de72338A"
1+
ETHER_PORTAL_ADDRESS = "0x8b53327575ac999bdfa8003f4b5134DFF9027516"
2+
ERC20_PORTAL_ADDRESS = "0x22E57511C30CcE6CDaa742E13CE3b774fDC663b1"
3+
ERC721_PORTAL_ADDRESS = "0xcA3a0a47915C12F020CF70B938aCC8e744414cb8"
4+
ERC1155_SINGLE_PORTAL_ADDRESS = "0x13663E193673756a02e84b724B8a3422A9a7aab4"
5+
ERC1155_BATCH_PORTAL_ADDRESS = "0x3649c5E2De91C69a7Bb80D864f0039da5E511096"

sample_apps/wallet_app/alpine.dockerfile

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
# syntax=docker.io/docker/dockerfile:1
22
ARG APT_UPDATE_SNAPSHOT=20260113T030400Z
3-
ARG MACHINE_GUEST_TOOLS_VERSION=0.17.1-r1
3+
ARG MACHINE_GUEST_TOOLS_VERSION=0.17.2-r1
44
ARG MACHINE_GUEST_TOOLS_SHA256SUM=c077573dbcf0cdc146adf14b480bfe454ca63aa4d3e8408c5487f550a5b77a41
55
ARG MACHINE_ASSET_TOOLS_VERSION=0.1.0-alpha.8
6-
ARG MACHINE_ASSET_TOOLS_TAR=https://github.com/Mugen-Builders/machine-asset-tools/releases/download/v${MACHINE_ASSET_TOOLS_VERSION}/machine-asset-tools_musl_riscv64_v${MACHINE_ASSET_TOOLS_VERSION}.tar.gz
7-
ARG MACHINE_ASSET_TOOLS_TAR_CHECKSUM=sha256:8c8b228c07fa822e63743c58307e28fe84adcfaff75663b6d341a44e6f797e54
6+
# ARG MACHINE_ASSET_TOOLS_TAR=https://github.com/Mugen-Builders/machine-asset-tools/releases/download/v${MACHINE_ASSET_TOOLS_VERSION}/machine-asset-tools_musl_riscv64_v${MACHINE_ASSET_TOOLS_VERSION}.tar.gz
7+
# ARG MACHINE_ASSET_TOOLS_TAR_CHECKSUM=sha256:b1f124b29d560dc7e489af97f1d992596e936aff1550e7735672e0be79879253
88
ARG MACHINE_ASSET_TOOLS_DEV_TAR=https://github.com/Mugen-Builders/machine-asset-tools/releases/download/v${MACHINE_ASSET_TOOLS_VERSION}/machine-asset-tools_musl_riscv64_dev_v${MACHINE_ASSET_TOOLS_VERSION}.tar.gz
9-
ARG MACHINE_ASSET_TOOLS_DEV_TAR_CHECKSUM=sha256:63a7de3880e5695f86c6598bc53e4ee4924902436f90252d78b7798a5501ded5
9+
ARG MACHINE_ASSET_TOOLS_DEV_TAR_CHECKSUM=sha256:77af16a6fd7ba8fe0454701105a51dee5ce6f198036b6c0b8e7184982f9c0e06
1010

1111
ARG APP_DIR=.
1212
ARG WALLET_APP_CONFIG=config.py
1313
ARG INSTALL_STEP=install
1414
ARG STATE_FILESIZE=67108864
1515

1616
# ARG IMAGE_VERSION=3.13.12-alpine3.22
17-
ARG IMAGE_VERSION=3.12.12-alpine3.22
17+
ARG IMAGE_VERSION=3.12.13-alpine3.24
1818
FROM --platform=linux/riscv64 riscv64/python:${IMAGE_VERSION} AS base
1919

2020
# Install tools
2121
ARG MACHINE_GUEST_TOOLS_VERSION
22-
ADD --chmod=644 https://edubart.github.io/linux-packages/apk/keys/cartesi-apk-key.rsa.pub /etc/apk/keys/cartesi-apk-key.rsa.pub
23-
RUN echo "https://edubart.github.io/linux-packages/apk/stable" >> /etc/apk/repositories
22+
ADD --chmod=644 https://cartesi.github.io/linux-packages/apk/keys/cartesi-apk-key.rsa.pub /etc/apk/keys/cartesi-apk-key.rsa.pub
23+
RUN echo "https://cartesi.github.io/linux-packages/apk/stable" >> /etc/apk/repositories
2424
RUN apk update && apk add cartesi-machine-guest-tools=$MACHINE_GUEST_TOOLS_VERSION
2525

2626
# ARG MACHINE_ASSET_TOOLS_TAR
@@ -60,7 +60,7 @@ RUN <<EOF
6060
set -e
6161
apk update
6262
apk add \
63-
build-base=0.5-r3 \
63+
build-base=0.5-r4 \
6464
cartesi-machine-guest-libcmt-dev=${MACHINE_GUEST_TOOLS_VERSION}
6565
EOF
6666

@@ -148,20 +148,5 @@ ARG WALLET_APP_CONFIG
148148
COPY ${APP_DIR}/app.py .
149149
COPY ${APP_DIR}/${WALLET_APP_CONFIG} .
150150

151-
### State
152-
FROM --platform=linux/riscv64 rootfs AS state-builder
153-
154-
COPY --from=app-scratch / /opt/cartesi/app
155-
156-
WORKDIR /opt/cartesi/app/data
157-
158-
ARG STATE_FILESIZE
159-
160-
RUN /usr/local/bin/python3 /opt/cartesi/app/app.py /opt/cartesi/app/data/state.bin 1
161-
162-
FROM --platform=linux/riscv64 scratch AS state
163-
164-
COPY --from=state-builder /opt/cartesi/app/data/state.bin /
165-
166151
### App
167152
FROM --platform=linux/riscv64 app-scratch AS app

sample_apps/wallet_app/app.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -304,10 +304,6 @@ def handle_inspect(rollup, ledger):
304304

305305
mem_file = sys.argv[1]
306306
create_file = False
307-
if len(sys.argv) > 2:
308-
create_file = True
309-
with open(mem_file, "wb") as f:
310-
f.truncate(LEDGER_OFFSET + MEMORY_SIZE)
311307

312308
rollup = RollupCma()
313309
ledger = Ledger(
@@ -316,14 +312,10 @@ def handle_inspect(rollup, ledger):
316312
mem_length = MEMORY_SIZE,
317313
n_accounts = MAX_ACCOUNTS,
318314
n_assets = MAX_ASSETS,
319-
n_balances = MAX_BALANCES,
320-
initialize_memory = create_file
315+
n_balances = MAX_BALANCES
321316
)
322-
if create_file:
323-
asset_info = ledger.retrieve_asset(base_token = True)
324-
exit(0)
325317

326-
asset_info = ledger.retrieve_asset(base_token = True, force_find = True)
318+
asset_info = ledger.retrieve_asset(base_token = True)
327319
EtherId.set(asset_info['asset_id'])
328320

329321
accept_previous_request = True

sample_apps/wallet_app/cartesi.toml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,9 @@ target = "app"
1919
build_args=["WALLET_APP_CONFIG=config.py"]
2020

2121
[drives.state]
22-
builder = "docker"
23-
dockerfile = "alpine.dockerfile"
24-
target = "state"
25-
build_args=["WALLET_APP_CONFIG=config.py"]
26-
format = "none"
27-
output_type = "local"
28-
#buildx = true
29-
user = "dapp"
22+
builder = "empty"
23+
size = "64Mb"
24+
mke2fs = "false"
3025
mount = "false"
31-
avoid_overwrite = "true"
26+
format = "raw"
27+
user = "dapp"

sample_apps/wallet_app/config.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
ETHER_PORTAL_ADDRESS = "0xA632c5c05812c6a6149B7af5C56117d1D2603828"[2:].lower()
2-
ERC20_PORTAL_ADDRESS = "0xACA6586A0Cf05bD831f2501E7B4aea550dA6562D"[2:].lower()
3-
ERC721_PORTAL_ADDRESS = "0x9E8851dadb2b77103928518846c4678d48b5e371"[2:].lower()
4-
ERC1155_SINGLE_PORTAL_ADDRESS = "0x18558398Dd1a8cE20956287a4Da7B76aE7A96662"[2:].lower()
5-
ERC1155_BATCH_PORTAL_ADDRESS = "0xe246Abb974B307490d9C6932F48EbE79de72338A"[2:].lower()
1+
ETHER_PORTAL_ADDRESS = "0x8b53327575ac999bdfa8003f4b5134DFF9027516"[2:].lower()
2+
ERC20_PORTAL_ADDRESS = "0x22E57511C30CcE6CDaa742E13CE3b774fDC663b1"[2:].lower()
3+
ERC721_PORTAL_ADDRESS = "0xcA3a0a47915C12F020CF70B938aCC8e744414cb8"[2:].lower()
4+
ERC1155_SINGLE_PORTAL_ADDRESS = "0x13663E193673756a02e84b724B8a3422A9a7aab4"[2:].lower()
5+
ERC1155_BATCH_PORTAL_ADDRESS = "0x3649c5E2De91C69a7Bb80D864f0039da5E511096"[2:].lower()
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
--find-links https://prototyp3-dev.github.io/pip-wheels-riscv/wheels/
22
pycmt >= 0.0.1
3-
pycma >= 0.0.1
3+
pycma >= 0.0.2

sample_apps/wallet_app/ubuntu.dockerfile

Lines changed: 25 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# syntax=docker.io/docker/dockerfile:1
2-
ARG APT_UPDATE_SNAPSHOT=20260113T030400Z
2+
ARG APT_UPDATE_SNAPSHOT=20260623T000000Z
33
ARG MACHINE_GUEST_TOOLS_VERSION=0.17.2
4-
ARG MACHINE_GUEST_TOOLS_SHA256SUM=c077573dbcf0cdc146adf14b480bfe454ca63aa4d3e8408c5487f550a5b77a41
4+
ARG MACHINE_GUEST_TOOLS_SHA=sha256:4cabfd5cfd932367a5be35fa6c18a541f9044f04c48ffcb38bea3cebf88cc6a7
55
ARG MACHINE_ASSET_TOOLS_VERSION=0.1.0-alpha.8
6-
ARG MACHINE_ASSET_TOOLS_TAR=https://github.com/Mugen-Builders/machine-asset-tools/releases/download/v${MACHINE_ASSET_TOOLS_VERSION}/machine-asset-tools_glibc_riscv64_v${MACHINE_ASSET_TOOLS_VERSION}.tar.gz
7-
ARG MACHINE_ASSET_TOOLS_TAR_CHECKSUM=sha256:639fc0915b5551eab8c2e91b3216e248cd94e546eca9dd50ba230a431e9c4e85
6+
# ARG MACHINE_ASSET_TOOLS_TAR=https://github.com/Mugen-Builders/machine-asset-tools/releases/download/v${MACHINE_ASSET_TOOLS_VERSION}/machine-asset-tools_glibc_riscv64_v${MACHINE_ASSET_TOOLS_VERSION}.tar.gz
7+
# ARG MACHINE_ASSET_TOOLS_TAR_CHECKSUM=sha256:f8ef6e1ca785c30059e58d18a5a93df2098f9d73de4b4489f477475c74f96029
88
ARG MACHINE_ASSET_TOOLS_DEV_TAR=https://github.com/Mugen-Builders/machine-asset-tools/releases/download/v${MACHINE_ASSET_TOOLS_VERSION}/machine-asset-tools_glibc_riscv64_dev_v${MACHINE_ASSET_TOOLS_VERSION}.tar.gz
9-
ARG MACHINE_ASSET_TOOLS_DEV_TAR_CHECKSUM=sha256:8b3d55ceb148bd843e1210c3be5545fb0e9074fd5b02ecc32cf8bbddc32790f5
9+
ARG MACHINE_ASSET_TOOLS_DEV_TAR_CHECKSUM=sha256:5a1f3730add17ee29298cc7dfa81362bba6c0adef0581c130ed6427e40d8ed4d
1010

1111
ARG APP_DIR=.
1212
ARG WALLET_APP_CONFIG=config.py
@@ -30,20 +30,9 @@ EOF
3030

3131
# Install guest tools
3232
ARG MACHINE_GUEST_TOOLS_VERSION
33-
ARG MACHINE_GUEST_TOOLS_SHA256SUM
34-
ADD --checksum=sha256:${MACHINE_GUEST_TOOLS_SHA256SUM} \
35-
https://github.com/cartesi/machine-guest-tools/releases/download/v${MACHINE_GUEST_TOOLS_VERSION}/machine-guest-tools_riscv64.deb \
36-
/tmp/machine-guest-tools_riscv64.deb
37-
38-
ARG DEBIAN_FRONTEND=noninteractive
39-
RUN <<EOF
40-
set -e
41-
apt-get install -y --no-install-recommends \
42-
busybox-static \
43-
/tmp/machine-guest-tools_riscv64.deb
44-
45-
rm /tmp/machine-guest-tools_riscv64.deb
46-
EOF
33+
ADD https://github.com/cartesi/machine-guest-tools/releases/download/v${MACHINE_GUEST_TOOLS_VERSION}/machine-guest-tools_riscv64.deb /tmp/
34+
RUN apt-get install -y --no-install-recommends /tmp/machine-guest-tools_riscv64.deb
35+
RUN rm /tmp/machine-guest-tools_riscv64.deb
4736

4837
# ARG MACHINE_ASSET_TOOLS_TAR
4938
# ARG MACHINE_ASSET_TOOLS_TAR_CHECKSUM
@@ -77,12 +66,27 @@ EOF
7766

7867
FROM base AS builder
7968

69+
# Install g++ 14
70+
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
71+
g++-14 build-essential
72+
8073
RUN <<EOF
8174
set -e
82-
apt-get install -y --no-install-recommends \
83-
build-essential gcc libc6-dev
75+
apt-get remove -y g++-13
76+
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100
77+
update-alternatives --config g++
8478
EOF
8579

80+
# Install guest tools
81+
ARG MACHINE_GUEST_TOOLS_VERSION
82+
ARG MACHINE_GUEST_TOOLS_SHA
83+
ADD --checksum=${MACHINE_GUEST_TOOLS_SHA} \
84+
https://github.com/cartesi/machine-guest-tools/releases/download/v${MACHINE_GUEST_TOOLS_VERSION}/machine-guest-tools_riscv64.tar.gz \
85+
/tmp/machine-guest-tools_riscv64.tar.gz
86+
87+
ARG DEBIAN_FRONTEND=noninteractive
88+
RUN tar zxvf /tmp/machine-guest-tools_riscv64.tar.gz -C /
89+
8690
ARG MACHINE_ASSET_TOOLS_DEV_TAR
8791
ARG MACHINE_ASSET_TOOLS_DEV_TAR_CHECKSUM
8892
ADD --checksum=${MACHINE_ASSET_TOOLS_DEV_TAR_CHECKSUM} ${MACHINE_ASSET_TOOLS_DEV_TAR} /tmp/cma.tar.gz
@@ -157,8 +161,6 @@ find /usr/local/lib -type d -name __pycache__ -exec rm -r {} +
157161
find . -type d -name __pycache__ -exec rm -r {} +
158162
rm -rf /var/lib/apt/lists/* /var/log/* /var/cache/* /tmp/* /opt/install
159163
EOF
160-
### Rootfs
161-
FROM ${INSTALL_STEP} AS rootfs
162164

163165
### Rootfs
164166
FROM ${INSTALL_STEP} AS rootfs
@@ -170,20 +172,5 @@ ARG WALLET_APP_CONFIG
170172
COPY ${APP_DIR}/app.py .
171173
COPY ${APP_DIR}/${WALLET_APP_CONFIG} .
172174

173-
### State
174-
FROM --platform=linux/riscv64 rootfs AS state-builder
175-
176-
COPY --from=app-scratch / /opt/cartesi/app
177-
178-
WORKDIR /opt/cartesi/app/data
179-
180-
ARG STATE_FILESIZE
181-
182-
RUN /usr/local/bin/python3 /opt/cartesi/app/app.py /opt/cartesi/app/data/state.bin 1
183-
184-
FROM --platform=linux/riscv64 scratch AS state
185-
186-
COPY --from=state-builder /opt/cartesi/app/data/state.bin /
187-
188175
### App
189176
FROM --platform=linux/riscv64 app-scratch AS app

0 commit comments

Comments
 (0)