Skip to content

fix: preserve runtime network identity - #111

Merged
MuncleUscles merged 1 commit into
v0.30-devfrom
fix/v030-chain-provenance
Sep 3, 2026
Merged

MuncleUscles merged 1 commit into
v0.30-devfrom
fix/v030-chain-provenance

Conversation

@MuncleUscles

Copy link
Copy Markdown
Member

Summary

  • add the canonical studio_devnet preset (chain 61997, https://studio-dev.genlayer.com/api)
  • preserve configured chain IDs and RPC URLs when producing the runtime SDK chain, including custom Studio-compatible networks
  • stamp generated fee profiles with the exact runtime chainId, so Transaction Kit can reject stale or wrong-network suggestions
  • require the published genlayer-py==0.19.0rc2 floor and document localnet 61127 / hosted preview 61997

Why

The prior configuration parser accepted network id values but silently ignored overrides for built-in networks, and GeneralConfig.get_chain() returned the untouched SDK preset for custom networks. That can sign a transaction for a different chain than the selected RPC endpoint and surface as InvalidChainId. Fee profiles also lacked numeric network provenance, which allowed stale profiles to be reused on another chain.

Fast regression coverage

  • YAML integration test proves a configured custom ID and URL become the exact runtime chain
  • chain construction tests prove studio_devnet and custom Studio identity without mutating global SDK presets
  • plugin test proves generated fee profiles contain the runtime chain ID
  • collector tests prove chainId round-trips in JSON

Validation

  • gltest tests/gltest_cli/ -q — 73 passed
  • gltest tests/gltest/ -q — 41 passed
  • gltest tests/glsim/ -q — 72 passed
  • gltest tests/gltest_direct/test_sdk_loader.py -q — 12 passed
  • pytest tests/test_release_version.py -q — 14 passed
  • uv lock --check
  • total native tests: 212 passed

Release target after merge: genlayer-test==0.30.0rc1.

@coderabbitai

coderabbitai Bot commented Sep 3, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: e06f928d-73ef-40e0-b2c1-e4aa6e434d73

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@MuncleUscles
MuncleUscles merged commit ca579bd into v0.30-dev Sep 3, 2026
7 of 8 checks passed
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