Skip to content

3.0.0 party 4/6: tooling, examples, CI, errors - #671

Closed
kubaplas wants to merge 6 commits into
party/3-framework-featuresfrom
party/4-tooling-examples-ci
Closed

kubaplas wants to merge 6 commits into
party/3-framework-featuresfrom
party/4-tooling-examples-ci

Conversation

@kubaplas

Copy link
Copy Markdown
Contributor

Layer 4 of 6 of the 3.0.0 party stack (bottom-up: 1 → 2 → 3 → 4 → 5 → 6, bottom is #668). Each layer targets the branch below; merge from the bottom. The top of the stack is the tree verified on OdraVM, CasperVM and NCTL; docs are in odradev/odradev.github.io#58 and #59, the migration guide covers every breaking change.

Closes #593, closes #445, closes #466, closes #631, closes #520, closes #667, closes #417, closes #450.

🤖 Generated with Claude Code

kubaplas and others added 6 commits September 18, 2026 10:16
…rk only where PRs are based (#593, #445)

The single Test job ran lint + every backend + NCTL in sequence. It is
now four jobs sharing a restore-key cache; the OdraVM job needs no wasm
toolchain and reports first. benchmark.yml produced an artifact for
every branch push while evaluate-benchmark.yml already builds and
compares in one job on pull requests; it now runs on release/** pushes
(the PR bases) and on demand.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…DME (#466)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…CI (#631, #520)

erc20_on_livenet, cep18_on_livenet, tlw_on_livenet, odra_cfg_on_livenet,
factory_example and gassless_example become scenarios of the examples'
odra_cli (gasless behind the eip712 feature). just test-livenet now runs
the CLI deploy script, a contract call and the erc20/cep18/tlw scenarios
against NCTL. The CI test bins (livenet_tests, validators_on_livenet,
upgrade_on_livenet) stay as they are.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The EIP-712 domain built on the host lacked the version field the
contract includes, so every transfer_with_authorization on a live
network failed with InvalidSignature. The signing helper moves next to
the contract, is shared by the CLI scenario and tested on both VMs;
the scenario joins the CI livenet loop.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
#450)

Reads of a wrong type and host-side call-result deserialization revert
with the concrete bytesrepr error instead of Formatting; a present but
unreadable named arg is InvalidArg (138), not MissingArg. Caller
resolution in wasm-env reverts with CannotExtractCallerInfo instead of
trapping; remaining expects in odra-core state their invariant; example
contracts use unwrap_or_revert.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@kubaplas kubaplas mentioned this pull request Sep 18, 2026
@kubaplas
kubaplas added this pull request to stack #674 September 18, 2026 08:24
@github-actions

Copy link
Copy Markdown

Benchmark report

Action Details Gas diff
Wasm Deploy Filename: Benchmark.wasm 🔴 +0.339550995 CSPR (0.13%)
Contract Call Entry point: set_variable 🟢 -0.000153675 CSPR (0.11%)
Contract Call Entry point: get_variable 🟢 -0.000212685 CSPR (0.04%)
Contract Call Entry point: set_struct_variable 🟢 -0.000153675 CSPR (0.09%)
Contract Call Entry point: get_struct_variable 🟢 -0.000212685 CSPR (0.06%)
Contract Call Entry point: set_mapping 🟢 -0.000149325 CSPR (0.10%)
Contract Call Entry point: get_mapping 🟢 -0.000208335 CSPR (0.06%)
Contract Call Entry point: push_list 🟢 -0.00034083 CSPR (0.12%)
Contract Call Entry point: get_list 🟢 -0.000208335 CSPR (0.06%)
Contract Call Entry point: init_submodule 🟢 -0.000941505 CSPR (0.11%)
Contract Call Entry point: call_submodule 🟢 -0.000212685 CSPR (0.06%)
Contract Call Entry point: call_payable 🟢 -0.0003369 CSPR (0.01%)
Contract Call Entry point: transfer_back 🟢 -0.00021132 CSPR (0.01%)
Contract Call Entry point: emit_event 🟢 -0.000265545 CSPR (0.21%)
Contract Call Entry point: set_named_key 🟢 -0.000028155 CSPR (0.01%)
Contract Call Entry point: get_named_key 🟢 -0.00015777 CSPR (0.04%)
Contract Call Entry point: set_dictionary 🟢 -0.00022818 CSPR (0.08%)
Contract Call Entry point: get_dictionary 🟢 -0.000206775 CSPR (0.06%)

@kubaplas
kubaplas removed this pull request from stack #674 September 18, 2026 08:57
@kubaplas

Copy link
Copy Markdown
Contributor Author

Closing: the 3.0.0 party goes back to a single pull request, #664. The commits here are the same work, so nothing is lost.

@kubaplas kubaplas closed this Sep 18, 2026
@kubaplas
kubaplas deleted the party/4-tooling-examples-ci branch September 18, 2026 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant