Skip to content

test(sdk): re-record GroveDB V0 offline vectors as V1 and re-enable their tests - #5299

Merged
QuantumExplorer merged 1 commit into
v5.0-devfrom
test/rs-sdk-rerecord-v0-vectors
Oct 6, 2026
Merged

QuantumExplorer merged 1 commit into
v5.0-devfrom
test/rs-sdk-rerecord-v0-vectors

Conversation

@QuantumExplorer

@QuantumExplorer QuantumExplorer commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

Basic explanation

What this does: The Rust SDK has offline tests that replay recorded network answers ("test vectors") instead of talking to a real node. Some of those recordings were made long ago, in an old proof format (GroveDB proof envelope V0) that clients now refuse, so their tests were switched off. This re-records them against a fresh local network built from this branch, so they use the current format (V1), and switches the tests back on.

Value: 23 rs-sdk tests (16 tests plus 7 test_case variants, with one more variant sharing a recording) and 7 rs-sdk-ffi tests run in CI again. That covers identity, balance, token, group-action, prefunded-balance and contested-name (masternode voting) queries. The Swift SDK's testSimpleIdentityFetch replays the test_identity_read recording, so it should pass again too.

Risks: Low. Only test code and recorded JSON change; no runtime or consensus code is touched. The contested-name recordings depend on chain state that was set up by hand (see below), so recording them again needs the same setup.

Issue being fixed or feature implemented

#5294 makes every client refuse GroveDB V0 proof envelopes at every protocol version. 24 vector directories in packages/rs-sdk/tests/vectors/, recorded on devnets at protocol versions 4 and 9, carried V0 envelopes (first byte of each grovedb_proof is 0). Their tests were ignored under offline-testing since #4701.

Before (on v5.0-dev):

$ cargo test -p dash-sdk --test main -- --ignored
... 16 tests fail with Proof(UnsupportedGroveDBProofVersion { version: 0, minimum: 1 })

After (this branch):

$ cargo test -p dash-sdk --test main
test result: ok. 136 passed; 0 failed; 15 ignored
$ cargo test -p rs-sdk-ffi --test integration
test result: ok. 34 passed; 0 failed; 0 ignored

The 15 tests still ignored are unrelated: vectors were never recorded for them, or they are disabled for other reasons (PLAN-653, offline mode).

What was done?

  • Vectors: re-recorded the 24 V0 directories with packages/rs-sdk/scripts/generate_test_vectors.sh <test> (one test at a time, never the wipe-everything form). Every grovedb_proof in packages/rs-sdk/tests/vectors/ now starts with byte 1; a scan finds no V0 envelope left. No other vector directory changed.
  • rs-sdk tests: removed the #[cfg_attr(feature = "offline-testing", ignore = "recorded vectors carry GroveDB V0 proofs; ...")] attributes (16) and the matching => ignore[...] on test_case variants of contested_resources_fields and contested_rss_vote_state_fields (8). The not(offline-testing) ignores that guard network runs needing the contested-name setup are kept.
  • rs-sdk-ffi tests: removed the 7 V0 #[ignore]s in tests/integration_tests/{identity,token,contested_resource}.rs, and pointed test_contested_resource_voters_for_identity at a contestant of the new recording (c5b2761e..., the one holding two votes).

