Skip to content

chore(genvm): update runner hashes and rename accepted to decided ⬆️ - #105

Open
kp2pml30 wants to merge 2 commits into
v0.19-devfrom
chore/update-genvm-runner-hashes
Open

chore(genvm): update runner hashes and rename accepted to decided ⬆️#105
kp2pml30 wants to merge 2 commits into
v0.19-devfrom
chore/update-genvm-runner-hashes

Conversation

@kp2pml30

@kp2pml30 kp2pml30 commented Aug 19, 2026

Copy link
Copy Markdown
Member

Description

Two GenVM v0.3.0-rc7 changes:

  1. _decode_pending_transactions emits on="decided" instead of on="accepted" — the pre-finalization state was renamed on the wire with no back-compat alias, and the node parses exactly these strings
  2. tests/e2e/contracts/simple_time_contract.py runner pins bumped to the rc7 hashes

Upstream: genvm-manager #24.

Depends-On: genlayerlabs/genvm-manager#24

Motivation and Context

latest_non_final / accepted named an implementation queue rather than the state-view contract. The wire values change with no alias, so hosts and SDKs must move together or every post-message/deploy with an explicit on breaks.

How Has This Been Tested?

uv run pytest tests/unit -q141 passed. No unit fixture asserts the changed string (all pending_transactions sample payloads are empty lists), so CI is the real check.

Decisions Made

  • Scope of the rename. Only the GenVM on wire value moved. TransactionStatus.ACCEPTED, TransactionAccepted(bytes32) and states: {accepted, finalized} are consensus-contract concepts and are untouched. TransactionHashVariant.LATEST_FINAL / LATEST_NONFINAL ("latest-final" / "latest-nonfinal") is the Studio-only transaction_hash_variant RPC selector, not GenVM StorageType — also untouched
  • simple_time_contract.py previously pinned v0.2-line hashes while being written in v0.3 SDK style. That looked stale rather than intentional, so it is bumped to rc7 and CI will confirm

Pre-Existing, Not Addressed

  • RESULT_CODES in genlayer_py/utils/jsonifier.py already diverges from v0.3 ResultCode
  • The decode maps flag 0 → accepted, 1 → finalized, while the node's onAcceptance bool is true for accepted — possible polarity bug, orthogonal to this rename

Changeset

Repo PR Base
genvm-manager genlayerlabs/genvm-manager#24 v0.6-dev
genlayer-node genlayerlabs/genlayer-node#1753 v0.6-dev
genlayer-studio genlayerlabs/genlayer-studio#1744 v0.123-dev
genlayer-py #105 v0.19-dev
genlayer-testing-suite genlayerlabs/genlayer-testing-suite#106 v0.30-dev
genlayer-e2e genlayerlabs/genlayer-e2e#723 main
genlayer-dev-env genlayerlabs/genlayer-dev-env#130 main

No PR for genlayer-js or genlayer-consensus — neither needed a change.

Depends-On: is declared only against genvm-manager#24 here. genlayerlabs/genlayer-node#1753 is the hub: it carries Depends-On for every repo in the set, so one E2E run from there resolves the whole closure and fans checks out to each open PR. Sibling rows above are deliberately plain links — a fully-connected mesh would be a dependency cycle, which the E2E dispatcher rejects.

@kp2pml30 kp2pml30 self-assigned this Aug 19, 2026
@coderabbitai

coderabbitai Bot commented Aug 19, 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: Pro Plus

Run ID: a432a728-2a84-41e4-9dd0-2cdddff7ef82

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.

Bump the v0.3 runner pins to the new ids, rename the raw fee-params
aliases leader/validator_timeunits_allocation to
leader/validator_time_units_allocation, and keep the wait_until rename
of accepted to decided.
@kp2pml30
kp2pml30 force-pushed the chore/update-genvm-runner-hashes branch from 485af1b to 86c1db1 Compare August 21, 2026 11:33
The pinned embeddings runner's `VecDB` takes the distance metric as a fourth
type parameter. Three arguments now fail at contract import, which leaves the
deploy without state rather than reporting a type error.

`log_indexer_testnet.py` is deliberately left alone: it targets Asimov, which
runs the older SDK.

@MuncleUscles MuncleUscles left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Reviewed the fee-field/lifecycle migration and explicit VecDB metric update; native CI and exact cross-repo E2E are green. No blocking findings.

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.

2 participants