Skip to content

fix(consumers): align SDK builds and follow appealable transaction decisions - #1771

Draft
kirilaa wants to merge 2 commits into
v0.123-devfrom
fix/v06-consumer-sdk-lifecycle
Draft

kirilaa wants to merge 2 commits into
v0.123-devfrom
fix/v06-consumer-sdk-lifecycle

Conversation

@kirilaa

@kirilaa kirilaa commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Problem and outcome

On contract-backed networks, transaction polling stopped at Accepted/Undetermined/timeout decisions, so later appeals and finalization could remain invisible. Keep refreshing until the stored parent status is Finalized or Canceled. This does not present parent finalization as completed child delivery.

Pin both frontend and explorer to the same SDK #220 commit, 2bc5e60052d4a5ef2fef4d9f6931014ca15f20b1, with regenerated lockfiles. Previously frontend used an older v2 commit and explorer used v0.20.3. The SDK reconciles staking/lifecycle ABIs against Consensus #1634 at c4749a42095bcfb9de69bef4f4fd5e9a6a2f86f2.

SDK child lookup now consumes parent-linked Messages events across deferred delivery instead of inspecting only decision receipts. Explorer CI allows the Git SDK prepare build (fixing missing dist exports); both Docker build stages install Git/SSH and use locked npm installs.

Delivery context

Depends-On: genlayerlabs/genlayer-js#220

Base: v0.123-dev at 0737a52de4be3db0ea33336d99f68b5e3e14ce40, the active line identified by standing release gate #1670. Existing #1653 targets v0.122; no open PR owns this transaction store, so this is a focused follow-up on the active line. No existing competing implementation is copied.

The SDK dependency selects dev-env #145, Python #116 and E2E #781. The eventual implemented Node cut must select its Consensus #1634 dependency and the consumer closure. Node #1955/#1956 need synchronization with current lower heads before freezing that cut.

See docs/integration/v06-consumer-migration.md and the cross-repository plan.

Validation

  • Frontend npm run type-check: passed.
  • Frontend npm run test -- --run: 34 files, 228 tests passed.
  • Frontend npm run build-only: passed (existing bundle-size/dependency annotation warnings).
  • Changed frontend files: Prettier and ESLint passed (six existing any-type warnings).
  • Explorer clean npm ci, main/chains SDK imports, fee tests, lint and production build: passed. This reproduces the corrected CI install path.
  • pre-commit run --all-files: passed in an isolated checkout of this patch.
  • Both installed SDK builds resolve the same exact commit. Lockfile semantic review found only SDK source/version/integrity changes plus npm peer metadata/order normalization; no unrelated package version upgrades.
  • git diff --check: passed.

Six regression cases cover the four appealable decisions and two terminal parent states. No visual layout changes.

Remaining qualification and risk

Draft: hosted/browser and cross-repository E2E were not run. Integrated canonical child journeys/delivery completion, generation-aware receipt-cache invalidation, reset/preset provenance, and deploy/write/read/appeal/recompute/governance journeys remain explicit follow-up work. Explorer stays on its simulator backend; this is not a backend replacement or a claim of producer parity.

The SDK build is intentionally a v2 pre-release consumer of the new producer; do not promote it to a stable release without the matched runtime qualification. Roll back both package pins and lockfiles together; the polling fix can be reviewed independently. No merge, deployment or npm release requested.

Node changes are excluded by the user's instruction. Docker image validation is pending because the local Docker daemon is unavailable. No new full E2E or merge was requested.

…cisions

Pin frontend and explorer to the audited v0.6 consumer SDK. Keep contract-backed Accepted, Undetermined and timeout transactions refreshing through appeal/finalization, with regression tests. Record remaining generation/delivery API and runtime qualification work.
@kirilaa kirilaa self-assigned this Sep 16, 2026
@coderabbitai

coderabbitai Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

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