Skip to content

Add midnight_ prefix to chain ID to follow Polkadot convention#188

Merged
ozgb merged 5 commits into
mainfrom
ozgb/update-chain-id-midnight-prefix
Oct 29, 2025
Merged

Add midnight_ prefix to chain ID to follow Polkadot convention#188
ozgb merged 5 commits into
mainfrom
ozgb/update-chain-id-midnight-prefix

Conversation

@ozgb

@ozgb ozgb commented Oct 29, 2025

Copy link
Copy Markdown
Contributor

Overview

The convention for Polkadot-SDK-based chains is to prefix the chain ID with the name of the mainchain.

This PR switches to that convention - our internal network_id string is derived from the chain_id when generating the chain-spec.

This is to keep the network_id length small - it's included in all transactions, and included as a prefix in addresses.

Examples:

  • chain_id: midnight_preview, network_id: preview, address-prefix: preview
  • chain_id: midnight, network_id: mainnet, address-prefix: None

Address spec: https://github.com/midnightntwrk/midnight-architecture/blob/4ac645f377a695fa21396963ca4fea55d3119648/components/WalletEngine/Specification.md#address-format

🗹 TODO before merging

  • Ready

📌 Submission Checklist

  • Changes are backward-compatible (or flagged if breaking)
  • Pull request description explains why the change is needed
  • Self-reviewed the diff
  • I have included a change file, or skipped for this reason:
  • If the changes introduce a new feature, I have bumped the node minor version
  • Update documentation (if relevant)
  • No new todos introduced

🧪 Testing Evidence

Please describe any additional testing aside from CI:

  • Additional tests are provided (if possible)

🔱 Fork Strategy

  • Node Runtime Update
  • Node Client Update
  • Other:
  • N/A

Links

ozgb added 2 commits October 29, 2025 14:53
Network ID is created as a transformation of the chain id
@ozgb ozgb requested a review from a team as a code owner October 29, 2025 15:11
@github-actions

github-actions Bot commented Oct 29, 2025

Copy link
Copy Markdown
Contributor

Logo
Checkmarx One – Scan Summary & Detailsd62a1bf2-c9e5-4ddf-b59f-6af66fe30a81

Great job! No new security vulnerabilities introduced in this pull request

@ozgb ozgb enabled auto-merge (squash) October 29, 2025 17:03
@ozgb ozgb merged commit a4598b2 into main Oct 29, 2025
24 checks passed
@ozgb ozgb deleted the ozgb/update-chain-id-midnight-prefix branch October 29, 2025 17:41
ozgb added a commit that referenced this pull request Nov 4, 2025
* feat: add 'midnight_' prefix to all chain ids

Network ID is created as a transformation of the chain id

* chore: rebuild chainspecs

* docs: add change file

