Skip to content

node 1.0.0 rc2 changes#1332

Merged
gilescope merged 953 commits into
release/node-1.0.0from
giles-1rc2
Apr 15, 2026
Merged

node 1.0.0 rc2 changes#1332
gilescope merged 953 commits into
release/node-1.0.0from
giles-1rc2

Conversation

@gilescope

@gilescope gilescope commented Apr 14, 2026

Copy link
Copy Markdown
Contributor

Merge from main into 1.0.0 branch.

It might seem like there's a few commits but partner chains is in there.
(The unverified sigs is due to this)

LGLO and others added 30 commits May 27, 2025 13:14
docs: chain setup without wizards guide
Fix numpy compile problems:

Adding stdenv.cc.c to the LIBRARY_PATH is necessary to make
NumPy happy which otherwise fails when trying to run the e2e tests
* draft

* Revert "draft"

This reverts commit 3fc59269afe4a391225a831c9ffa7b9daf5fca58.

* draft

* fix comment

* Update toolkit/cli/commands/src/address_association_signatures.rs

Co-authored-by: Lech Głowiak <LGLO@users.noreply.github.com>

* Update toolkit/cli/commands/src/address_association_signatures.rs

Co-authored-by: Lech Głowiak <LGLO@users.noreply.github.com>

* Update toolkit/cli/commands/src/address_association_signatures.rs

Co-authored-by: Lech Głowiak <LGLO@users.noreply.github.com>

* drop refernce to different address formats

* Drop "unique" identification

* Refine doc for the signing key

* shorten docs for error handling method

* String -> textual

* Shorten doc for struct

* Update toolkit/cli/commands/src/key_params.rs

Co-authored-by: Lech Głowiak <LGLO@users.noreply.github.com>

* Update toolkit/cli/commands/src/registration_signatures.rs

Co-authored-by: Lech Głowiak <LGLO@users.noreply.github.com>

* Update toolkit/cli/commands/src/registration_signatures.rs

Co-authored-by: Lech Głowiak <LGLO@users.noreply.github.com>

* drop reference to demo node binary

* Update toolkit/cli/commands/src/key_params.rs

Co-authored-by: Lech Głowiak <LGLO@users.noreply.github.com>

* drop redundant info

* shorten doc string

* change RegistrationCmdOutput description

