Uh oh!
There was an error while loading. Please reload this page.
feat(rs-platform-wallet/e2e): identity-credit sweep + ID-001/002/003/005 tests - #3578
feat(rs-platform-wallet/e2e): identity-credit sweep + ID-001/002/003/005 tests#3578lklimek wants to merge 2 commits into
Conversation
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
5e0e077 to
98cbfd9CompareFirst DPNS-tier test on the e2e harness. Sets up an identity via Wave A signer + register_identity_from_addresses, registers a uniquely labelled .dash name, asserts resolver visibility within STEP_TIMEOUT. Standard #[ignore]-gated; relies on PLATFORM_WALLET_E2E_BANK_MNEMONIC + live testnet. Per TEST_SPEC.md DPNS-001 (P0). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…identity-tests-and-sweep
lklimek
commented
May 5, 2026
merged into feature branch test/platform-wallet-e2e |
Issue being fixed or feature implemented
The platform-wallet e2e harness had no real identity-credit sweep —
sweep_identitieswas a no-op stub that would silently leak identity credits across CI runs until the bank starved. Identity-feature tests (ID-NNN) were also entirely unimplemented; the spec defined them but no test code existed.This PR delivers both: a real
sweep_identitiesimplementation with a persistent bank identity, plus four ID-NNN test cases (ID-001/002/003/005) covering the identity-credit money-flow loop end-to-end.Stacks on top of #3563 (e2e harness extensions). Targets
feat/rs-platform-wallet-e2e-casesso it merges in the same trunk-down sequence.What was done?
Bank identity persistence (
framework/bank_identity.rs— new):PLATFORM_WALLET_E2E_BANK_IDENTITY_*env-vars primary, workdir-persisted JSON fallback.0xBA77(high index = no collision with test indices0..n).wallet_idon load to surface bank-mnemonic mismatches loudly.Identity-credit sweep (
framework/cleanup.rs::sweep_identities_with_seed):0..IDENTITY_DISCOVERY_GAP(=8).SweepPlan(covered bybuild_sweep_plan_*unit tests).Harness-ID-1regression pin asserts the contract.ID-NNN test cases (
tests/e2e/cases/):id_001_register_identity_from_addresses.rs—IdentityWallet::register_from_addresseshappy path.id_002_top_up_identity.rs—top_up_from_addresseshappy path.id_003_identity_to_identity_transfer.rs—transfer_credits_with_external_signerbetween two harness-owned identities.id_005_identity_to_addresses_transfer.rs—transfer_credits_to_addresses_with_external_signerround-trip back into wallet.id_sweep_recovers_identity_credits.rs— sweep self-test (registers identity, teardown, asserts bank receives the credits).STUB pinning for deferred cases (
TEST_SPEC.md):TestWallet::from_seed_bytesrebuild helper).How Has This Been Tested?
E2E identity tests are gated behind
PLATFORM_WALLET_E2E_BANK_MNEMONICandPLATFORM_WALLET_E2E_BANK_IDENTITY_*env-vars (not run in CI by default; operator runs against testnet).Breaking Changes
None. Additive: new framework module, new test cases, no API changes to the wallet crate itself.
Checklist:
🤖 Co-authored by Claudius the Magnificent AI Agent