Skip to content

real-node: the REST contract the sites read, the fee-feedback supply and limits fields kept, a gating CI job - #1

Merged
dendisuhubdy merged 5 commits into
mainfrom
test/node-integration
Oct 8, 2026
Merged

dendisuhubdy merged 5 commits into
mainfrom
test/node-integration

Conversation

@dendisuhubdy

Copy link
Copy Markdown
Member

Draft, opened to run the new gating real-node CI job against the fullnode v0.7.1 release binaries (Linux-only; locally the test ran against the fee-feedback build).

  • crates/randscan-api/tests/real_node.rs runs again against v0.7 nodes (the test FRI profile is allowed, the wallet gets --binding-domain 1 when the node's genesis supports it) and gains consumer_contract(): on the same chain it checks what two sites read — /bridge, /bridge/assets, /tokens/{index} (zusd.money src/lib/balance-sheet.mjs), /envelopes with paging (randprotocol.org src/scripts/balance.js), /stats and /supply — each assertion naming the consumer.
  • The indexer keeps and serves rand_getSupply.base_fees_burned and rand_getLimits.fee_rules (optional, inside the existing JSONB; no migration); a unit test feeds them present, absent, null, partial, numeric and with unknown siblings.
  • The mock node serves the two new fields so it stays a superset of the live shape.
  • CI: real-node with the Postgres service, gh release download of rand-node/rand/SHA256SUMS (checksum-verified; FULLNODE_TAG pins a tag, empty = latest), RANDSCAN_REQUIRE_REAL_NODE=1 so a lost variable fails rather than skips.

Note: cargo fmt --check already fails on main, so the existing rust job stops before its tests; the new job does not depend on it.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Tup3MjwcZy2X6hdCRWGkFc

dendisuhubdy and others added 5 commits October 6, 2026 18:58
…imits.fee_rules kept and served; a reply carrying them and unmodelled fields beside them is pinned by a unit test

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tup3MjwcZy2X6hdCRWGkFc
…a superset of the live shape again

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tup3MjwcZy2X6hdCRWGkFc
…g-domain 1, a 1 024-block proof window) and checks the REST contract zusd.money and randprotocol.org read

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tup3MjwcZy2X6hdCRWGkFc
…de.rs, gating; README says how to run it

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tup3MjwcZy2X6hdCRWGkFc
…_rules compared flag by flag, paging guarded on a third leaf; ci: release pinned by FULLNODE_TAG and checked against SHA256SUMS; the new rpc.rs test formatted

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tup3MjwcZy2X6hdCRWGkFc
@codecov

codecov Bot commented Oct 6, 2026

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@dendisuhubdy
dendisuhubdy marked this pull request as ready for review October 8, 2026 00:30
@dendisuhubdy
dendisuhubdy merged commit f38d459 into main Oct 8, 2026
5 of 6 checks passed
@dendisuhubdy
dendisuhubdy deleted the test/node-integration branch October 8, 2026 00:31
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