Skip to content

Docs: Odra 2.10.0 afterparty changes - #60

Merged
kubaplas merged 14 commits into
masterfrom
feature/afterparty
Nov 5, 2026
Merged

kubaplas merged 14 commits into
masterfrom
feature/afterparty

Conversation

@kubaplas

@kubaplas kubaplas commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Documents the changes from odradev/odra#680, which ship in Odra 2.10.0.

  • Factory modules work on OdraVM (advanced/09-factory.md, tutorials/dapp-registry.md). The "Casper VM only" warning is replaced, and the remaining differences from Casper are listed.
  • OdraVM reverts (backends/02-odra-vm.md, new "Reverts" section). A revert rolls back contract code, factory children and events, not just storage. The section lists what still differs from Casper and describes how panics are printed now.
  • Snapshots (basics/07-testing.md) also cover contracts and their code. enable_addressable_entity is removed from the 2.10 HostEnv list, because it doesn't exist in 2.10.
  • Livenet (backends/04-livenet.md, advanced/03-attributes.md, basics/06-communicating-with-host.md, basics/08-errors.md):
    • Locally executed getters and offchain functions see the calling account as caller().
    • When they revert, try_* returns Err.
    • A new "Errors" section explains how codes are decoded, using the called contract's schema first.
  • Reserved names (basics/04-flipper-internals.md): only gas and attached_value are still reserved argument names. Names like contract, env and result now work.
  • Event field types (basics/09-events.md, new "Field types" section). Fields whose CLType is or contains Any are refused at deploy, upgrade and cargo odra schema. The section explains how to flatten such a field.
  • Migration guide (migrations/to-2.10.0.md) covers the user-visible behaviour changes:
    • events with struct fields;
    • OdraVM's full rollback on revert;
    • livenet init/upgrade errors and error naming;
    • the hidden field __env → __odra_env.

Test plan

  • npm run build in docusaurus/ passes, with no broken links or MDX warnings.

Note: the DappRegistry tutorial, already on master, refers to code that exists only on odra's feature/dapp-registry branch.

🤖 Generated with Claude Code

kubaplas and others added 2 commits October 8, 2026 16:06
- Factory modules work on OdraVM; note the remaining differences.
- OdraVM rolls back code, contracts and events of a reverted call;
  snapshots cover contracts and their code; panics print normally.
- Livenet: locally run getters and offchain functions return the error
  of a revert and see the calling account; errors are decoded by the
  called contract's schema; a reverting init/upgrade returns its error.
- Events: fields whose CLType contains `Any` are refused at deploy and
  schema generation.
- Reserved function and argument names; `__env` renamed `__odra_env`.
- Migration guide entries for the user-visible changes.
- Drop `enable_addressable_entity` from the 2.10 testing page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kubaplas and others added 8 commits October 9, 2026 13:44
…net gas report and validator info

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…arguments are errors

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…_with)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kubaplas and others added 3 commits November 4, 2026 17:48
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ntract command

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… 0.2.0

Cut the 2.10 snapshot (`just docs-new-version 2.10`) and make it the default
version; 2.9 stays as `2.9.*`.

Dapp Registry tutorial: follow the names of the released odra_modules::dapp -
`is_registrar`, `is_dapp_registrar`, `assert_dapp_registrar`,
`CallerNotDappRegistrar` (the draft said factory). A registry composed by
hand calls `DappRegistryBase::init`, which creates the `__dapp` dictionary.
The spawner example uses `DappContractBase::register_address` and
`register`, as examples/src/factory/dapp.rs does, and shows the registrar
check. Same wording in "Using odra-modules".

Odra CLI tutorial: the `storage` command was missing from the command list.

Migration guide to 2.10.0: a cargo-odra 0.2.0 section - one `wasm`
directory per workspace (which is why a workspace on cargo-odra 0.2.0
needs Odra 2.10), contracts from dependency crates, crate-qualified
ODRA_MODULE, `cargo odra new` resolving the latest release without the
GitHub API.

Version-pinned snippets and links (`version = "2.9.0"`, release/2.9.0,
docs.rs/odra/2.9.0) point at 2.10.0; sentences about 2.9 behaviour are
unchanged.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@kubaplas
kubaplas merged commit f0734a2 into master Nov 5, 2026
@kubaplas
kubaplas deleted the feature/afterparty branch November 13, 2026 12:43
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