How the vectors were recorded

  • Network: dashmate setup local (3 masternodes) from 65e1969c6f, drive-abci and rs-dapi built from source with buildArgs.SDK_TEST_DATA="true", protocol version 14, regtest.
  • Identity, token and group-action tests use the genesis fixtures from create_sdk_test_data, so they need no extra setup.
  • Contested-name tests (check_mn_voting_prerequisites, Seed DPNS contested-name prerequisites via SDK_TEST_DATA (extend create_sdk_test_data) #3720) need state that is still set up by hand. For this recording:
    • three identities funded with rs-scripts' register_identity;
    • each registering testname, plus alice (a11ce) and bobby (b0bby) for two of them, through Sdk::register_dpns_name, giving 3 contested resources and 3 contenders on dash/testname;
    • three masternode votes on dash/testname (two for one contender, one for another) through PutVote.
  • Contests on test networks close 90 minutes after the first contender registers, so these tests must be recorded inside that window.

How Has This Been Tested?

  • cargo test -p dash-sdk --test main (offline): 136 passed, 0 failed.
  • cargo test -p rs-sdk-ffi --test integration: 34 passed, 0 failed, 0 ignored.
  • Each re-recorded test also passed against the live network while recording (--features generate-test-vectors).
  • Checked the recorded GetContestedResourceVotersForIdentityRequest for the FFI contestant id exists and carries the voters, so that test cannot pass on a missing vector.
  • rustfmt --check on the edited test files.

Breaking Changes

None.

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have added "!" to the title and described breaking changes in the corresponding section if my code contains any
  • I have made corresponding changes to the documentation if needed
  • If I added or changed GroveDB structure, I described it in the area's structure.rs, regenerated grovedb-structure.json, and checked the structure viewer link posted on this pull request

For repository code-owners and collaborators only

  • I have assigned this pull request to a milestone

🤖 Generated with Claude Code

PR Hygiene · c177826

  • Bots — coderabbitai skipped after its own rate limit · thepastaclaw ✓
  • Self-review — post /self-reviewed
  • Within your 5 open PRs — this one is beyond the limit; it waits until one merges
  • Build green
  • Approvals
    • rust-sdk-ffi (packages/rs-sdk-ffi/tests/integration_tests/contested_resource.rs, packages/rs-sdk-ffi/tests/integration_tests/identity.rs, packages/rs-sdk-ffi/tests/integration_tests/token.rs) — lklimek or shumkov
    • rust-sdk (packages/rs-sdk/tests/fetch/contested_resource.rs, packages/rs-sdk/tests/fetch/contested_resource_vote_state.rs, packages/rs-sdk/tests/fetch/contested_resource_voters.rs and 158 more) — lklimek or shumkov

When every box is checked the PR Hygiene check passes and this can merge.

…ir tests again

#5294 made every client refuse GroveDB V0 proof envelopes, so 24 rs-sdk
vector directories recorded on old devnets (protocol versions 4 and 9)
could no longer be replayed, and their 16 rs-sdk tests, 8 test_case
variants and 7 rs-sdk-ffi tests were ignored under offline-testing.

Re-recorded them with scripts/generate_test_vectors.sh against a local
devnet built from v5.0-dev (65e1969, protocol version 14, drive-abci
and rs-dapi from source, SDK_TEST_DATA=true). Every recorded
grovedb_proof now starts with byte 1 (V1). The contested-name tests ran
against three identities contending dash/testname, two single-contender
names (a11ce, b0bby) and three masternode votes on dash/testname.

Removed the V0 ignores, and pointed the rs-sdk-ffi voters test at a
contestant of the new recording.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added this to the v5.0.0 milestone Oct 6, 2026
@coderabbitai

coderabbitai Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 164 files, which is 64 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

Check out review usage here.

⚙️ Run configuration
  • Configuration used: Repository: dashpay/platform/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: b2821f80-e979-4ea8-8203-213d85f64c5f
📥 Commits

Reviewing files that changed from the base of the PR and between cdcb4be and c177826.

📒 Files selected for processing (164)
  • packages/rs-sdk-ffi/tests/integration_tests/contested_resource.rs
  • packages/rs-sdk-ffi/tests/integration_tests/identity.rs
  • packages/rs-sdk-ffi/tests/integration_tests/token.rs
  • packages/rs-sdk/tests/fetch/contested_resource.rs
  • packages/rs-sdk/tests/fetch/contested_resource_vote_state.rs
  • packages/rs-sdk/tests/fetch/contested_resource_voters.rs
  • packages/rs-sdk/tests/fetch/group_actions.rs
  • packages/rs-sdk/tests/fetch/identity.rs
  • packages/rs-sdk/tests/fetch/prefunded_specialized_balance.rs
  • packages/rs-sdk/tests/fetch/tokens/identity_token_balances.rs
  • packages/rs-sdk/tests/fetch/tokens/token_total_supply.rs
  • packages/rs-sdk/tests/vectors/check_mn_voting_prerequisites/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json
  • packages/rs-sdk/tests/vectors/check_mn_voting_prerequisites/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json
  • packages/rs-sdk/tests/vectors/check_mn_voting_prerequisites/msg_GetContestedResourcesRequest_8f71462d5f438e1b12fedf94ad5799af81392b7b0cbb7e86412da37ab13aef4b.json
  • packages/rs-sdk/tests/vectors/check_mn_voting_prerequisites/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json
  • packages/rs-sdk/tests/vectors/check_mn_voting_prerequisites/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/check_mn_voting_prerequisites/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json
  • packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json
  • packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json
  • packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/contested_resource_vote_states_ok/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json
  • packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetContestedResourceVoteStateRequest_7a62b33ce71dec56fbbcb0302eac0041cdc16404006d1b30577292c6ce106cdb.json
  • packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json
  • packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json
  • packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/contested_resource_vote_states_with_limit/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json
  • packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json
  • packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_10110ee14ae9da0bda6aaa8191c57c0a880092ca161c0d1ad05fb5658e88fd2e.json
  • packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_1a81468b84501f0bd9cb625c4e42365e2eacc7257da60ce6b1e59d25f947f4d9.json
  • packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_5fe279d132673aae74ddf1402434750fd01b1e835c7beb744929470f9460d6d5.json
  • packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_62c465ad02cc065a98e3a36f346e2c62730bf91dbc8fa85eee939d5fa427b5e1.json
  • packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_6c371f39cd63a4a0dfb9a9fa47de218ef824e28209f3b797076903b13efe884b.json
  • packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetContestedResourceVotersForIdentityRequest_e42a431aedd97fe3f9057f50e68b2eb86d71a154bb1d8373a11a1564258a40ab.json
  • packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json
  • packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/contested_resource_voters_for_existing_contestant/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/msg_GetContestedResourcesRequest_25a3f1603510228a22726e0b4c35bce08c84a0cf72b34f6a408982f7babce2c2.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_0760ac4854fc8db803bbcbab8709f390bd31511a05e29cd3f170b48ca6b87584/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/msg_GetContestedResourcesRequest_5396ff2dd55051d854e18e406fbbfa6b1eff43954af904bce8f123fed7515132.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_948b5a301af5fc73db7fed418a4fe90f64952b4ddd6b03a7f21d029dc110af50/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/msg_GetContestedResourcesRequest_c8608f7aed7bbe4ced03c9c23f1ce28a227def58e23c39e0384e0cc02fe6360b.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/contested_resources_fields_b7df460e812b958de6e703d8ea325df9aab3448d0409ece3f0baf1d26629e44f/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/contested_resources_limit/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json
  • packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_13743b3cba702fc90e3618172a46e3dbf9ca8dadcb275c2c28a6dee9e033e292.json
  • packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_1dbad85f242dfc488bf6a736c3c55774151848b669401ef44deadc605b0d278f.json
  • packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_37c394b62a91dfe665432198561649a7d9108f9b96fc074e1da61f0fa19d3b5b.json
  • packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_51c71e845c3f579ad3ced0e35efed11f384144320c099f54b2530f0be42f8664.json
  • packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_5ed61fb7e6af25c01dab6f8f8a2c2053b0d156feb578461541ed60ca4ed6064d.json
  • packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_7785e71a6245fd4ec421fef4c411f4a723908b4ee33c4612727d101cf58f3394.json
  • packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_80163fffa5a50a0f753f2879c488aad6f6cf102931b9de7023614d59b65a0ec0.json
  • packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_81cdd94e16c4b296934dfa5bae8d724c98cd0e3653d01d091232c8053d0c6ecb.json
  • packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_8f4daadf3e41747492cd381cbbd1cf33dd52735f597de4b4c804effd2600d135.json
  • packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetContestedResourcesRequest_db80e293e51ffd1cd840ffc18853abc50fc58895d65ce023d46e2c6ded39d257.json
  • packages/rs-sdk/tests/vectors/contested_resources_limit/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json
  • packages/rs-sdk/tests/vectors/contested_resources_limit/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/contested_resources_limit/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_015a1d2bbc282c8e87eae9748ffa72db1958762a26a6d156f618978402b1fe4d.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_0401bcbcdd9241f3f03bb65fc0736f4a01a271cbefcc92e52e7deacb8091a36d.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_09540b24c4d98960527f45bc20e828d50a4fa7b3230d23ddfac563877efd61e2.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_12a83820f10ece0b180bee7d58c1d4e66aec36ada2efbb1072f2196b5b856222.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_17549c499ab1bade46e96fe67bc637ba87f58b1be40e677b000fec75c2af2319.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_1ef94b2835536781d5c37af2990f1400abf368ef25742ac1e4ec0350cc98334d.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_23b2499d619f7a2a202b3fc4600108724bcdd9c97f7d0fa91f3a7596a80449f9.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_247a25c20366e893f60cc0d9321dd268f3555081d2a3a5e112886b1c78b4009f.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_26832b1a90d093f54c3a5eae4903549f6e73f467779e83ef5729423f6ae43ac5.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_2aeaf8f528e207ff093c003b46e3c4cd53b525ef27be36077437e8b9b8ffadd8.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_3a5007c451d6797acb92cfcd08a4d57c2324ae70718b59081ef80ca69210597e.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_4135759e5ad1ee131eb82fb9c0b66c773b6b6433a3502423706160e543a24f13.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_53acfa6801e8faf3968fcb37b1977aa3058a5e96a54279f3cd7b134ef5efcbb1.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_5878e49ba83fdab3110c674b3ffa4d5675d8b383091c3b9bff1366f82a3aa07b.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_5ebeb7c01fffe047c9a91d9b3086ab5e43d4fb9c927bcab551e0c65be65c95c1.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_6c085c067c576e2a1457a8e78370f9bf0a059ad2788d4630751cfb714a5a9762.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_774f59e620022defe8cede5a337b235f0c1d8085680124a1ddf9d72502e1835b.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_8a073ff500c2f5ba5c9c73e9fd7e00617aa14d198985649d19d3c4ad9b9763bb.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_8c2e50a4e3c6b6bcce52453520e5d377ddbe6cbdccdff3bb18a89ec8aee7fcec.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_8f0699751716034f3fa7c28223c048daa8fc887b7fd9431b5b3ebc18bf6c7d42.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_91ed87367df512745f96a66d3309cf6980b6b126a73dd990b05887c3ec391b0a.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_a4cecc3159e93091689acd02e9b10aa19eaf0c52fbcfada86b8600e9c659753a.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_a939095d034133f099b1d8f8120a73f56ca3cd20ba2d075d66bcf67b674521a6.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_af02c4a5fc6db62e6b0bf120453dc565daef6e520143580c78090977a41c7ec5.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_bd96b3514f2c3f1d32c725db2754e1905758178dce3e8085da8dbd0cce4053b7.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_c4a2f26f9395fbc0ae13e175a1398d53a0e8a1ca128c2cac64df5a886be08954.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_c99e89c75ebdb8c051fa31ddc93b2d43564f484a6e44b32dc721c425cf3a7b8d.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_da94b3cfe356fa51aa951bfd6bcc3b916066008fb39cef66df1d51a85a0da7d1.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_f3cacf6ef5a1f01d07c3cb41c1b46b1a606a8ccb267440005793b49521c7849b.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetContestedResourcesRequest_fe0d0995c36b430a2a76d1215f53b54536f53a4438de3ef85f387b058c226005.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/contested_resources_start_at_value/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/msg_GetContestedResourceVoteStateRequest_aaaa80ce4fdfc75252132a85e6c12bea6a47c9f7bf30133713b6b5cfec3a4d57.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__a39a5f7014a616de3d7002bb4f18772c5b5d3526cb2b3c33566bd64512882669/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/msg_GetContestedResourceVoteStateRequest_23a531bedb32082b8e3bb799790dbc80a6caf537196a9513dae8967f325ab485.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__c71b4f8d63f8a1357936129a226f99e349e7b21b166609cf59062e27ed68a1ee/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/msg_GetContestedResourceVoteStateRequest_bf272e62224361f1e7cf91b7f45285016c5d0ac679c299447df687e866154090.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__cfe3ebd0f17745be80e4348304fe468f3eb8c2d17e23d310582b0b34f2d5bba7/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/msg_GetContestedResourceVoteStateRequest_e1399ef22320c9690b1c8e548975839e9ea0c40cd94caac5746b19857d52533a.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/contested_rss_vote_state_fields__fbed6654145b9fba061d182cac5a3879bc9bacb92dc9ae64ed2a07ca2ec0392f/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/test_contested_resources_ok/data_contract-e668c659af66aee1e72c186dde7b5b7e0a1d712a09c40d5721f622bf53c53155.json
  • packages/rs-sdk/tests/vectors/test_contested_resources_ok/msg_GetContestedResourcesRequest_c8608f7aed7bbe4ced03c9c23f1ce28a227def58e23c39e0384e0cc02fe6360b.json
  • packages/rs-sdk/tests/vectors/test_contested_resources_ok/msg_GetDataContractRequest_e87a2e6acef76975c30eb7272da71733fb6ad13495beb7ca1b6a6c4ceb30e0f7.json
  • packages/rs-sdk/tests/vectors/test_contested_resources_ok/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/test_contested_resources_ok/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/test_fetch_group_action_signers/msg_GetGroupActionSignersRequest_fab8cc89e0aa63236977514b087e9519aa163a5b14730d6e1002b7e8f468e4aa.json
  • packages/rs-sdk/tests/vectors/test_fetch_group_action_signers/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/test_fetch_group_action_signers/quorum_pubkey-106-1f0a25d463a2912cd31dd4f91b899a143d6ae990bb9bc89cb34f7c5db8b1b705.json
  • packages/rs-sdk/tests/vectors/test_fetch_identity_by_non_unique_public_keys/msg_IdentityRequest_28e9fda4d74589e1756f49026696e167d0327209295b4a98e14c6eb0d2b7e631.json
  • packages/rs-sdk/tests/vectors/test_fetch_identity_by_non_unique_public_keys/msg_IdentityRequest_3606368b19c21647e14e80f609e5f90edeec5e32ae9d35ca2f654e5a8b47ef3d.json
  • packages/rs-sdk/tests/vectors/test_fetch_identity_by_non_unique_public_keys/msg_IdentityRequest_3796e6d3ed7346055d82e39618ad441005468aa9ae346220fcc77830f30f06c7.json
  • packages/rs-sdk/tests/vectors/test_fetch_identity_by_non_unique_public_keys/msg_IdentityRequest_5f9f951aa5d5af07c588813f31e9355939311eca86a05923cfb53d11b746428a.json
  • packages/rs-sdk/tests/vectors/test_fetch_identity_by_non_unique_public_keys/msg_IdentityRequest_a6d61bfcc12549cc29bf4e9abe2839f231c080d4ffacee80457ecc1db6a4bbbb.json
  • packages/rs-sdk/tests/vectors/test_fetch_identity_by_non_unique_public_keys/quorum_pubkey-106-15957be6ce59202ce3df8dbd0604f02b4d71142b0d84600aa6fd73436efb869b.json
  • packages/rs-sdk/tests/vectors/test_fetch_identity_by_non_unique_public_keys/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/test_identity_balance_read/msg_GetIdentityBalanceRequest_1d1e53ab5e04d9ec5dce4ff9ac048c03122daf7ab2e77108f4bf44af1ad15eae.json
  • packages/rs-sdk/tests/vectors/test_identity_balance_read/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/test_identity_balance_read/quorum_pubkey-106-1f0a25d463a2912cd31dd4f91b899a143d6ae990bb9bc89cb34f7c5db8b1b705.json
  • packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/msg_GetIdentityBalanceAndRevisionRequest_1d1e53ab5e04d9ec5dce4ff9ac048c03122daf7ab2e77108f4bf44af1ad15eae.json
  • packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/test_identity_balance_revision_read/quorum_pubkey-106-1f0a25d463a2912cd31dd4f91b899a143d6ae990bb9bc89cb34f7c5db8b1b705.json
  • packages/rs-sdk/tests/vectors/test_identity_read/msg_IdentityRequest_28e9fda4d74589e1756f49026696e167d0327209295b4a98e14c6eb0d2b7e631.json
  • packages/rs-sdk/tests/vectors/test_identity_read/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/test_identity_read/quorum_pubkey-106-1f0a25d463a2912cd31dd4f91b899a143d6ae990bb9bc89cb34f7c5db8b1b705.json
  • packages/rs-sdk/tests/vectors/test_identity_read_by_key/msg_IdentityRequest_28e9fda4d74589e1756f49026696e167d0327209295b4a98e14c6eb0d2b7e631.json
  • packages/rs-sdk/tests/vectors/test_identity_read_by_key/msg_IdentityRequest_a1ed838fd960da22d3513effa1b7520f0aac3162bf798e136719fd2370ec4bbf.json
  • packages/rs-sdk/tests/vectors/test_identity_read_by_key/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/test_identity_read_by_key/quorum_pubkey-106-1f0a25d463a2912cd31dd4f91b899a143d6ae990bb9bc89cb34f7c5db8b1b705.json
  • packages/rs-sdk/tests/vectors/test_multiple_identities_token_balances/msg_GetIdentitiesTokenBalancesRequest_2584cf846ab27ed84d67d449becbd7b33c0b9a6a6028ee966f2f2a6c4dbfad21.json
  • packages/rs-sdk/tests/vectors/test_multiple_identities_token_balances/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/test_multiple_identities_token_balances/quorum_pubkey-106-1f0a25d463a2912cd31dd4f91b899a143d6ae990bb9bc89cb34f7c5db8b1b705.json
  • packages/rs-sdk/tests/vectors/test_multiple_identity_token_balances/msg_GetIdentityTokenBalancesRequest_a8fbd028d1136acd5ca3d2a8bcac04276e5f782159470b45b184087e15173bb9.json
  • packages/rs-sdk/tests/vectors/test_multiple_identity_token_balances/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/test_multiple_identity_token_balances/quorum_pubkey-106-1f0a25d463a2912cd31dd4f91b899a143d6ae990bb9bc89cb34f7c5db8b1b705.json
  • packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/msg_GetPrefundedSpecializedBalanceRequest_025257146b516a8c29cad26800714ad6a0b47b50c5fd84a4e094fbf06ff040b1.json
  • packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/msg_GetPrefundedSpecializedBalanceRequest_4e32db23cb5b6b0a01e11458ea23784127eff182965d29945dc6f68a09081666.json
  • packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/msg_GetVotePollsByEndDateRequest_90f99444544de47f7e78de44bcaca1b6ba4883a92f4533995dbfdbc5875d8bef.json
  • packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/quorum_pubkey-106-029045172fbebcf97290db8879490a48ac0d1d60e249d031b5ad79e3e46e3fca.json
  • packages/rs-sdk/tests/vectors/test_prefunded_specialized_balance_ok/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/test_token_total_supply/msg_GetTokenTotalSupplyRequest_7e5c052e54136f686548a1a4f74dd24e4f0a7aacf5fd451485dd7b81f4b020eb.json
  • packages/rs-sdk/tests/vectors/test_token_total_supply/quorum_pubkey-106-1dcf0c66601738677c1a92dad426c18c1dd775e11dca61e8ac881838b8b7d160.json
  • packages/rs-sdk/tests/vectors/test_token_total_supply/quorum_pubkey-106-1f0a25d463a2912cd31dd4f91b899a143d6ae990bb9bc89cb34f7c5db8b1b705.json

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

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Waiting for bot review — coderabbitai not yet · thepastaclaw ✓. Wait for the missing reviews, or a writer can post /skip-bots to proceed without them; blocking findings still need addressing.
Full checklist in the description.

@github-actions github-actions Bot added the waiting-bots Waiting for the review bots to report on this head label Oct 6, 2026
@thepastaclaw

thepastaclaw commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

✅ Final review complete — no blockers (commit c177826) · triage: normal

@thepastaclaw thepastaclaw left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Final validation — Phase 1 + Phase 2

Verified the combined reviewer evidence against head c177826. The changes are limited to test re-enablement and refreshed recordings in the 24 directories containing V0 proofs; all 151 current proof envelopes are V1, corresponding quorum-key files exist, and the updated FFI contestant ID matches a recorded request. No actionable in-scope findings remain; validation was static, and the supplied CI snapshot reports successful Rust workspace, Swift, Kotlin, and JS SDK checks, with PR Hygiene pending.

Review provenance

Source: reviewer 1: muse-spark-1.3-contributor (agent: phase1-reviewer, role: general); reviewer 2: muse-spark-1.3-contributor (agent: phase1-reviewer, role: rust-quality); reviewer 3: gpt-6.1-sol (agent: phase2-reviewer, role: general); reviewer 4: gpt-6.1-sol (agent: phase2-reviewer, role: architecture-layering); reviewer 5: gpt-6.1-sol (agent: phase2-reviewer, role: platform-versioning); reviewer 6: gpt-6.1-sol (agent: phase2-reviewer, role: rust-quality); final verifier: gpt-6.1-sol (agent: sol-verifier, role: final-verifier)

  • Triage: normal by gpt-6.1-sol (effort low) — This is a broad test-fixture refresh across 24 vector directories and SDK integration tests that requires checking replay consistency and preserved coverage, but changes no production critical surface.
  • Phase 1 reviewers: muse-spark-1.3-contributor — general (completed, effort xhigh); agent phase1-reviewer, muse-spark-1.3-contributor — rust-quality (completed, effort xhigh); agent phase1-reviewer
  • Phase 1 model: muse-spark-1.3-contributor — not quota-gated; passed over gemini-3.8-flash-high (antigravity below 15% reserve: weekly 15% left, 5h 100% left), glm-5.3-flash (not used above high effort; tier asks max)
  • Fresh verifier: gpt-6.1-sol — final-verifier; agent sol-verifier
  • Phase 2 reviewers: gpt-6.1-sol — general (completed, effort high); agent phase2-reviewer, gpt-6.1-sol — architecture-layering (completed, effort high); agent phase2-reviewer, gpt-6.1-sol — platform-versioning (completed, effort high); agent phase2-reviewer, gpt-6.1-sol — rust-quality (completed, effort high); agent phase2-reviewer
Out-of-scope follow-up suggestions (1)

These are valid observations, but they are outside this PR's scope and should be handled in separate issues or author/maintainer-requested PRs rather than blocking this review.

  • Re-enabled voters test passes vacuously on None/empty — Out of scope — the permissive None/empty assertions already exist unchanged in the base version of test_contested_resource_voters_for_identity. This PR restores proof replay and updates the contestant ID to c5b2761e93571bc94ed94f0c7a2336c5ba60fe98c5f59eaf5142b0482594eaa6, which matches a recorded GetContestedResourceVotersForIdentityRequest with the required query fields. A missing or mismatched recording does not silently return None: MockDapiClient::execute returns MockExpectationNotFound, the FFI propagates that error, and the test panics. Stronger positive-result assertions would improve pre-existing test coverage but are not required for this PR's stated goal.
    • Follow-up: Consider creating a separate issue or author/maintainer-requested PR for this.

@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Bots are done — your move: post /self-reviewed.
Full checklist in the description.

@github-actions github-actions Bot added waiting-self-review Waiting for the author to post /self-reviewed bot-review-skipped A required review bot did not report; it was skipped by the window or by a person. and removed waiting-bots Waiting for the review bots to report on this head labels Oct 6, 2026
@QuantumExplorer
QuantumExplorer merged commit 8929fc2 into v5.0-dev Oct 6, 2026
26 of 27 checks passed
@QuantumExplorer
QuantumExplorer deleted the test/rs-sdk-rerecord-v0-vectors branch October 6, 2026 03:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bot-review-skipped A required review bot did not report; it was skipped by the window or by a person. waiting-self-review Waiting for the author to post /self-reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants