@shieldedtech/moth-wallet 0.13.0-canary.20260903151454-e3385c4 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/daemon/wallet-handlers.d.ts.map +1 -1
- package/dist/daemon/wallet-handlers.js +8 -4
- package/dist/daemon/wallet-handlers.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/sync/dust-ledger-health.d.ts +111 -0
- package/dist/sync/dust-ledger-health.d.ts.map +1 -0
- package/dist/sync/dust-ledger-health.js +197 -0
- package/dist/sync/dust-ledger-health.js.map +1 -0
- package/dist/sync/operations.d.ts +1 -1
- package/dist/sync/operations.js +1 -1
- package/dist/sync/preseed.d.ts +15 -0
- package/dist/sync/preseed.d.ts.map +1 -1
- package/dist/sync/preseed.js +33 -0
- package/dist/sync/preseed.js.map +1 -1
- package/dist/sync/tx-summary.d.ts +35 -0
- package/dist/sync/tx-summary.d.ts.map +1 -0
- package/dist/sync/tx-summary.js +80 -0
- package/dist/sync/tx-summary.js.map +1 -0
- package/dist/sync/wallet-sync.d.ts +6 -0
- package/dist/sync/wallet-sync.d.ts.map +1 -1
- package/dist/sync/wallet-sync.js +2 -0
- package/dist/sync/wallet-sync.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/wallet.d.ts +15 -0
- package/dist/types/wallet.d.ts.map +1 -1
- package/dist/wallet/hex-seed.d.ts +46 -0
- package/dist/wallet/hex-seed.d.ts.map +1 -0
- package/dist/wallet/hex-seed.js +83 -0
- package/dist/wallet/hex-seed.js.map +1 -0
- package/dist/wallet/manager.d.ts.map +1 -1
- package/dist/wallet/manager.js +29 -5
- package/dist/wallet/manager.js.map +1 -1
- package/package.json +2 -2
- package/CHANGELOG.md +0 -1061
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-handlers.d.ts","sourceRoot":"","sources":["../../src/daemon/wallet-handlers.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kCAAkC,CAAC;AAGnE,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAC,UAAU,EAAoB,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAC,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"wallet-handlers.d.ts","sourceRoot":"","sources":["../../src/daemon/wallet-handlers.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kCAAkC,CAAC;AAGnE,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAC,UAAU,EAAoB,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAC,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AA2B5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAStD,OAAO,KAAK,EAAe,cAAc,EAAC,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAoBvD,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC;IAC9C,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC;IAChD,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;IAClD,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,qEAAqE;IACrE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACvE;;mEAE+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B;;8EAE0E;IAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAknBvF"}
|
|
@@ -13,6 +13,7 @@ import * as ledger from '@midnight-ntwrk/ledger-v8';
|
|
|
13
13
|
import { DaemonProtocolError } from './protocol.js';
|
|
14
14
|
import { parseSubmitTransactionParams, parseTransferTokensParams, parseCallCircuitParams, parseDeployContractParams, parseDustRegisterParams, parseDustDeregisterParams, parseInsertVerifierKeyParams, parseInsertVerifierKeysBatchParams, shortenAddress, shortenHex, } from './wallet-rpc-parsers.js';
|
|
15
15
|
import { sendTokensWithKeys, designateForDustWithKeys, dedesignateFromDustWithKeys } from '../sync/operations.js';
|
|
16
|
+
import { submitWithHealthTracking } from '../sync/dust-ledger-health.js';
|
|
16
17
|
import { callCircuit } from '../contract/call.js';
|
|
17
18
|
import { deployContract } from '../contract/deploy.js';
|
|
18
19
|
import { insertVerifierKey, insertVerifierKeys } from '../contract/maintenance.js';
|
|
@@ -235,12 +236,15 @@ export function buildWalletHandlers(deps) {
|
|
|
235
236
|
amountBig > deps.maxSpendRaw) {
|
|
236
237
|
throw new DaemonProtocolError('UNAUTHORIZED', `transfer of ${amountLabel} exceeds the --max-spend cap of ${formatBalance(deps.maxSpendRaw, NIGHT_DENOMINATION)} NIGHT`);
|
|
237
238
|
}
|
|
238
|
-
|
|
239
|
+
// Reclassifies a persistent run of InvalidDustSpendProof rejections as
|
|
240
|
+
// a wedged devnet dust ledger instead of a normal failure the operator
|
|
241
|
+
// retries forever — see sync/dust-ledger-health.ts.
|
|
242
|
+
const txId = await submitWithHealthTracking(() => sendTokensWithKeys(facade, walletKeys, network.id, [{
|
|
239
243
|
type: params.type,
|
|
240
244
|
tokenId: params.tokenId,
|
|
241
245
|
amount: amountBig,
|
|
242
246
|
to: params.to,
|
|
243
|
-
}], (stage) => log('info', `[transferTokens] ${stage}`));
|
|
247
|
+
}], (stage) => log('info', `[transferTokens] ${stage}`)), { network, walletName });
|
|
244
248
|
return { txId: String(txId) };
|
|
245
249
|
}, (r) => ({ txHash: r.txId }));
|
|
246
250
|
},
|
|
@@ -372,7 +376,7 @@ export function buildWalletHandlers(deps) {
|
|
|
372
376
|
'Scope: every currently-unregistered NIGHT UTXO',
|
|
373
377
|
...(params.details ?? []),
|
|
374
378
|
], ctx, async () => {
|
|
375
|
-
const txId = await designateForDustWithKeys(facade, walletKeys, network.id, params.receiver, (stage) => log('info', `[dustRegister] ${stage}`));
|
|
379
|
+
const txId = await submitWithHealthTracking(() => designateForDustWithKeys(facade, walletKeys, network.id, params.receiver, (stage) => log('info', `[dustRegister] ${stage}`)), { network, walletName });
|
|
376
380
|
return { txId, registered: txId !== null };
|
|
377
381
|
}, (r) => ({ txHash: r.txId ?? undefined }));
|
|
378
382
|
},
|
|
@@ -387,7 +391,7 @@ export function buildWalletHandlers(deps) {
|
|
|
387
391
|
...(params.details ?? []),
|
|
388
392
|
], ctx, async () => {
|
|
389
393
|
try {
|
|
390
|
-
const txId = await dedesignateFromDustWithKeys(facade, walletKeys, network.id, (stage) => log('info', `[dustDeregister] ${stage}`));
|
|
394
|
+
const txId = await submitWithHealthTracking(() => dedesignateFromDustWithKeys(facade, walletKeys, network.id, (stage) => log('info', `[dustDeregister] ${stage}`)), { network, walletName });
|
|
391
395
|
return { txId };
|
|
392
396
|
}
|
|
393
397
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-handlers.js","sourceRoot":"","sources":["../../src/daemon/wallet-handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wallet-handlers.js","sourceRoot":"","sources":["../../src/daemon/wallet-handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { canonicalNetworkId, DEFAULT_NETWORKS, SUPPORTED_NETWORKS, validateNetwo
|
|
|
4
4
|
export { WalletManager } from './wallet/manager.js';
|
|
5
5
|
export { NIGHT_DENOMINATION, DUST_DENOMINATION, formatBalance, formatDustBalance, } from './wallet/balance-format.js';
|
|
6
6
|
export { generateMnemonic24, validateMnemonic, mnemonicToSeed, hexSeedToUint8Array } from './wallet/mnemonic.js';
|
|
7
|
+
export { checkHexSeed, assertHexSeed, describeHexSeedProblem, MIN_SEED_BYTES, MAX_SEED_BYTES, CANONICAL_SEED_BYTES, type HexSeedCheck, type HexSeedProblem, } from './wallet/hex-seed.js';
|
|
7
8
|
export { Roles } from './wallet/address.js';
|
|
8
9
|
export { encryptKeystore, decryptKeystore, type EncryptedKeystore } from './wallet/keystore.js';
|
|
9
10
|
export { parseNightAmount, formatNightAmount, InvalidAmountError, STARS_PER_NIGHT, NIGHT_DECIMALS, } from './wallet/night-amount.js';
|
|
@@ -19,16 +20,18 @@ export type { Block, ContractAction, DustGenerationStatus, TransactionInfo } fro
|
|
|
19
20
|
export { ProofClient, type ProofServerStatus } from './proof/client.js';
|
|
20
21
|
export { createProvingProvider, createProofProvider, createWalletProvingService, ensureProverReady, } from './proof/provider.js';
|
|
21
22
|
export { startWalletSync, formatNight, NIGHT_TOKEN_ID, clearSyncCache, clearDustSyncCache, resolveSyncStore, EMPTY_COINS, EMPTY_SUB_PROGRESS, type WalletSyncOptions, type WalletBalances, type SyncedWallet, type DustGeneration, type SyncProgress, type SubWalletSyncProgress, type SubWalletProgress, type WalletCoinDetails, type ShieldedCoinInfo, type UnshieldedCoinInfo, type DustCoinInfo, } from './sync/wallet-sync.js';
|
|
23
|
+
export { summarizeTransaction, summarizeConnectorTransaction, decodeConnectorTransaction, type TransactionSummary, type TxTokenAmount, } from './sync/tx-summary.js';
|
|
22
24
|
export { sendTokens, sendTokensWithKeys, deriveWalletKeys, buildTransferTransaction, estimateTransferFee, submitFinalizedTransaction, designateForDust, designateForDustWithKeys, estimateDustRegistration, dedesignateFromDust, dedesignateFromDustWithKeys, listNightUtxos, type SendRequest, type TxStage, type NightUtxo, type FinalizedTransaction, type WalletKeys, } from './sync/operations.js';
|
|
23
25
|
export { InMemorySyncStateStore, syncStateKey, emptyRefStateKey, emptyRefMnemonicKey, emptyRefHeightKey, type SyncStateStore, type WalletPart, } from './sync/sync-store.js';
|
|
24
26
|
export { deriveActivity, deriveActivityEntry, sortActivity, type ActivityEntry, type ActivityDelta, type ActivityKind, type ActivityStatus, } from './sync/activity.js';
|
|
25
27
|
export { estimateRegistrationAffordability, describeWait, DustRegistrationNotYetError, type DustGenerationSlice, type DustRegistrationEstimate, } from './sync/dust-registration-estimate.js';
|
|
28
|
+
export { isDustSpendProofRejection, diagnoseSubmissionFailure, dustSpendHealthTracker, resetDustSpendHealthTrackers, DustSpendHealthTracker, DustLedgerWedgedError, DEFAULT_WEDGE_THRESHOLD, submitWithHealthTracking, type DustLedgerHealthContext, type SubmitHealthContext, } from './sync/dust-ledger-health.js';
|
|
26
29
|
export { readEventWitness, compareWitness, verifyCursorWitness, type CursorWitness, type WitnessStream, type WitnessVerdict, } from './sync/cursor-witness.js';
|
|
27
30
|
export { createTimingRecorder, createMemoryTimingStore, DEFAULT_MAX_ENTRIES, type TimingEntry, type TimingSource, type TimingStore, type TimingRecorder, } from './diagnostics/timings.js';
|
|
28
31
|
export { createFileTimingStore } from './diagnostics/file-timing-store.js';
|
|
29
32
|
export { exportReference, importReference, ReferenceImportError, REFERENCE_PARTS, type PortableReference, type ReferenceManifest, } from './sync/preseed-portable.js';
|
|
30
33
|
export { chainTip } from './sync/chain-tip.js';
|
|
31
|
-
export { ensureEmptyRefCache, warmEmptyRefCache, refreshEmptyRefCache, preseedReferenceStatus, preSeedNewWallet, type WarmProgress } from './sync/preseed.js';
|
|
34
|
+
export { ensureEmptyRefCache, warmEmptyRefCache, clearEmptyRefCache, refreshEmptyRefCache, preseedReferenceStatus, preSeedNewWallet, type WarmProgress } from './sync/preseed.js';
|
|
32
35
|
export { loadContractArtifact, type ContractArtifact } from './contract/artifact-loader.js';
|
|
33
36
|
export { loadWitnessProvider, type WitnessProvider } from './contract/witness-loader.js';
|
|
34
37
|
export { deployContract, type DeployOptions } from './contract/deploy.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACjH,OAAO,EACL,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChI,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAClH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAG9K,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAGhH,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAClG,WAAW,EAAE,kBAAkB,EAAE,KAAK,iBAAiB,EACvD,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAC9E,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAC1E,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,GAClE,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EAAE,6BAA6B,EAAE,0BAA0B,EAC/E,KAAK,kBAAkB,EAAE,KAAK,aAAa,GAC5C,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAChD,wBAAwB,EAAE,mBAAmB,EAAE,0BAA0B,EACzE,gBAAgB,EAAE,wBAAwB,EAAE,wBAAwB,EACpE,mBAAmB,EAAE,2BAA2B,EAChD,cAAc,EACd,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,oBAAoB,EAAE,KAAK,UAAU,GAC3F,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAC9F,KAAK,cAAc,EAAE,KAAK,UAAU,GACrC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EAAE,mBAAmB,EAAE,YAAY,EACjD,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,GAC/E,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iCAAiC,EACjC,YAAY,EACZ,2BAA2B,EAC3B,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,GAC9B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,yBAAyB,EAAE,yBAAyB,EAAE,sBAAsB,EAC5E,4BAA4B,EAAE,sBAAsB,EAAE,qBAAqB,EAC3E,uBAAuB,EAAE,wBAAwB,EACjD,KAAK,uBAAuB,EAAE,KAAK,mBAAmB,GACvD,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGlL,OAAO,EAAE,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EACL,iBAAiB,EAAE,KAAK,wBAAwB,EAChD,kBAAkB,EAAE,KAAK,yBAAyB,EAClD,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,GAC9C,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,GAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EACL,0BAA0B,EAC1B,KAAK,iCAAiC,GACvC,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAK1E,OAAO,EACL,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EACjF,gBAAgB,IAAI,uBAAuB,EAC3C,mBAAmB,EAAE,iBAAiB,EACtC,mBAAmB,EACnB,QAAQ,EACR,WAAW,EACX,4BAA4B,EAAE,yBAAyB,EACvD,sBAAsB,EAAE,yBAAyB,EACjD,uBAAuB,EAAE,yBAAyB,EAClD,4BAA4B,EAAE,kCAAkC,EAChE,UAAU,EAAE,cAAc,EAC1B,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EACzE,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAC1D,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAC7C,KAAK,mBAAmB,EAAE,KAAK,wBAAwB,EACvD,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAAE,KAAK,6BAA6B,EACtE,KAAK,0BAA0B,EAAE,KAAK,0BAA0B,EAChE,KAAK,uBAAuB,EAAE,KAAK,uBAAuB,EAC1D,KAAK,0BAA0B,EAAE,KAAK,0BAA0B,EAChE,KAAK,wBAAwB,EAAE,KAAK,wBAAwB,EAC5D,KAAK,0BAA0B,EAAE,KAAK,0BAA0B,EAChE,KAAK,6BAA6B,EAAE,KAAK,6BAA6B,EACtE,KAAK,mCAAmC,EAAE,KAAK,mCAAmC,EAClF,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAC7D,KAAK,aAAa,EAAE,KAAK,eAAe,EACxC,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,GAC/D,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export { canonicalNetworkId, DEFAULT_NETWORKS, SUPPORTED_NETWORKS, validateNetwo
|
|
|
5
5
|
export { WalletManager } from './wallet/manager.js';
|
|
6
6
|
export { NIGHT_DENOMINATION, DUST_DENOMINATION, formatBalance, formatDustBalance, } from './wallet/balance-format.js';
|
|
7
7
|
export { generateMnemonic24, validateMnemonic, mnemonicToSeed, hexSeedToUint8Array } from './wallet/mnemonic.js';
|
|
8
|
+
export { checkHexSeed, assertHexSeed, describeHexSeedProblem, MIN_SEED_BYTES, MAX_SEED_BYTES, CANONICAL_SEED_BYTES, } from './wallet/hex-seed.js';
|
|
8
9
|
export { Roles } from './wallet/address.js';
|
|
9
10
|
export { encryptKeystore, decryptKeystore } from './wallet/keystore.js';
|
|
10
11
|
export { parseNightAmount, formatNightAmount, InvalidAmountError, STARS_PER_NIGHT, NIGHT_DECIMALS, } from './wallet/night-amount.js';
|
|
@@ -21,6 +22,7 @@ export { ProofClient } from './proof/client.js';
|
|
|
21
22
|
export { createProvingProvider, createProofProvider, createWalletProvingService, ensureProverReady, } from './proof/provider.js';
|
|
22
23
|
// Sync
|
|
23
24
|
export { startWalletSync, formatNight, NIGHT_TOKEN_ID, clearSyncCache, clearDustSyncCache, resolveSyncStore, EMPTY_COINS, EMPTY_SUB_PROGRESS, } from './sync/wallet-sync.js';
|
|
25
|
+
export { summarizeTransaction, summarizeConnectorTransaction, decodeConnectorTransaction, } from './sync/tx-summary.js';
|
|
24
26
|
export {
|
|
25
27
|
// Union of both lines: main's build/estimate/submit + batch types the
|
|
26
28
|
// extension imports, plus v8's derive-and-drop walletKeys write paths.
|
|
@@ -28,12 +30,13 @@ sendTokens, sendTokensWithKeys, deriveWalletKeys, buildTransferTransaction, esti
|
|
|
28
30
|
export { InMemorySyncStateStore, syncStateKey, emptyRefStateKey, emptyRefMnemonicKey, emptyRefHeightKey, } from './sync/sync-store.js';
|
|
29
31
|
export { deriveActivity, deriveActivityEntry, sortActivity, } from './sync/activity.js';
|
|
30
32
|
export { estimateRegistrationAffordability, describeWait, DustRegistrationNotYetError, } from './sync/dust-registration-estimate.js';
|
|
33
|
+
export { isDustSpendProofRejection, diagnoseSubmissionFailure, dustSpendHealthTracker, resetDustSpendHealthTrackers, DustSpendHealthTracker, DustLedgerWedgedError, DEFAULT_WEDGE_THRESHOLD, submitWithHealthTracking, } from './sync/dust-ledger-health.js';
|
|
31
34
|
export { readEventWitness, compareWitness, verifyCursorWitness, } from './sync/cursor-witness.js';
|
|
32
35
|
export { createTimingRecorder, createMemoryTimingStore, DEFAULT_MAX_ENTRIES, } from './diagnostics/timings.js';
|
|
33
36
|
export { createFileTimingStore } from './diagnostics/file-timing-store.js';
|
|
34
37
|
export { exportReference, importReference, ReferenceImportError, REFERENCE_PARTS, } from './sync/preseed-portable.js';
|
|
35
38
|
export { chainTip } from './sync/chain-tip.js';
|
|
36
|
-
export { ensureEmptyRefCache, warmEmptyRefCache, refreshEmptyRefCache, preseedReferenceStatus, preSeedNewWallet } from './sync/preseed.js';
|
|
39
|
+
export { ensureEmptyRefCache, warmEmptyRefCache, clearEmptyRefCache, refreshEmptyRefCache, preseedReferenceStatus, preSeedNewWallet } from './sync/preseed.js';
|
|
37
40
|
// Contract
|
|
38
41
|
export { loadContractArtifact } from './contract/artifact-loader.js';
|
|
39
42
|
export { loadWitnessProvider } from './contract/witness-loader.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { WalletError } from '../types/errors.js';
|
|
2
|
+
/** Consecutive independently-built submissions carrying the same ambiguous
|
|
3
|
+
* signature before Moth calls the network wedged rather than unlucky.
|
|
4
|
+
* Chosen above the ~1-in-3 rate of the known transient (docs bugs #6): three
|
|
5
|
+
* in a row is already an unlikely coincidence if each attempt were an
|
|
6
|
+
* independent 1/3 chance, and every documented wedge is "the first spend
|
|
7
|
+
* after registration, and every one since" — a wedge fails at 100%, not 33%.
|
|
8
|
+
*/
|
|
9
|
+
export declare const DEFAULT_WEDGE_THRESHOLD = 3;
|
|
10
|
+
/** Matches the client-visible shape of an InvalidDustSpendProof rejection,
|
|
11
|
+
* under whichever wrapping the SDK / RPC layer puts around the node's raw
|
|
12
|
+
* `1010: Invalid Transaction: Custom error: 170` or the node-log spelling
|
|
13
|
+
* `Malformed(InvalidDustSpendProof)` (surfaced to a client that reads node
|
|
14
|
+
* logs directly, e.g. a devnet operator's tooling). */
|
|
15
|
+
export declare function isDustSpendProofRejection(error: unknown): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* The network's dust ledger can no longer verify anyone's spends. Distinct
|
|
18
|
+
* from a normal submission failure: retrying does not help, importing a
|
|
19
|
+
* different wallet does not help, and the only known fix is resetting the
|
|
20
|
+
* chain (a fresh chain has never reproduced this on its first transaction).
|
|
21
|
+
*/
|
|
22
|
+
export declare class DustLedgerWedgedError extends WalletError {
|
|
23
|
+
readonly networkId: string;
|
|
24
|
+
readonly consecutiveRejections: number;
|
|
25
|
+
constructor(networkId: string, consecutiveRejections: number, cause?: unknown);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* One wallet's run of consecutive InvalidDustSpendProof outcomes on one
|
|
29
|
+
* network, across independently built-and-submitted transactions.
|
|
30
|
+
*
|
|
31
|
+
* A hit anywhere else — a success, or a failure with a different signature —
|
|
32
|
+
* resets the streak: only a run of the identical ambiguous signature, back to
|
|
33
|
+
* back, with nothing else happening in between, is evidence of anything.
|
|
34
|
+
*/
|
|
35
|
+
export declare class DustSpendHealthTracker {
|
|
36
|
+
private streak;
|
|
37
|
+
private heightAtFirstRejection;
|
|
38
|
+
get consecutiveRejections(): number;
|
|
39
|
+
/** A dust spend went through. Whatever was happening before, it isn't now. */
|
|
40
|
+
recordSuccess(): void;
|
|
41
|
+
/** A submission failed for some other reason (or this one couldn't be
|
|
42
|
+
* classified — e.g. the indexer was unreachable). Breaks the streak: a
|
|
43
|
+
* wedge is a run of the SAME signature, not failures in general. */
|
|
44
|
+
recordUnrelatedFailure(): void;
|
|
45
|
+
/** Record one InvalidDustSpendProof rejection observed at chain height
|
|
46
|
+
* `tipHeight`. Returns the streak length after recording. */
|
|
47
|
+
recordProofRejection(tipHeight: number): number;
|
|
48
|
+
/** Whether the chain has produced at least one new block since this streak
|
|
49
|
+
* began. Separates a wedged dust ledger (blocks keep coming; nothing
|
|
50
|
+
* reconciles) from a stalled node or indexer, where every read — including
|
|
51
|
+
* this one — would already be failing the same way and there would be
|
|
52
|
+
* nothing distinctive to detect. */
|
|
53
|
+
blocksAdvancedSince(tipHeight: number): boolean;
|
|
54
|
+
}
|
|
55
|
+
/** One tracker per (network, wallet), shared by every submission path so a
|
|
56
|
+
* registration's rejection and a transfer's rejection on the same wallet
|
|
57
|
+
* count toward the same streak. */
|
|
58
|
+
export declare function dustSpendHealthTracker(networkId: string, walletName: string): DustSpendHealthTracker;
|
|
59
|
+
/** Test-only: drop every tracker between cases. */
|
|
60
|
+
export declare function resetDustSpendHealthTrackers(): void;
|
|
61
|
+
export interface DustLedgerHealthContext {
|
|
62
|
+
readonly network: {
|
|
63
|
+
readonly id: string;
|
|
64
|
+
readonly indexerUrl: string;
|
|
65
|
+
};
|
|
66
|
+
/** Consecutive rejections required before declaring a wedge. */
|
|
67
|
+
readonly threshold?: number;
|
|
68
|
+
/** Injectable for tests; defaults to one indexer read. */
|
|
69
|
+
readonly probeBlock?: (indexerUrl: string) => Promise<{
|
|
70
|
+
height: number;
|
|
71
|
+
} | undefined>;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Classify one submission failure and return the error Moth should surface:
|
|
75
|
+
* the original error, or {@link DustLedgerWedgedError} (not recoverable from
|
|
76
|
+
* the client). Never throws itself; the caller throws whatever comes back, e.g.:
|
|
77
|
+
*
|
|
78
|
+
* ```ts
|
|
79
|
+
* try {
|
|
80
|
+
* const hash = await submitFinalizedTransaction(facade, finalized);
|
|
81
|
+
* tracker.recordSuccess();
|
|
82
|
+
* return hash;
|
|
83
|
+
* } catch (err) {
|
|
84
|
+
* throw await diagnoseSubmissionFailure(tracker, err, { network });
|
|
85
|
+
* }
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
88
|
+
* Costs one indexer round trip, and only when the rejection actually matches
|
|
89
|
+
* the ambiguous signature — every other failure returns immediately.
|
|
90
|
+
*/
|
|
91
|
+
export declare function diagnoseSubmissionFailure(tracker: DustSpendHealthTracker, error: unknown, context: DustLedgerHealthContext): Promise<Error>;
|
|
92
|
+
export interface SubmitHealthContext {
|
|
93
|
+
readonly network: {
|
|
94
|
+
readonly id: string;
|
|
95
|
+
readonly indexerUrl: string;
|
|
96
|
+
};
|
|
97
|
+
readonly walletName: string;
|
|
98
|
+
readonly threshold?: number;
|
|
99
|
+
readonly probeBlock?: DustLedgerHealthContext['probeBlock'];
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Wrap one fee-paying submission with wedge detection: run `submit`, clear the
|
|
103
|
+
* wallet's rejection streak on success, and on failure reclassify the error
|
|
104
|
+
* through {@link diagnoseSubmissionFailure} before rethrowing. Shared by every
|
|
105
|
+
* surface that submits transactions directly — the extension's offscreen host,
|
|
106
|
+
* the CLI's transfer/dust commands, and the daemon — so a registration's
|
|
107
|
+
* rejection and a transfer's rejection on the same wallet count toward the
|
|
108
|
+
* same streak regardless of which surface made them.
|
|
109
|
+
*/
|
|
110
|
+
export declare function submitWithHealthTracking<T>(submit: () => Promise<T>, context: SubmitHealthContext): Promise<T>;
|
|
111
|
+
//# sourceMappingURL=dust-ledger-health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dust-ledger-health.d.ts","sourceRoot":"","sources":["../../src/sync/dust-ledger-health.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;;;wDAIwD;AACxD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGjE;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;gBAE3B,SAAS,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAe9E;AAED;;;;;;;GAOG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,sBAAsB,CAAqB;IAEnD,IAAI,qBAAqB,IAAI,MAAM,CAElC;IAED,8EAA8E;IAC9E,aAAa,IAAI,IAAI;IAKrB;;yEAEqE;IACrE,sBAAsB,IAAI,IAAI;IAK9B;kEAC8D;IAC9D,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAM/C;;;;yCAIqC;IACrC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAGhD;AAID;;oCAEoC;AACpC,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,sBAAsB,CAQpG;AAED,mDAAmD;AACnD,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC;IACrE,gEAAgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAAC,CAAC;CACrF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,KAAK,CAAC,CAwBhB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC;IACrE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAC;CAC7D;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC,CAaZ"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
// Detecting a wedged devnet dust ledger — see docs/bugs-found.md-style report
|
|
2
|
+
// filed upstream: a devnet's dust state can enter a state where NO wallet can
|
|
3
|
+
// spend DUST any more, and every rejection carries the exact same client
|
|
4
|
+
// signature ("1010: Invalid Transaction: Custom error: 170" /
|
|
5
|
+
// `Malformed(InvalidDustSpendProof)`) as two entirely different, recoverable
|
|
6
|
+
// conditions:
|
|
7
|
+
//
|
|
8
|
+
// 1. A transient race (~1 in 3 attempts, immediately after the same wallet
|
|
9
|
+
// spent): the wallet's declared dust-state timestamp disagreed with the
|
|
10
|
+
// node's. Retrying a FRESH build+submit (never a byte-for-byte resend —
|
|
11
|
+
// that proves nothing new) succeeds.
|
|
12
|
+
// 2. The wedge itself: something about a DUST registration (size and delay
|
|
13
|
+
// both ruled out individually) leaves the node's dust state unable to
|
|
14
|
+
// reconcile with ANY wallet's, permanently. Blocks keep being produced;
|
|
15
|
+
// nothing but a chain reset clears it.
|
|
16
|
+
//
|
|
17
|
+
// A single rejection proves nothing — (1) alone produces the identical string.
|
|
18
|
+
// This module exists to tell (2) apart from (1) without guessing: require the
|
|
19
|
+
// SAME signature to repeat across several INDEPENDENT submissions while the
|
|
20
|
+
// chain keeps producing new blocks. Only then is a wedge, rather than bad luck,
|
|
21
|
+
// the better explanation. (A third cause, a wallet/node ledger-version
|
|
22
|
+
// mismatch, exists only once more than one ledger generation is in play; this
|
|
23
|
+
// build speaks one ledger, so there is nothing to rule out here.)
|
|
24
|
+
//
|
|
25
|
+
// Deliberately does not change how a transaction is built, signed or proven —
|
|
26
|
+
// this only classifies what a rejection means, after the ledger/SDK has
|
|
27
|
+
// already accepted or refused it.
|
|
28
|
+
import { WalletError } from '../types/errors.js';
|
|
29
|
+
/** Consecutive independently-built submissions carrying the same ambiguous
|
|
30
|
+
* signature before Moth calls the network wedged rather than unlucky.
|
|
31
|
+
* Chosen above the ~1-in-3 rate of the known transient (docs bugs #6): three
|
|
32
|
+
* in a row is already an unlikely coincidence if each attempt were an
|
|
33
|
+
* independent 1/3 chance, and every documented wedge is "the first spend
|
|
34
|
+
* after registration, and every one since" — a wedge fails at 100%, not 33%.
|
|
35
|
+
*/
|
|
36
|
+
export const DEFAULT_WEDGE_THRESHOLD = 3;
|
|
37
|
+
/** Matches the client-visible shape of an InvalidDustSpendProof rejection,
|
|
38
|
+
* under whichever wrapping the SDK / RPC layer puts around the node's raw
|
|
39
|
+
* `1010: Invalid Transaction: Custom error: 170` or the node-log spelling
|
|
40
|
+
* `Malformed(InvalidDustSpendProof)` (surfaced to a client that reads node
|
|
41
|
+
* logs directly, e.g. a devnet operator's tooling). */
|
|
42
|
+
export function isDustSpendProofRejection(error) {
|
|
43
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
44
|
+
return /custom error:\s*170\b|invaliddustspendproof/i.test(msg);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The network's dust ledger can no longer verify anyone's spends. Distinct
|
|
48
|
+
* from a normal submission failure: retrying does not help, importing a
|
|
49
|
+
* different wallet does not help, and the only known fix is resetting the
|
|
50
|
+
* chain (a fresh chain has never reproduced this on its first transaction).
|
|
51
|
+
*/
|
|
52
|
+
export class DustLedgerWedgedError extends WalletError {
|
|
53
|
+
networkId;
|
|
54
|
+
consecutiveRejections;
|
|
55
|
+
constructor(networkId, consecutiveRejections, cause) {
|
|
56
|
+
super('NETWORK_ERROR', `${networkId}'s dust ledger can no longer verify anyone's spends (known devnet defect). ` +
|
|
57
|
+
`${consecutiveRejections} independent submissions in a row were rejected with the same ` +
|
|
58
|
+
`"invalid dust spend proof" signature while the chain kept producing new blocks — that ` +
|
|
59
|
+
`rules out a one-off race. This is not something retrying or switching ` +
|
|
60
|
+
`wallets fixes: the network needs a reset. If you operate ${networkId}, reset the chain; ` +
|
|
61
|
+
`otherwise wait for its operator to, or switch to a different network.`, cause);
|
|
62
|
+
this.name = 'DustLedgerWedgedError';
|
|
63
|
+
this.networkId = networkId;
|
|
64
|
+
this.consecutiveRejections = consecutiveRejections;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* One wallet's run of consecutive InvalidDustSpendProof outcomes on one
|
|
69
|
+
* network, across independently built-and-submitted transactions.
|
|
70
|
+
*
|
|
71
|
+
* A hit anywhere else — a success, or a failure with a different signature —
|
|
72
|
+
* resets the streak: only a run of the identical ambiguous signature, back to
|
|
73
|
+
* back, with nothing else happening in between, is evidence of anything.
|
|
74
|
+
*/
|
|
75
|
+
export class DustSpendHealthTracker {
|
|
76
|
+
streak = 0;
|
|
77
|
+
heightAtFirstRejection;
|
|
78
|
+
get consecutiveRejections() {
|
|
79
|
+
return this.streak;
|
|
80
|
+
}
|
|
81
|
+
/** A dust spend went through. Whatever was happening before, it isn't now. */
|
|
82
|
+
recordSuccess() {
|
|
83
|
+
this.streak = 0;
|
|
84
|
+
this.heightAtFirstRejection = undefined;
|
|
85
|
+
}
|
|
86
|
+
/** A submission failed for some other reason (or this one couldn't be
|
|
87
|
+
* classified — e.g. the indexer was unreachable). Breaks the streak: a
|
|
88
|
+
* wedge is a run of the SAME signature, not failures in general. */
|
|
89
|
+
recordUnrelatedFailure() {
|
|
90
|
+
this.streak = 0;
|
|
91
|
+
this.heightAtFirstRejection = undefined;
|
|
92
|
+
}
|
|
93
|
+
/** Record one InvalidDustSpendProof rejection observed at chain height
|
|
94
|
+
* `tipHeight`. Returns the streak length after recording. */
|
|
95
|
+
recordProofRejection(tipHeight) {
|
|
96
|
+
if (this.streak === 0)
|
|
97
|
+
this.heightAtFirstRejection = tipHeight;
|
|
98
|
+
this.streak += 1;
|
|
99
|
+
return this.streak;
|
|
100
|
+
}
|
|
101
|
+
/** Whether the chain has produced at least one new block since this streak
|
|
102
|
+
* began. Separates a wedged dust ledger (blocks keep coming; nothing
|
|
103
|
+
* reconciles) from a stalled node or indexer, where every read — including
|
|
104
|
+
* this one — would already be failing the same way and there would be
|
|
105
|
+
* nothing distinctive to detect. */
|
|
106
|
+
blocksAdvancedSince(tipHeight) {
|
|
107
|
+
return this.heightAtFirstRejection !== undefined && tipHeight > this.heightAtFirstRejection;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const trackers = new Map();
|
|
111
|
+
/** One tracker per (network, wallet), shared by every submission path so a
|
|
112
|
+
* registration's rejection and a transfer's rejection on the same wallet
|
|
113
|
+
* count toward the same streak. */
|
|
114
|
+
export function dustSpendHealthTracker(networkId, walletName) {
|
|
115
|
+
const key = `${networkId}/${walletName}`;
|
|
116
|
+
let tracker = trackers.get(key);
|
|
117
|
+
if (!tracker) {
|
|
118
|
+
tracker = new DustSpendHealthTracker();
|
|
119
|
+
trackers.set(key, tracker);
|
|
120
|
+
}
|
|
121
|
+
return tracker;
|
|
122
|
+
}
|
|
123
|
+
/** Test-only: drop every tracker between cases. */
|
|
124
|
+
export function resetDustSpendHealthTrackers() {
|
|
125
|
+
trackers.clear();
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Classify one submission failure and return the error Moth should surface:
|
|
129
|
+
* the original error, or {@link DustLedgerWedgedError} (not recoverable from
|
|
130
|
+
* the client). Never throws itself; the caller throws whatever comes back, e.g.:
|
|
131
|
+
*
|
|
132
|
+
* ```ts
|
|
133
|
+
* try {
|
|
134
|
+
* const hash = await submitFinalizedTransaction(facade, finalized);
|
|
135
|
+
* tracker.recordSuccess();
|
|
136
|
+
* return hash;
|
|
137
|
+
* } catch (err) {
|
|
138
|
+
* throw await diagnoseSubmissionFailure(tracker, err, { network });
|
|
139
|
+
* }
|
|
140
|
+
* ```
|
|
141
|
+
*
|
|
142
|
+
* Costs one indexer round trip, and only when the rejection actually matches
|
|
143
|
+
* the ambiguous signature — every other failure returns immediately.
|
|
144
|
+
*/
|
|
145
|
+
export async function diagnoseSubmissionFailure(tracker, error, context) {
|
|
146
|
+
const original = error instanceof Error ? error : new Error(String(error));
|
|
147
|
+
if (!isDustSpendProofRejection(error)) {
|
|
148
|
+
tracker.recordUnrelatedFailure();
|
|
149
|
+
return original;
|
|
150
|
+
}
|
|
151
|
+
const probe = context.probeBlock ?? defaultProbeBlock;
|
|
152
|
+
const block = await probe(context.network.indexerUrl).catch(() => undefined);
|
|
153
|
+
if (!block) {
|
|
154
|
+
// Can't confirm the chain is even producing blocks, so nothing here is
|
|
155
|
+
// conclusive — but it also isn't evidence of a wedge, since a wedge is
|
|
156
|
+
// defined by everything else working while dust alone fails.
|
|
157
|
+
tracker.recordUnrelatedFailure();
|
|
158
|
+
return original;
|
|
159
|
+
}
|
|
160
|
+
const streak = tracker.recordProofRejection(block.height);
|
|
161
|
+
const threshold = context.threshold ?? DEFAULT_WEDGE_THRESHOLD;
|
|
162
|
+
if (streak < threshold)
|
|
163
|
+
return original; // condition (1): too early to tell from a transient race
|
|
164
|
+
if (!tracker.blocksAdvancedSince(block.height))
|
|
165
|
+
return original; // chain itself may be stalled — a different, undiagnosed problem
|
|
166
|
+
return new DustLedgerWedgedError(context.network.id, streak, original);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Wrap one fee-paying submission with wedge detection: run `submit`, clear the
|
|
170
|
+
* wallet's rejection streak on success, and on failure reclassify the error
|
|
171
|
+
* through {@link diagnoseSubmissionFailure} before rethrowing. Shared by every
|
|
172
|
+
* surface that submits transactions directly — the extension's offscreen host,
|
|
173
|
+
* the CLI's transfer/dust commands, and the daemon — so a registration's
|
|
174
|
+
* rejection and a transfer's rejection on the same wallet count toward the
|
|
175
|
+
* same streak regardless of which surface made them.
|
|
176
|
+
*/
|
|
177
|
+
export async function submitWithHealthTracking(submit, context) {
|
|
178
|
+
const tracker = dustSpendHealthTracker(context.network.id, context.walletName);
|
|
179
|
+
try {
|
|
180
|
+
const result = await submit();
|
|
181
|
+
tracker.recordSuccess();
|
|
182
|
+
return result;
|
|
183
|
+
}
|
|
184
|
+
catch (e) {
|
|
185
|
+
throw await diagnoseSubmissionFailure(tracker, e, {
|
|
186
|
+
network: context.network,
|
|
187
|
+
threshold: context.threshold,
|
|
188
|
+
probeBlock: context.probeBlock,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
async function defaultProbeBlock(indexerUrl) {
|
|
193
|
+
const { IndexerClient } = await import('../network/indexer-client.js');
|
|
194
|
+
const block = await new IndexerClient(indexerUrl).getBlock();
|
|
195
|
+
return block ? { height: block.height } : undefined;
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=dust-ledger-health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dust-ledger-health.js","sourceRoot":"","sources":["../../src/sync/dust-ledger-health.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ export interface SwapInput {
|
|
|
20
20
|
export type { WalletKeys } from '../types/wallet.js';
|
|
21
21
|
import type { WalletKeys } from '../types/wallet.js';
|
|
22
22
|
/**
|
|
23
|
-
* Derive the typed key bundle from a
|
|
23
|
+
* Derive the typed key bundle from a hex seed. Option A key
|
|
24
24
|
* model (v8's D-KM-3): callers derive once at unlock and discard the raw seed
|
|
25
25
|
* immediately — the bundle holds everything the write paths need, so the seed
|
|
26
26
|
* is never threaded through the daemon or the extension messaging layers.
|
package/dist/sync/operations.js
CHANGED
|
@@ -31,7 +31,7 @@ function combinedTransfers(networkId, requests) {
|
|
|
31
31
|
return [...grouped.entries()].map(([type, outputs]) => ({ type, outputs }));
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
|
-
* Derive the typed key bundle from a
|
|
34
|
+
* Derive the typed key bundle from a hex seed. Option A key
|
|
35
35
|
* model (v8's D-KM-3): callers derive once at unlock and discard the raw seed
|
|
36
36
|
* immediately — the bundle holds everything the write paths need, so the seed
|
|
37
37
|
* is never threaded through the daemon or the extension messaging layers.
|
package/dist/sync/preseed.d.ts
CHANGED
|
@@ -71,6 +71,21 @@ export declare function warmEmptyRefCache(network: NetworkConfig, onProgress?: (
|
|
|
71
71
|
* Lets a UI distinguish "not started" from "in progress" from "done" — a build
|
|
72
72
|
* runs for an hour, so reporting it as perpetually in progress is misleading.
|
|
73
73
|
*/
|
|
74
|
+
/**
|
|
75
|
+
* Forget the pre-seed reference for a network: its three state parts, its
|
|
76
|
+
* height, its cursor witnesses, the reference mnemonic, and the in-process memo
|
|
77
|
+
* `ensureEmptyRefCache` hands out.
|
|
78
|
+
*
|
|
79
|
+
* For a chain that restarted from genesis. The reference is chain state, so on a
|
|
80
|
+
* new chain it is wrong in every part, and the wallet-level cache clear does not
|
|
81
|
+
* reach it: every new sync would be seeded from the old chain's tip. Deleting
|
|
82
|
+
* the memo matters as much as the store — a verified reference is memoised per
|
|
83
|
+
* process, so without it the next sync in the same worker would still get the
|
|
84
|
+
* stale one. A network whose reference ships in the package reinstalls it on the
|
|
85
|
+
* next sync; its witnesses are then checked against the chain, and a reset chain
|
|
86
|
+
* refuses them, so the wallet walks from genesis rather than trusting it.
|
|
87
|
+
*/
|
|
88
|
+
export declare function clearEmptyRefCache(networkId: string, store?: SyncStateStore): Promise<void>;
|
|
74
89
|
export declare function preseedReferenceStatus(network: NetworkConfig, store?: SyncStateStore): Promise<{
|
|
75
90
|
ready: boolean;
|
|
76
91
|
height: number | null;
|