From e33929c80c351706503c75b395d5b1cdb5b65c36 Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Wed, 17 Jun 2026 18:09:19 +0100 Subject: [PATCH] =?UTF-8?q?docs(swift-example-app):=20retire=20stub=20buil?= =?UTF-8?q?der=20rows=20VOTE-07/ID-13=20(=E2=9E=96)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit VOTE-07 (masternode vote) and ID-13 (identity top-up) marked their generic-builder entry as `๐Ÿงช` builder-only, but those builder entries are stubs (`notImplemented`) โ€” the real coverage is VOTE-01 and ID-05/ID-06. As `๐Ÿงช` they counted as "automatable now" and seeded a confusing "no runs, never" tile on the QA dashboard. Reclassify both to `โž–` (retired โ€” folded into another row), matching the legend. The seed script already skips `โž–` rows, so they drop out of the on-chain catalog while the rows stay here to document that the builder stubs are intentional, not defects. The on-chain testCases were deleted to match. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/swift-sdk/SwiftExampleApp/TEST_PLAN.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/swift-sdk/SwiftExampleApp/TEST_PLAN.md b/packages/swift-sdk/SwiftExampleApp/TEST_PLAN.md index 0b3258a680c..fe532bc58a4 100644 --- a/packages/swift-sdk/SwiftExampleApp/TEST_PLAN.md +++ b/packages/swift-sdk/SwiftExampleApp/TEST_PLAN.md @@ -153,7 +153,7 @@ The app is a full multi-wallet client: `PlatformWalletManager` holds N wallets c | ID-10 | Withdraw credits โ†’ Dash L1 address | Cross | Common | โœ… | `IdentityDetailView` โ†’ **Withdraw Credits** (sheet, `WithdrawCreditsView`) โ†’ `wallet.withdrawCredits` โ†’ `platform_wallet_withdraw_credits_with_signer` (keychain-signed). Destination L1 address typed in + validated against the wallet's network; amount validated against balance. Identity credit balance drops by amount + fee; L1 payout is pooled and processed asynchronously by the network (no immediate txid). Requires the identity to have a TRANSFER/CRITICAL key โ€” newly-derived identities get one (keyId 3); older identities may need one added first via `ID-07`. (Also reachable via the *Settings โ†’ Platform State Transitions โ†’ Identity Credit Withdrawal* builder โ†’ `dash_sdk_identity_withdraw` with a test signer.) | | ID-11 | Transfer credits โ†’ Platform addresses | Platform | Common | โœ… | `AddressQueriesView` โ†’ TransferIdentityToAddresses โ†’ `dash_sdk_identity_transfer_credits_to_addresses`. | | ID-12 | Update identity โ€” disable key | Platform | Thorough | โœ… | `KeyDetailView` (drill into a key from `KeysListView`) โ†’ **Key Status โ†’ Disable Key** โ†’ confirm (permanent / irreversible) โ†’ `wallet.updateIdentity(disablePublicKeyIds:)` โ†’ `platform_wallet_update_identity_with_signer` (keychain-signed). The button is gated to match consensus: it's hidden/disabled for master-level keys, the last enabled authentication key, and the last enabled transfer key (each shows an inline reason), and already-disabled keys show a read-only "Disabled" row. On success the identity's keys are re-fetched so the disabled badge appears, then the view pops back. A swipe-to-Disable shortcut on each eligible row in `KeysListView` routes into the same confirm + submit (reaches keys whose row tap opens `PrivateKeyView` instead of the detail). (Also reachable via *Settings โ†’ Platform State Transitions โ†’ Identity Update* (disable path) โ†’ `executeIdentityUpdate` with a test signer.) | -| ID-13 | Top up identity (builder path) | Cross | โ€” | ๐Ÿงช | Builder entry is a stub (`notImplemented`). Use `ID-05`/`ID-06`. Listed so QA doesn't mistake the stub for a defect. | +| ID-13 | Top up identity (builder path) | Cross | โ€” | โž– | Retired โ€” builder entry is a stub (`notImplemented`); identity top-up is covered by `ID-05`/`ID-06`. Kept here to document the stub; not seeded to the QA catalog. | ### 4.3 Platform Addresses (DIP-17 credit addresses) โ€” `Domain=Address` @@ -188,7 +188,7 @@ The app is a full multi-wallet client: `PlatformWalletManager` holds N wallets c | VOTE-04 | Query voters for a contestant identity | Platform | Thorough | โœ… | `PlatformQueriesView` (getContestedResourceVotersForIdentity). | | VOTE-05 | Query an identity's votes | Platform | Thorough | โœ… | `PlatformQueriesView` (getContestedResourceIdentityVotes). | | VOTE-06 | Query vote polls by end date | Platform | Thorough | โœ… | `PlatformQueriesView` (getVotePollsByEndDate). | -| VOTE-07 | Masternode vote (generic builder entry) | Platform | โ€” | ๐Ÿงช | Builder entry is a stub (`default โ†’ notImplemented`). Use `VOTE-01`. | +| VOTE-07 | Masternode vote (generic builder entry) | Platform | โ€” | โž– | Retired โ€” builder entry is a stub (`default โ†’ notImplemented`); masternode voting is covered by `VOTE-01`. Kept here to document the stub; not seeded to the QA catalog. | ### 4.6 Data Contracts โ€” `Domain=Contract`