* short comments (#844)

---------

Co-authored-by: Tobias Pflug <tobias.pflug@gmail.com>
Co-authored-by: Lech Głowiak <LGLO@users.noreply.github.com>
* minimal setup for testing

minimal ci.yml

* add to full setup

* Replace use of earthly in dispatch

* Remove redundant earthly files

* update chain spec creation code

* fix artifact upload path

* fix: to-build logic + deny.toml

* fix: unicode

* fix: CDLA

* fix: apache

* fix: GPL

* fix: GPL

* fix: unused-allow

* fix. allow

* fix: allow

* fix: order

* fix: don't check licenses

* fix: to-build and remove non linux x86_64 builds

* fix: overwrite flake

* fix: no to-build

* fix: clean

* fix: debug

* fix: rm

* fix. sha

* fix: fetch depth

* fix: remove devshell tests

* fix: build and push

* chore: remove unused files blabla and foobar

* fix:: sha

---------

Co-authored-by: tobias pflug <tobias.pflug@gmail.com>
changed:
- stack config accepts only Kubernetes and Docker executors -> see e2e-tests/docs/configure-stack.md on how to use it
- saving files on remote host is done only via write_file fixture, which handles removing data after test completes
- write_file fixture can write non-json files as well

removed:
- SSHRunner
- binary-host dependency

Refs: ETCM-9557
gilescope and others added 19 commits April 10, 2026 10:42
* chore(deps): migrate subxt from v0.44 to v0.50

Complete the API migration across toolkit, upgrader, relay, e2e tests,
and scripts for the subxt v0.50 rewrite. Key changes:

- Block-centric API: api.blocks().at() → api.at_block(), api.storage().at_latest() → api.at_current_block().storage()
- Transaction types: TxProgress → TransactionProgress, TxInBlock → TransactionInBlock, TxStatus → TransactionStatus
- api.tx() is now async, encode_call_data() → tx().call_data()
- api.metadata() removed from OnlineClient; use at_current_block().metadata_ref()
- Metadata no longer Clone; use ArcMetadata (Arc<Metadata>) for shared ownership
- Granular error types: OnlineClientAtBlockError, ExtrinsicError, RuntimeApiError, etc.
- Event API: variant_name() → event_name(), as_event() → decode_fields_as(), field_values() removed
- Storage API: key now passed to fetch(addr, key) instead of address constructor
- Block from streams: extrinsics/events accessed via block.at().await? first
- dynamic::tx().into_value() requires Composite::unnamed() instead of Vec
- RpcConfig trait impl required for LegacyRpcMethods

* chore: add change file for subxt v0.50 migration

* chore: fix tags in change file

* docs: add pr link to change file

* chore: cargo fmt

* fix(toolkit): add retry with backoff for RPC 429 rate limiting

Share the RPC WebSocket connection within each client, cap fetch workers
to actual workload size, and retry transient transport errors during
transaction submission with exponential backoff.

* chore: cargo fmt

* docs: add issue link to change file

* fix: compile tests in e2e tests

* chore: fix metadata

* test: fix deploy_tx race condition causing test failures

* more robust decoding

Signed-off-by: Giles Cope <gilescope@gmail.com>

* feat: optimise block_number to hash

Signed-off-by: Giles Cope <gilescope@gmail.com>

* fix: tweak

Signed-off-by: Giles Cope <gilescope@gmail.com>

* chore: fmt

Signed-off-by: Giles Cope <gilescope@gmail.com>

* chore: changelog

Signed-off-by: Giles Cope <gilescope@gmail.com>

---------

Signed-off-by: Giles Cope <gilescope@gmail.com>
Co-authored-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>
* ignore wasmtime

* chore: update security advistory ignores

* chore: npm audit fix

---------

Co-authored-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>
* feat: add extra validation when parsing genesis state on node startup

Prevents the node from starting up if the configured network id in the
chainspec does not equal the network id in the ledger genesis state.

* docs: add change file

* docs: add pr link to change file

* fix: remove unwraps from get_root()
* chore: updated SDK to polkadot-stable2512-3

* chore: updated SDK for partner-chains to polkadot-stable2512-3

---------

Co-authored-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>
Co-authored-by: Squirrel <giles.cope@shielded.io>
* fix: [PM-19904] redact database connection details from error logs

Initial commit for work package. Implementation pending planning
and design activities.

* fix(PM-19904): redact db connection details from error logs

* fix(PM-19904): redact connection details in primitives and update test

* test(PM-19904): add redaction verification test in node binary

* chore(PM-19904): add change file for db connection detail redaction

* fix: Remove intermediate .to_string() call

Signed-off-by: Giles Cope <gilescope@gmail.com>

---------

Signed-off-by: Giles Cope <gilescope@gmail.com>
Co-authored-by: Giles Cope <gilescope@gmail.com>
Co-authored-by: Squirrel <giles.cope@shielded.io>
…runtime components (#1261)

* feat: split releases

* chore: change file

* fix: interpolation

* fix(ci): gate archive-changes steps on archive-changes input

* feat: add runtime change folder

* fix: loop over release types for handling change files

* fix: release template

* fix: template nit

* fix: reorder releases component sections

* fix: bump all components version

* fix: runtime archive

* fix reordering

* fix: undo component reorder

* fix: review feedback

* temporary fix to test release

* fix: revert

* fix: npm audit

* fix: gh api call

* fix: gh api call 2
* feat: toolkit contract e2e tests

* chore: audit fix

* chore: make clippy happy

* chore: apply Oscar's comments

* chore: bump axios version
…e (PM-22025) (#1128)

* chore: initialize branch for PM-22025

Signed-off-by: Mike Clay <mike.clay@shielded.io>

* test: add regression tests for nonce/nullifier distinction in zswap serialization

Verify that EncodedZswapLocalState::from_zswap_state uses the coin
value's Nonce field, not the Nullifier map key, when serializing
coin info. Prevents reintroduction of the type-semantic confusion
identified in the Least Authority Q1 2026 Node DIFF audit (Issue E).

JIRA: PM-22025
Made-with: Cursor
Signed-off-by: Mike Clay <mike.clay@shielded.io>

* chore: add change file for nonce/nullifier audit remediation (PM-22025)

Made-with: Cursor
Signed-off-by: Mike Clay <mike.clay@shielded.io>

* chore: fix formatting and JIRA link in change file

Apply cargo fmt to test helper signature and use full Jira URL
in change file to satisfy CI checks.

Made-with: Cursor
Signed-off-by: Mike Clay <mike.clay@shielded.io>

* chore: remove redundant assert_ne in nonce regression test

The assert_eq already proves the nonce equals nonce_bytes (0xAA..),
making the assert_ne against nullifier_bytes (0xBB..) tautologically
true. Addresses review feedback from LGLO.

Signed-off-by: Mike Clay <mike.clay@shielded.io>

---------

Signed-off-by: Mike Clay <mike.clay@shielded.io>
fixes:
- local-env's .envrc now uses tree hash to resolve correct image to use,
not commit hash

Signed-off-by: Radosław Sporny <404@rspo.dev>
Signed-off-by: Giles Cope <gilescope@gmail.com>
…tions during block building (#1305)

* perf: add weight check to pre_dispatch to quickly dismiss big transactions during block building

Signed-off-by: Michał Skowron <michal.skowron@shielded.io>

* nit: use ensure

Signed-off-by: Giles Cope <gilescope@gmail.com>

---------

Signed-off-by: Michał Skowron <michal.skowron@shielded.io>
Signed-off-by: Giles Cope <gilescope@gmail.com>
Co-authored-by: Giles Cope <gilescope@gmail.com>
* feat: ledger 8.1

Signed-off-by: Giles Cope <gilescope@gmail.com>

* chore: changelog

Signed-off-by: Giles Cope <gilescope@gmail.com>

---------

Signed-off-by: Giles Cope <gilescope@gmail.com>
* chore: updated SDK to polkadot-stable2603

Signed-off-by: Tomasz Bartos <tomasz.bartos@iohk.io>

* fixup! chore: updated SDK to polkadot-stable2603

Signed-off-by: Tomasz Bartos <tomasz.bartos@iohk.io>

* nit: use crates.io

Signed-off-by: Giles Cope <gilescope@gmail.com>

* nit: don't use crates.io as we have 2 test deps

Signed-off-by: Giles Cope <gilescope@gmail.com>

---------

Signed-off-by: Tomasz Bartos <tomasz.bartos@iohk.io>
Signed-off-by: Giles Cope <gilescope@gmail.com>
Co-authored-by: Giles Cope <gilescope@gmail.com>
* chore: add changeset for DustWallet spend state fix [PM-20016]

Initial changeset for fix/PM-20016. Implementation to follow after
planning phase completion.

Made-with: Cursor

* chore: add changeset for DustWallet spend state fix [PM-20016]

Initial changeset for fix/PM-20016. Implementation to follow after
planning phase completion.

Made-with: Cursor

* fix(toolkit): propagate DustWallet spend state update [PM-20016]

Modify speculative_spend to return the updated DustLocalState alongside
spends, and extend mark_spent to accept and assign the updated state to
self.dust_local_state atomically with nullifier recording.

Update gather_dust_spends and confirm_dust_spends in transaction.rs to
thread per-wallet updated states from speculation through to commit.

This ensures DustLocalState::spend's pending_until flags are propagated,
preventing utxos() from returning already-spent outputs in consecutive
spend operations.

Addresses Least Authority audit finding Issue AO.

Made-with: Cursor

* chore: update changeset with PR and JIRA links [PM-20016]

Made-with: Cursor

* chore: remove stale changeset from pre-rebase

Made-with: Cursor

* refactor: consume updated_states in confirm_dust_spends to avoid clone

Made-with: Cursor

* style: cargo fmt

Made-with: Cursor

* fix: resolve clippy type_complexity lint by adding type aliases

Made-with: Cursor

* fix: add GatheredDustSpends type alias to resolve remaining type_complexity lint

Made-with: Cursor

* chore: fix change file format per review feedback

Made-with: Cursor
Signed-off-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>
Add a Cardano hard fork script to advance the local-env from protocol
version 10 to 11 (intra-era).

  What it does:
  - Adds hardfork-pv11.sh, a two-phase script (setup + run) that
orchestrates a full PV10 → PV11 hard fork on the local Cardano devnet
  - setup phase: generates governance keys (Constitutional Committee
cold/hot, DRep, governance stake) and patches the Conway genesis to
include a CC member and DRep with delegated stake
  - run phase: registers the DRep on-chain, authorizes the CC hot key,
submits a hard fork governance action, collects votes from all three
governance bodies (CC, SPO, DRep), and waits for ratification and
  enactment across epochs
  - Adds all required governance key files (CC cold/hot, DRep,
gov-stake) to the local-env configuration

  Supporting changes:
  - Updates config-pool1.json: disables ExperimentalHardForksEnabled (no
longer needed) and bumps MaxKnownMajorProtocolVersion from 2 to 11 to
allow the hard fork
  - Lowers govActionDeposit in Conway genesis from 100,000 ADA to 1,000
ADA to make governance proposals feasible
  - Reformats plutusV3CostModel array in Conway genesis (one value per
line)
  - Updates entrypoint.sh with log location hints (node logs go to
/data/node.log, not stdout)
  - Mounts governance keys volume in docker-compose.yml
  - Adds toolkit_cache/ to .gitignore

Closes #1314

Signed-off-by: Radosław Sporny <404@rspo.dev>
…added (#1188)

* WIP handler of c-to-m transactions

* Update with events emitted from pallet

* fix clippy

* Fix e2e test helpers

* Port PR from partner-chains

* Implement inherit double execution protection test

* Revert tests, res, configuration, toolkit and tests

* fmt

* changes file

* chore: rebuild metadata

* chore: rebuild metadata

* Revert metadata

Signed-off-by: Lech Głowiak <lech.glowiak@shielded.io>

* Move c2n-bridge handler to a separate mod

Signed-off-by: Lech Głowiak <lech.glowiak@shielded.io>

* chore: rebuild metadata

* Review comments and stateless nonce computation

Signed-off-by: Lech Głowiak <lech.glowiak@shielded.io>

* Fix file name

Signed-off-by: Lech Głowiak <lech.glowiak@shielded.io>

* Fix clippy

Signed-off-by: Lech Głowiak <lech.glowiak@shielded.io>

* chore: rebuild metadata

---------

Signed-off-by: Lech Głowiak <lech.glowiak@shielded.io>
Co-authored-by: Lech Głowiak <lech.glowiak@iohk.io>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* ci: add githook to check for DCO

Signed-off-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>

* docs: add more info to DCO githook

Signed-off-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>

---------

Signed-off-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>
cosmir17
cosmir17 previously approved these changes Apr 14, 2026

@cosmir17 cosmir17 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved from the indexer perspective. No pallet index changes, runtime API surface the indexer uses (get_contract_state, get_zswap_state_root, etc.) appears unchanged. The extrinsic format change (Comment 1) needs clarification on whether rc.1 → rc.2 runtime upgrades are planned.

Comment thread runtime/src/lib.rs
Comment thread runtime/src/c2m_bridge.rs
…general tx

Signed-off-by: Giles Cope <gilescope@gmail.com>
@gilescope gilescope merged commit 482ddce into release/node-1.0.0 Apr 15, 2026
28 of 30 checks passed
@gilescope gilescope deleted the giles-1rc2 branch April 15, 2026 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.