* feat: add check on network_id spec conformity
ozgb added a commit that referenced this pull request Nov 4, 2025
…dot convention (#216)

* Add `midnight_` prefix to chain ID to follow Polkadot convention (#188)

* feat: add 'midnight_' prefix to all chain ids

Network ID is created as a transformation of the chain id

* chore: rebuild chainspecs

* docs: add change file

* feat: add check on network_id spec conformity

* chore: rebuild chainspecs
github-merge-queue Bot pushed a commit that referenced this pull request Nov 18, 2025
* fix: error when loading chain spec for non-dev cfg_preset (#187) (#194)

* fix: error when loading chain spec for non-dev cfg_preset

---------

Co-authored-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>
Co-authored-by: Squirrel <giles.cope@shielded.io>

* chore: PC 1.8 deployment fixes (#201)

* chore: node-dev-01 new chain spec with PC 1.8 registrations (#191)

* chore: PC 1.8 new registrations (#197)

* chore: PC 1.8 new registrations

* chore: add governance info

* chore: fix chain-spec to match PC 1.8 registration (#200)

* Cherry pick: bump to ledger ledger-6.1.0-alpha.5 (#203) (#204)

* bump to ledger ledger-6.1.0-alpha.5 (#203)

(cherry picked from commit b3fac93)

* Change GITHUB_TOKEN to GHP_TOKEN in workflow

---------

Co-authored-by: Fenton Haslam <50406962+Fentonhaslam@users.noreply.github.com>

* Backport gov (#206)

* Fix: Federated Authority configurations (#180)

* fix federated authorities for qanet and node-dev-01

* chore: regenerate chain_specs

* fix: rebuild preview chainspec

---------

Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com>

* [0.18.0 cherry-pick] Add midnight_ prefix to chain ID to follow Polkadot convention (#216)

* Add `midnight_` prefix to chain ID to follow Polkadot convention (#188)

* feat: add 'midnight_' prefix to all chain ids

Network ID is created as a transformation of the chain id

* chore: rebuild chainspecs

* docs: add change file

* feat: add check on network_id spec conformity

* chore: rebuild chainspecs

* Backport #142 (#220)

* Feat: Federated Authority Observation - querying `db-sync` (#142)

* feat: query governance data

* test: e2e tests base for governance contracts

* feat: adding governance contracts to local-env

* aaarrrgggg deploy failing

* feat: Governance contracts deployed to local-env

* federate-authority-configs updated with expected contracts

* feat: new members properly read from the minted nft

* chore: clean up

* feat: add new calls to set addresses and policy_id + benchmarks

* nit

* chore: make clippy happy

* chore: add change file

* feat: replace vec by PolicyId and MainchainAddress

* chore: regenerate metadata

* chore: make clippy happy

* test: add test for contracts info setters

* chore: update federated configs with preview real data + test fix

* chore: regenerate metadata

* chore: rebuild metadata

* chore: rebuild chain_specs

* [cherry-pick 0.18.0] Deduplicate Mapping types (#166) (#221)

* Deduplicate Mapping types (#166)

* chore: replace Mapping with MappingEntry

Signed-off-by: yHSJ <josh@securitybot.info>

* chore: changefile

* chore: remove unnecessary conversions

* fix: regenerate metadata

* chore: update metadata

* Add change tag

* test: fix test compile errors

---------

Signed-off-by: yHSJ <josh@securitybot.info>
Co-authored-by: Giles Cope <gilescope@gmail.com>
Co-authored-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>
Co-authored-by: Justin Frevert <justinfrevert@gmail.com>

* chore: rebuild metadata

* chore: rebuild chainspecs

---------

Signed-off-by: yHSJ <josh@securitybot.info>
Co-authored-by: Joshua Marchand (JSHy) <79121297+yHSJ@users.noreply.github.com>
Co-authored-by: Giles Cope <gilescope@gmail.com>
Co-authored-by: Justin Frevert <justinfrevert@gmail.com>

* Fix node entrypoint (#217)

* fix node entrypoint

* test

* last try

* fix: node entrypoint passing `--` as an arg

Found when running with SHOW_CONFIG=1:

```
NAME:          args
HELP:          The arguments passed to the node
TYPE:          Vec < String >
DEFAULT:
SOURCES:       cli
CURRENT_VALUE: "--, "
```

---------

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

* [cherry-pick 0.18.0] Update cNight Observation for new Datum structure (#189) (#225)

* Update cNight Observation for new Datum structure (#189)

* feat: update to follow new datum structure

* test: fix tests

* fix: DustPublicKey deserialized correctly (PM-19983); fix test

* fix: check for DustPublicKey length; Fix missing dereg event (PM-20229)

* refactor: rename types - more precise naming

* refactor: rename fields for precision

* feat: wrap cnight array types in new structs

* feat: use McBlockHash and TxBlockHash in more places

* fix: clippy warnings

* docs: add change file

* docs: add change file

* docs: add change file

* build: remove unused dep serde_arrays

* chore: update metadata

* feat: rename MappingEntry utxo_id -> utxo_tx_hash

* feat: update type of utxo_tx_hash

* feat: change type of cmst block hash

* feat: add check for mapping validator auth token

* chore: update sqlx cache

* test: fix tests for cnight config validation

* chore: update cnight config files

* test: use aiken cnight smart contracts

* fix: use new mapping validator address

* chore: update metadata

* test: fix tests after cnight pallet update

* test: fix more tests, 2 e2e tests still failing

* test: fix mint cnight tx budget

* test: remove old typescript local-env tests

* build: remove leftover target

* build: remove leftover target

---------

Co-authored-by: Radosław Sporny <404@rspo.dev>

* chore: rebuild chainspecs

---------

Co-authored-by: Radosław Sporny <404@rspo.dev>

* Update governance contracts (#226)

* fix: update node-dev-01 gov contracts

* fix: qanet and preview gov contracts

* chore: update chain-specs

* docs: reset changes (node-0.18.0-rc.5)

* fix: npm audit

* fix metadata

---------

Signed-off-by: yHSJ <josh@securitybot.info>
Co-authored-by: Radosław Sporny <404@rspo.dev>
Co-authored-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>
Co-authored-by: Squirrel <giles.cope@shielded.io>
Co-authored-by: justinfrevert <81839854+justinfrevert@users.noreply.github.com>
Co-authored-by: Fenton Haslam <50406962+Fentonhaslam@users.noreply.github.com>
Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com>
Co-authored-by: Joshua Marchand (JSHy) <79121297+yHSJ@users.noreply.github.com>
Co-authored-by: Giles Cope <gilescope@gmail.com>
Co-authored-by: Justin Frevert <justinfrevert@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
NachoPal added a commit that referenced this pull request Nov 21, 2025
* fix: error when loading chain spec for non-dev cfg_preset (#187) (#194)

* fix: error when loading chain spec for non-dev cfg_preset

---------

Co-authored-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>
Co-authored-by: Squirrel <giles.cope@shielded.io>

* chore: PC 1.8 deployment fixes (#201)

* chore: node-dev-01 new chain spec with PC 1.8 registrations (#191)

* chore: PC 1.8 new registrations (#197)

* chore: PC 1.8 new registrations

* chore: add governance info

* chore: fix chain-spec to match PC 1.8 registration (#200)

* Cherry pick: bump to ledger ledger-6.1.0-alpha.5 (#203) (#204)

* bump to ledger ledger-6.1.0-alpha.5 (#203)

(cherry picked from commit b3fac93)

* Change GITHUB_TOKEN to GHP_TOKEN in workflow

---------

Co-authored-by: Fenton Haslam <50406962+Fentonhaslam@users.noreply.github.com>

* Backport gov (#206)

* Fix: Federated Authority configurations (#180)

* fix federated authorities for qanet and node-dev-01

* chore: regenerate chain_specs

* fix: rebuild preview chainspec

---------

Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com>

* [0.18.0 cherry-pick] Add midnight_ prefix to chain ID to follow Polkadot convention (#216)

* Add `midnight_` prefix to chain ID to follow Polkadot convention (#188)

* feat: add 'midnight_' prefix to all chain ids

Network ID is created as a transformation of the chain id

* chore: rebuild chainspecs

* docs: add change file

* feat: add check on network_id spec conformity

* chore: rebuild chainspecs

* Backport #142 (#220)

* Feat: Federated Authority Observation - querying `db-sync` (#142)

* feat: query governance data

* test: e2e tests base for governance contracts

* feat: adding governance contracts to local-env

* aaarrrgggg deploy failing

* feat: Governance contracts deployed to local-env

* federate-authority-configs updated with expected contracts

* feat: new members properly read from the minted nft

* chore: clean up

* feat: add new calls to set addresses and policy_id + benchmarks

* nit

* chore: make clippy happy

* chore: add change file

* feat: replace vec by PolicyId and MainchainAddress

* chore: regenerate metadata

* chore: make clippy happy

* test: add test for contracts info setters

* chore: update federated configs with preview real data + test fix

* chore: regenerate metadata

* chore: rebuild metadata

* chore: rebuild chain_specs

* [cherry-pick 0.18.0] Deduplicate Mapping types (#166) (#221)

* Deduplicate Mapping types (#166)

* chore: replace Mapping with MappingEntry

Signed-off-by: yHSJ <josh@securitybot.info>

* chore: changefile

* chore: remove unnecessary conversions

* fix: regenerate metadata

* chore: update metadata

* Add change tag

* test: fix test compile errors

---------

Signed-off-by: yHSJ <josh@securitybot.info>
Co-authored-by: Giles Cope <gilescope@gmail.com>
Co-authored-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>
Co-authored-by: Justin Frevert <justinfrevert@gmail.com>

* chore: rebuild metadata

* chore: rebuild chainspecs

---------

Signed-off-by: yHSJ <josh@securitybot.info>
Co-authored-by: Joshua Marchand (JSHy) <79121297+yHSJ@users.noreply.github.com>
Co-authored-by: Giles Cope <gilescope@gmail.com>
Co-authored-by: Justin Frevert <justinfrevert@gmail.com>

* Fix node entrypoint (#217)

* fix node entrypoint

* test

* last try

* fix: node entrypoint passing `--` as an arg

Found when running with SHOW_CONFIG=1:

```
NAME:          args
HELP:          The arguments passed to the node
TYPE:          Vec < String >
DEFAULT:
SOURCES:       cli
CURRENT_VALUE: "--, "
```

---------

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

* [cherry-pick 0.18.0] Update cNight Observation for new Datum structure (#189) (#225)

* Update cNight Observation for new Datum structure (#189)

* feat: update to follow new datum structure

* test: fix tests

* fix: DustPublicKey deserialized correctly (PM-19983); fix test

* fix: check for DustPublicKey length; Fix missing dereg event (PM-20229)

* refactor: rename types - more precise naming

* refactor: rename fields for precision

* feat: wrap cnight array types in new structs

* feat: use McBlockHash and TxBlockHash in more places

* fix: clippy warnings

* docs: add change file

* docs: add change file

* docs: add change file

* build: remove unused dep serde_arrays

* chore: update metadata

* feat: rename MappingEntry utxo_id -> utxo_tx_hash

* feat: update type of utxo_tx_hash

* feat: change type of cmst block hash

* feat: add check for mapping validator auth token

* chore: update sqlx cache

* test: fix tests for cnight config validation

* chore: update cnight config files

* test: use aiken cnight smart contracts

* fix: use new mapping validator address

* chore: update metadata

* test: fix tests after cnight pallet update

* test: fix more tests, 2 e2e tests still failing

* test: fix mint cnight tx budget

* test: remove old typescript local-env tests

* build: remove leftover target

* build: remove leftover target

---------

Co-authored-by: Radosław Sporny <404@rspo.dev>

* chore: rebuild chainspecs

---------

Co-authored-by: Radosław Sporny <404@rspo.dev>

* Update governance contracts (#226)

* fix: update node-dev-01 gov contracts

* fix: qanet and preview gov contracts

* chore: update chain-specs

* Add `preprod` network (#265)

* feat: add preprod network

* nit

* chore: change file

* chore: preprod validators

* chore: regenerate genesis

* fix: align with preview

* chore: update preprod pc-config

* Revert "chore: update preprod pc-config"

This reverts commit 5a43d4c.

* Revert "fix: align with preview"

This reverts commit 5c4d7e7.

* chore: preprod chain-spec

* fix: npm audit

* fix

* remove cache

* :/

* change to trixie

* Revert "remove cache"

This reverts commit e6fdbe2.

* recover no cache

* Revert "change to trixie"

This reverts commit d529e1d.

* Revert ":/"

This reverts commit 980d1a8.

* logs

* fix: update to trixie

* Revert "logs"

This reverts commit 6709891.

* undo no-cache

---------

Co-authored-by: Radosław Sporny <404@rspo.dev>

* docs: reset changes (node-0.18.0-rc.6)

* fix: fix main merge

* fix: fix main merge 2

* fix: fix main merge 3

* fix: add mainchain memebers for preprod

---------

Signed-off-by: yHSJ <josh@securitybot.info>
Co-authored-by: Radosław Sporny <404@rspo.dev>
Co-authored-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>
Co-authored-by: Squirrel <giles.cope@shielded.io>
Co-authored-by: justinfrevert <81839854+justinfrevert@users.noreply.github.com>
Co-authored-by: Fenton Haslam <50406962+Fentonhaslam@users.noreply.github.com>
Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com>
Co-authored-by: Joshua Marchand (JSHy) <79121297+yHSJ@users.noreply.github.com>
Co-authored-by: Giles Cope <gilescope@gmail.com>
Co-authored-by: Justin Frevert <justinfrevert@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

2 participants