@interop/wallet-core 0.86.0 → 0.88.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.
Files changed (120) hide show
  1. package/dist/ceremonyEvents.d.ts +116 -0
  2. package/dist/ceremonyEvents.d.ts.map +1 -0
  3. package/dist/ceremonyEvents.js +282 -0
  4. package/dist/ceremonyEvents.js.map +1 -0
  5. package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +17 -1
  6. package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
  7. package/dist/clientAnnex/credentialAnchoredGenesis.js +45 -3
  8. package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
  9. package/dist/clientAnnex/establish.d.ts +22 -0
  10. package/dist/clientAnnex/establish.d.ts.map +1 -1
  11. package/dist/clientAnnex/establish.js +67 -7
  12. package/dist/clientAnnex/establish.js.map +1 -1
  13. package/dist/clientAnnex/forget.d.ts +35 -2
  14. package/dist/clientAnnex/forget.d.ts.map +1 -1
  15. package/dist/clientAnnex/forget.js +85 -8
  16. package/dist/clientAnnex/forget.js.map +1 -1
  17. package/dist/clientAnnex/forgetLast.d.ts +26 -2
  18. package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
  19. package/dist/clientAnnex/forgetLast.js +82 -2
  20. package/dist/clientAnnex/forgetLast.js.map +1 -1
  21. package/dist/clientAnnex/index.d.ts +6 -5
  22. package/dist/clientAnnex/index.d.ts.map +1 -1
  23. package/dist/clientAnnex/index.js +3 -3
  24. package/dist/clientAnnex/index.js.map +1 -1
  25. package/dist/clientAnnex/ladderAnchored.d.ts +7 -4
  26. package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
  27. package/dist/clientAnnex/ladderAnchored.js +11 -5
  28. package/dist/clientAnnex/ladderAnchored.js.map +1 -1
  29. package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
  30. package/dist/clientAnnex/recoveryLadderAnchored.js +15 -4
  31. package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
  32. package/dist/clientAnnex/selfEnroll.d.ts +23 -1
  33. package/dist/clientAnnex/selfEnroll.d.ts.map +1 -1
  34. package/dist/clientAnnex/selfEnroll.js +45 -1
  35. package/dist/clientAnnex/selfEnroll.js.map +1 -1
  36. package/dist/clients/index.d.ts +2 -2
  37. package/dist/clients/index.d.ts.map +1 -1
  38. package/dist/clients/index.js +1 -1
  39. package/dist/clients/index.js.map +1 -1
  40. package/dist/clients/revocation.d.ts +20 -1
  41. package/dist/clients/revocation.d.ts.map +1 -1
  42. package/dist/clients/revocation.js +76 -1
  43. package/dist/clients/revocation.js.map +1 -1
  44. package/dist/enrollment/enrollment.d.ts +23 -2
  45. package/dist/enrollment/enrollment.d.ts.map +1 -1
  46. package/dist/enrollment/enrollment.js +75 -4
  47. package/dist/enrollment/enrollment.js.map +1 -1
  48. package/dist/enrollment/index.d.ts +2 -2
  49. package/dist/enrollment/index.d.ts.map +1 -1
  50. package/dist/enrollment/index.js +1 -1
  51. package/dist/enrollment/index.js.map +1 -1
  52. package/dist/enrollment/onboardingResponse.d.ts +26 -5
  53. package/dist/enrollment/onboardingResponse.d.ts.map +1 -1
  54. package/dist/enrollment/onboardingResponse.js +2 -14
  55. package/dist/enrollment/onboardingResponse.js.map +1 -1
  56. package/dist/errorName.d.ts +19 -0
  57. package/dist/errorName.d.ts.map +1 -0
  58. package/dist/errorName.js +27 -0
  59. package/dist/errorName.js.map +1 -0
  60. package/dist/genesis/accountGenesis.d.ts +27 -1
  61. package/dist/genesis/accountGenesis.d.ts.map +1 -1
  62. package/dist/genesis/accountGenesis.js +60 -2
  63. package/dist/genesis/accountGenesis.js.map +1 -1
  64. package/dist/genesis/index.d.ts +2 -2
  65. package/dist/genesis/index.d.ts.map +1 -1
  66. package/dist/genesis/index.js +1 -1
  67. package/dist/genesis/index.js.map +1 -1
  68. package/dist/index.d.ts +8 -0
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +7 -0
  71. package/dist/index.js.map +1 -1
  72. package/dist/labelText.d.ts +24 -0
  73. package/dist/labelText.d.ts.map +1 -0
  74. package/dist/labelText.js +26 -0
  75. package/dist/labelText.js.map +1 -0
  76. package/dist/log.d.ts +6 -4
  77. package/dist/log.d.ts.map +1 -1
  78. package/dist/log.js +8 -5
  79. package/dist/log.js.map +1 -1
  80. package/dist/menders/ids.d.ts +4 -1
  81. package/dist/menders/ids.d.ts.map +1 -1
  82. package/dist/menders/ids.js +4 -1
  83. package/dist/menders/ids.js.map +1 -1
  84. package/dist/menders/index.d.ts +2 -1
  85. package/dist/menders/index.d.ts.map +1 -1
  86. package/dist/menders/index.js +2 -1
  87. package/dist/menders/index.js.map +1 -1
  88. package/dist/menders/runner.d.ts +41 -34
  89. package/dist/menders/runner.d.ts.map +1 -1
  90. package/dist/menders/runner.js +56 -24
  91. package/dist/menders/runner.js.map +1 -1
  92. package/dist/menders/vocabulary.d.ts +3 -1
  93. package/dist/menders/vocabulary.d.ts.map +1 -1
  94. package/dist/menders/vocabulary.js +3 -1
  95. package/dist/menders/vocabulary.js.map +1 -1
  96. package/dist/recovery/continuation.d.ts +40 -1
  97. package/dist/recovery/continuation.d.ts.map +1 -1
  98. package/dist/recovery/continuation.js +48 -1
  99. package/dist/recovery/continuation.js.map +1 -1
  100. package/dist/recovery/index.d.ts +2 -2
  101. package/dist/recovery/index.d.ts.map +1 -1
  102. package/dist/recovery/index.js +1 -1
  103. package/dist/recovery/index.js.map +1 -1
  104. package/dist/recovery/recoveryWebvh.d.ts +21 -2
  105. package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
  106. package/dist/recovery/recoveryWebvh.js +88 -31
  107. package/dist/recovery/recoveryWebvh.js.map +1 -1
  108. package/dist/space/ceremony.d.ts +3 -1
  109. package/dist/space/ceremony.d.ts.map +1 -1
  110. package/dist/space/ceremony.js +3 -1
  111. package/dist/space/ceremony.js.map +1 -1
  112. package/dist/unlock/index.d.ts +2 -2
  113. package/dist/unlock/index.d.ts.map +1 -1
  114. package/dist/unlock/index.js +1 -1
  115. package/dist/unlock/index.js.map +1 -1
  116. package/dist/unlock/retire.d.ts +21 -1
  117. package/dist/unlock/retire.d.ts.map +1 -1
  118. package/dist/unlock/retire.js +79 -1
  119. package/dist/unlock/retire.js.map +1 -1
  120. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recovery/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,2BAA2B,CAAA;AAClC,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACb,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,+BAA+B,EAC/B,4BAA4B,EAC5B,YAAY,EACZ,iBAAiB,EAClB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recovery/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,2BAA2B,CAAA;AAClC,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACb,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,+BAA+B,EAC/B,0BAA0B,EAC1B,kBAAkB,EAClB,+BAA+B,EAC/B,4BAA4B,EAC5B,YAAY,EACZ,iBAAiB,EAClB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,oBAAoB,CAAA"}
@@ -48,5 +48,5 @@ export { decodeRecoveryCode, formatRecoveryCode, generateRecoveryCode, normalize
48
48
  export { computeUnlockBinding, remintUnlockRecordDelegations, UnlockBindingError, unlockRecordBinding, unwrapUnlockRecord, wrapUnlockRecord } from '../unlock/unlockRecord.js';
49
49
  export { delegateLogWrite, delegationProofKeyId, RECOVERY_DELEGATION_TTL_MS, recordedDelegationFields, ZCAP_RENEWAL_WINDOW_MS, zcapExpiring } from './recoveryDelegation.js';
50
50
  export { recoverySpendRetirementFromLog } from './continuation.js';
51
- export { publishRecoveryKey, recoverWebvhClient, RecoveryCredentialStandingError, RecoveryKeyNotCommittedError, recoveryVmId, removeRecoveryKey } from './recoveryWebvh.js';
51
+ export { publishRecoveryKey, RECOVERY_CODE_ISSUANCE_STAGES, RECOVERY_CODE_REVOCATION_STAGES, RECOVERY_CODE_SPEND_STAGES, recoverWebvhClient, RecoveryCredentialStandingError, RecoveryKeyNotCommittedError, recoveryVmId, removeRecoveryKey } from './recoveryWebvh.js';
52
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recovery/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,2BAA2B,CAAA;AAOlC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACb,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAGlE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,+BAA+B,EAC/B,4BAA4B,EAC5B,YAAY,EACZ,iBAAiB,EAClB,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recovery/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,2BAA2B,CAAA;AAOlC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACb,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAGlE,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,+BAA+B,EAC/B,0BAA0B,EAC1B,kBAAkB,EAClB,+BAA+B,EAC/B,4BAA4B,EAC5B,YAAY,EACZ,iBAAiB,EAClB,MAAM,oBAAoB,CAAA"}
@@ -42,8 +42,27 @@ import type { ClientWebvhUpdateKeys, WebvhEnrollmentKeys, WebvhIdStore } from '.
42
42
  import type { UnlockInventoryPart } from '../unlock/standingWebvh.js';
43
43
  import type { AccountLogSigner } from '../webvh/accountEntry.js';
44
44
  import type { RecoveryLogStore, RecoveryPublicKeys, ReplacementRecoveryPublicKeys } from './continuation.js';
45
- export { RecoveryCredentialStandingError, RecoveryKeyNotCommittedError, recoveryVmId, retiredCredentialVmIdsFromLog } from './continuation.js';
46
- export type { RecoveryLogStore, RecoveryPublicKeys, ReplacementRecoveryPublicKeys } from './continuation.js';
45
+ export { RECOVERY_CODE_SPEND_STAGES, RecoveryCredentialStandingError, RecoveryKeyNotCommittedError, recoveryVmId, retiredCredentialVmIdsFromLog } from './continuation.js';
46
+ export type { RecoveryCodeSpendStage, RecoveryLogStore, RecoveryPublicKeys, ReplacementRecoveryPublicKeys } from './continuation.js';
47
+ /**
48
+ * The issuance's stages on the ceremony event channel: the entry each `part`
49
+ * writes -- the key entry (`'key'`), the authority entry (`'authority'`), or
50
+ * the merged entry (`'all'`).
51
+ */
52
+ export declare const RECOVERY_CODE_ISSUANCE_STAGES: readonly ["key-entry", "authority-entry", "inventory-entry"];
53
+ /**
54
+ * One value of {@link RECOVERY_CODE_ISSUANCE_STAGES}.
55
+ */
56
+ export type RecoveryCodeIssuanceStage = (typeof RECOVERY_CODE_ISSUANCE_STAGES)[number];
57
+ /**
58
+ * The revocation's one stage on the ceremony event channel: the entry that
59
+ * removes the code's inventory. The roster-side half is the caller's.
60
+ */
61
+ export declare const RECOVERY_CODE_REVOCATION_STAGES: readonly ["inventory-removal"];
62
+ /**
63
+ * One value of {@link RECOVERY_CODE_REVOCATION_STAGES}.
64
+ */
65
+ export type RecoveryCodeRevocationStage = (typeof RECOVERY_CODE_REVOCATION_STAGES)[number];
47
66
  /**
48
67
  * ISSUANCE: publishes a recovery code's split configuration into the
49
68
  * document -- the code's `keyAgreement` verification method (an ordinary,
@@ -1 +1 @@
1
- {"version":3,"file":"recoveryWebvh.d.ts","sourceRoot":"","sources":["../../src/recovery/recoveryWebvh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recoveryWebvh.d.ts","sourceRoot":"","sources":["../../src/recovery/recoveryWebvh.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,34 @@
1
+ import { ceremonyEvents } from '../ceremonyEvents.js';
2
+ import { log } from '../log.js';
1
3
  import { assertCanonicalClientKeys, clientAdditionFields, withLogConflictRetry } from '../webvh/didWebvh.js';
2
4
  import { publishUnlockKey, removeUnlockKey } from '../unlock/standingWebvh.js';
3
- import { recoveryContinuationOnce } from './continuation.js';
5
+ import { RECOVERY_CODE_SPEND_REFUSALS, recoveryContinuationOnce, spendOutcome } from './continuation.js';
4
6
  // The continuation's shared core and the names both variants read live in
5
7
  // `continuation.ts`; this module stays their public home.
6
- export { RecoveryCredentialStandingError, RecoveryKeyNotCommittedError, recoveryVmId, retiredCredentialVmIdsFromLog } from './continuation.js';
8
+ export { RECOVERY_CODE_SPEND_STAGES, RecoveryCredentialStandingError, RecoveryKeyNotCommittedError, recoveryVmId, retiredCredentialVmIdsFromLog } from './continuation.js';
9
+ /**
10
+ * The issuance's stages on the ceremony event channel: the entry each `part`
11
+ * writes -- the key entry (`'key'`), the authority entry (`'authority'`), or
12
+ * the merged entry (`'all'`).
13
+ */
14
+ export const RECOVERY_CODE_ISSUANCE_STAGES = [
15
+ 'key-entry',
16
+ 'authority-entry',
17
+ 'inventory-entry'
18
+ ];
19
+ /**
20
+ * The revocation's one stage on the ceremony event channel: the entry that
21
+ * removes the code's inventory. The roster-side half is the caller's.
22
+ */
23
+ export const RECOVERY_CODE_REVOCATION_STAGES = ['inventory-removal'];
24
+ /**
25
+ * The stage each issuance `part` reports.
26
+ */
27
+ const ISSUANCE_STAGE_OF_PART = {
28
+ key: 'key-entry',
29
+ authority: 'authority-entry',
30
+ all: 'inventory-entry'
31
+ };
7
32
  /**
8
33
  * ISSUANCE: publishes a recovery code's split configuration into the
9
34
  * document -- the code's `keyAgreement` verification method (an ordinary,
@@ -41,21 +66,32 @@ export { RecoveryCredentialStandingError, RecoveryKeyNotCommittedError, recovery
41
66
  * DID and the document and log as this call leaves them
42
67
  */
43
68
  export async function publishRecoveryKey({ idStore, signer, recovery, ladderSeed, part, expectedDid }) {
44
- return publishUnlockKey({
45
- idStore,
46
- signer,
47
- unlockKeys: {
48
- keyAgreement: {
49
- publicKeyMultibase: recovery.keyAgreementKeyMultibase
69
+ // One event run per entry-writing call: the ladder branch's split issuance
70
+ // is two runs, one per `part`. No code-derived value enters an event.
71
+ const events = ceremonyEvents({
72
+ ceremony: 'recovery-code-issuance',
73
+ log,
74
+ refusals: ['LadderAttributionError', 'AccountLogMissingError']
75
+ });
76
+ return events.run(async () => {
77
+ const published = await publishUnlockKey({
78
+ idStore,
79
+ signer,
80
+ unlockKeys: {
81
+ keyAgreement: {
82
+ publicKeyMultibase: recovery.keyAgreementKeyMultibase
83
+ },
84
+ updateKeyMultibase: recovery.updateKeyMultibase
50
85
  },
51
- updateKeyMultibase: recovery.updateKeyMultibase
52
- },
53
- // Every code carries a ladder, so the authority half of its inventory is
54
- // that ladder's VM beside the rung-0 commitment.
55
- ladderSeed,
56
- ...(part !== undefined ? { part } : {}),
57
- ...(expectedDid !== undefined ? { expectedDid } : {}),
58
- verb: 'issuing a recovery code'
86
+ // Every code carries a ladder, so the authority half of its
87
+ // inventory is that ladder's VM beside the rung-0 commitment.
88
+ ladderSeed,
89
+ ...(part !== undefined ? { part } : {}),
90
+ ...(expectedDid !== undefined ? { expectedDid } : {}),
91
+ verb: 'issuing a recovery code'
92
+ });
93
+ events.stage(ISSUANCE_STAGE_OF_PART[part ?? 'all']);
94
+ return published;
59
95
  });
60
96
  }
61
97
  /**
@@ -89,19 +125,32 @@ export async function publishRecoveryKey({ idStore, signer, recovery, ladderSeed
89
125
  * {@link publishRecoveryKey}
90
126
  */
91
127
  export async function removeRecoveryKey({ idStore, signer, recovery, ladderSeed, projectionStore, expectedDid }) {
92
- return removeUnlockKey({
93
- idStore,
94
- signer,
95
- unlockKeys: {
96
- keyAgreement: {
97
- publicKeyMultibase: recovery.keyAgreementKeyMultibase
128
+ const events = ceremonyEvents({
129
+ ceremony: 'recovery-code-revocation',
130
+ log,
131
+ refusals: [
132
+ 'UnclaimedLadderVmRetirementError',
133
+ 'LadderAttributionError',
134
+ 'AccountLogMissingError'
135
+ ]
136
+ });
137
+ return events.run(async () => {
138
+ const removed = await removeUnlockKey({
139
+ idStore,
140
+ signer,
141
+ unlockKeys: {
142
+ keyAgreement: {
143
+ publicKeyMultibase: recovery.keyAgreementKeyMultibase
144
+ },
145
+ updateKeyMultibase: recovery.updateKeyMultibase
98
146
  },
99
- updateKeyMultibase: recovery.updateKeyMultibase
100
- },
101
- ...(ladderSeed ? { ladderSeed } : {}),
102
- ...(projectionStore ? { projectionStore } : {}),
103
- ...(expectedDid !== undefined ? { expectedDid } : {}),
104
- verb: 'revoking a recovery code'
147
+ ...(ladderSeed ? { ladderSeed } : {}),
148
+ ...(projectionStore ? { projectionStore } : {}),
149
+ ...(expectedDid !== undefined ? { expectedDid } : {}),
150
+ verb: 'revoking a recovery code'
151
+ });
152
+ events.stage('inventory-removal');
153
+ return removed;
105
154
  });
106
155
  }
107
156
  /**
@@ -199,7 +248,14 @@ export async function recoverWebvhClient(options) {
199
248
  keyAgreementKeyMultibase: options.newClientKeys.keyAgreementKeyMultibase
200
249
  });
201
250
  const { newClientKeys, newClientUpdateSeeds, onCommitted, expectedDid, ...shared } = options;
202
- const outcome = await withLogConflictRetry(() => recoveryContinuationOnce({
251
+ // One run outside the conflict retry: a lost compare-and-swap re-enters
252
+ // the body under the same run, and the emitter reports each stage once.
253
+ const events = ceremonyEvents({
254
+ ceremony: 'recovery-code-spend',
255
+ log,
256
+ refusals: RECOVERY_CODE_SPEND_REFUSALS
257
+ });
258
+ const outcome = await events.run(() => withLogConflictRetry(() => recoveryContinuationOnce({
203
259
  ...shared,
204
260
  successor: {
205
261
  updateKeyMultibase: newClientKeys.updateKeyMultibase,
@@ -225,8 +281,9 @@ export async function recoverWebvhClient(options) {
225
281
  });
226
282
  return { methods, ...relations };
227
283
  },
228
- ...(expectedDid !== undefined ? { expectedDid } : {})
229
- }));
284
+ ...(expectedDid !== undefined ? { expectedDid } : {}),
285
+ events
286
+ })), spendOutcome);
230
287
  // The document and log stay inside: the remembered session re-verifies
231
288
  // the log for itself once it is the controller.
232
289
  const { doc: _doc, log: _log, ...rest } = outcome;
@@ -1 +1 @@
1
- {"version":3,"file":"recoveryWebvh.js","sourceRoot":"","sources":["../../src/recovery/recoveryWebvh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recoveryWebvh.js","sourceRoot":"","sources":["../../src/recovery/recoveryWebvh.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,9 @@
6
6
  * wallet runs. Most have a shared half in this package; some are still
7
7
  * implemented app-side. The ids are code-only identifiers (nothing persists
8
8
  * them yet); each names one ceremony documented in the wallets' ceremony
9
- * inventories.
9
+ * inventories. Code-only means no stored record and no account or annex log
10
+ * entry carries one. The ceremony event channel (`ceremonyEvents.ts`) is a
11
+ * separate diagnostics surface, and its events do carry them.
10
12
  */
11
13
  /**
12
14
  * The account ceremony ids, in ceremony-inventory order. The last four
@@ -1 +1 @@
1
- {"version":3,"file":"ceremony.d.ts","sourceRoot":"","sources":["../../src/space/ceremony.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;GAMG;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,gXAiBf,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"ceremony.d.ts","sourceRoot":"","sources":["../../src/space/ceremony.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,gXAiBf,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA"}
@@ -6,7 +6,9 @@
6
6
  * wallet runs. Most have a shared half in this package; some are still
7
7
  * implemented app-side. The ids are code-only identifiers (nothing persists
8
8
  * them yet); each names one ceremony documented in the wallets' ceremony
9
- * inventories.
9
+ * inventories. Code-only means no stored record and no account or annex log
10
+ * entry carries one. The ceremony event channel (`ceremonyEvents.ts`) is a
11
+ * separate diagnostics surface, and its events do carry them.
10
12
  */
11
13
  /**
12
14
  * The account ceremony ids, in ceremony-inventory order. The last four
@@ -1 +1 @@
1
- {"version":3,"file":"ceremony.js","sourceRoot":"","sources":["../../src/space/ceremony.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,iBAAiB;IACjB,6BAA6B;IAC7B,iBAAiB;IACjB,mBAAmB;IACnB,mBAAmB;IACnB,wBAAwB;IACxB,qBAAqB;IACrB,0BAA0B;IAC1B,4BAA4B;IAC5B,eAAe;IACf,wBAAwB;IACxB,qBAAqB;IACrB,kBAAkB;IAClB,aAAa;IACb,mBAAmB;IACnB,eAAe;CACP,CAAA"}
1
+ {"version":3,"file":"ceremony.js","sourceRoot":"","sources":["../../src/space/ceremony.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,iBAAiB;IACjB,6BAA6B;IAC7B,iBAAiB;IACjB,mBAAmB;IACnB,mBAAmB;IACnB,wBAAwB;IACxB,qBAAqB;IACrB,0BAA0B;IAC1B,4BAA4B;IAC5B,eAAe;IACf,wBAAwB;IACxB,qBAAqB;IACrB,kBAAkB;IAClB,aAAa;IACb,mBAAmB;IACnB,eAAe;CACP,CAAA"}
@@ -42,6 +42,6 @@ export type { SealedRecordMember, SignedUnlockRecord, UnlockRecordContents, Unlo
42
42
  export { assertLadderVmClaimed, ladderVmClaimOf, preflightUnlockCredentialRetirement, publishUnlockKey, removeUnlockKey, UnclaimedLadderVmRetirementError, unlockKeyVerificationMethod, unlockKeyVmId } from './standingWebvh.js';
43
43
  export type { CredentialKeyAgreementMethod, LadderVmRemovalReport, StandingUnlockKeys, UnlockKeyAgreementPublication, UnlockLogStore } from './standingWebvh.js';
44
44
  export { UNLOCK_MANAGEMENT_ACTIONS } from './managementZcap.js';
45
- export { retireUnlockCredential } from './retire.js';
46
- export type { ClientAnnexInventoryRetirement, ClientAnnexSwapRevokeOutcome, UnlockCredentialRetirementResult } from './retire.js';
45
+ export { retireUnlockCredential, UNLOCK_CREDENTIAL_RETIREMENT_STAGES } from './retire.js';
46
+ export type { UnlockCredentialRetirementStage, ClientAnnexInventoryRetirement, ClientAnnexSwapRevokeOutcome, UnlockCredentialRetirementResult } from './retire.js';
47
47
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/unlock/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,mCAAmC,EACnC,gBAAgB,EAChB,eAAe,EACf,gCAAgC,EAChC,2BAA2B,EAC3B,aAAa,EACd,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,4BAA4B,EAC5B,qBAAqB,EACrB,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,EACf,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACpD,YAAY,EACV,8BAA8B,EAC9B,4BAA4B,EAC5B,gCAAgC,EACjC,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/unlock/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,mCAAmC,EACnC,gBAAgB,EAChB,eAAe,EACf,gCAAgC,EAChC,2BAA2B,EAC3B,aAAa,EACd,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,4BAA4B,EAC5B,qBAAqB,EACrB,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,EACf,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,OAAO,EACL,sBAAsB,EACtB,mCAAmC,EACpC,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,+BAA+B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC5B,gCAAgC,EACjC,MAAM,aAAa,CAAA"}
@@ -39,5 +39,5 @@ export { standingClientFromUnlockSeed, STANDING_CLIENT_SALT, unlockClientIdentit
39
39
  export { computeUnlockBinding, LADDER_SEED_BYTES, recordSealedRecipientKeys, remintUnlockRecordDelegations, UnlockBindingError, unlockRecordBinding, unlockRecordSealedTo, unwrapUnlockRecord, wrapUnlockRecord } from './unlockRecord.js';
40
40
  export { assertLadderVmClaimed, ladderVmClaimOf, preflightUnlockCredentialRetirement, publishUnlockKey, removeUnlockKey, UnclaimedLadderVmRetirementError, unlockKeyVerificationMethod, unlockKeyVmId } from './standingWebvh.js';
41
41
  export { UNLOCK_MANAGEMENT_ACTIONS } from './managementZcap.js';
42
- export { retireUnlockCredential } from './retire.js';
42
+ export { retireUnlockCredential, UNLOCK_CREDENTIAL_RETIREMENT_STAGES } from './retire.js';
43
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/unlock/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,qBAAqB,CAAA;AAM5B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAQ1B,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,mCAAmC,EACnC,gBAAgB,EAChB,eAAe,EACf,gCAAgC,EAChC,2BAA2B,EAC3B,aAAa,EACd,MAAM,oBAAoB,CAAA;AAS3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/unlock/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,qBAAqB,CAAA;AAM5B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAQ1B,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,mCAAmC,EACnC,gBAAgB,EAChB,eAAe,EACf,gCAAgC,EAChC,2BAA2B,EAC3B,aAAa,EACd,MAAM,oBAAoB,CAAA;AAS3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,OAAO,EACL,sBAAsB,EACtB,mCAAmC,EACpC,MAAM,aAAa,CAAA"}
@@ -89,6 +89,7 @@ import type { CollectionEncryption } from '@interop/was-client';
89
89
  import type { EncryptionDescriptorStore } from '@interop/was-client/edv/core';
90
90
  import { type CascadeCollections, type RosterSealReport, type UserKey, type UserKeyCascadeResult } from '../keys/index.js';
91
91
  import type { WebvhIdStore } from '../webvh/index.js';
92
+ import { type CeremonyEmitter } from '../ceremonyEvents.js';
92
93
  import type { AccountLogSigner } from '../webvh/accountEntry.js';
93
94
  import { type LadderVmRemovalReport, type StandingUnlockKeys } from './standingWebvh.js';
94
95
  /**
@@ -111,6 +112,18 @@ export interface UnlockCredentialRetirementResult {
111
112
  rosterDescriptor?: CollectionEncryption;
112
113
  clientAnnex?: ClientAnnexInventoryRetirement;
113
114
  }
115
+ /**
116
+ * The stages the retirement reports on the ceremony event channel, in the
117
+ * order they land: the document inventory edit, the annex reach (when the
118
+ * closure ran and was not skipped), the roster rotation, and the collection
119
+ * fan-out (when every collection converged). A stage that found its work
120
+ * already done carries `prior: true`.
121
+ */
122
+ export declare const UNLOCK_CREDENTIAL_RETIREMENT_STAGES: readonly ["inventory-edit", "annex-inventory", "roster-rotation", "collection-epochs"];
123
+ /**
124
+ * One value of {@link UNLOCK_CREDENTIAL_RETIREMENT_STAGES}.
125
+ */
126
+ export type UnlockCredentialRetirementStage = (typeof UNLOCK_CREDENTIAL_RETIREMENT_STAGES)[number];
114
127
  /**
115
128
  * What the swap arm's revoke stage did with the old generation's embedded
116
129
  * delegation, carried on a `swapped` report so a caller retiring a suspect
@@ -198,7 +211,12 @@ export interface ClientAnnexInventoryRetirement {
198
211
  * the session keeps operating without a re-login
199
212
  * @returns {Promise<UnlockCredentialRetirementResult>}
200
213
  */
201
- export declare function retireUnlockCredential({ idStore, signer, unlockKeys, ladderSeed, projectionStore, expectedDid, verb, rosterStore, userKey, clientKeyAgreementKey, pinnedEpochId, onUserKeyAdopted, collections, retireClientAnnexInventory, onRotationAdopted }: {
214
+ export declare function retireUnlockCredential(options: Omit<Parameters<typeof runUnlockCredentialRetirement>[0], 'events'>): Promise<UnlockCredentialRetirementResult>;
215
+ /**
216
+ * The body of {@link retireUnlockCredential}, one run under its event
217
+ * emitter.
218
+ */
219
+ declare function runUnlockCredentialRetirement({ idStore, signer, unlockKeys, ladderSeed, projectionStore, expectedDid, verb, rosterStore, userKey, clientKeyAgreementKey, pinnedEpochId, onUserKeyAdopted, collections, retireClientAnnexInventory, onRotationAdopted, events }: {
202
220
  idStore: WebvhIdStore;
203
221
  signer: AccountLogSigner;
204
222
  unlockKeys: StandingUnlockKeys;
@@ -222,5 +240,7 @@ export declare function retireUnlockCredential({ idStore, signer, unlockKeys, la
222
240
  onRotationAdopted?: (rotation: {
223
241
  userKey: UserKey;
224
242
  }) => Promise<void>;
243
+ events: CeremonyEmitter<UnlockCredentialRetirementStage>;
225
244
  }): Promise<UnlockCredentialRetirementResult>;
245
+ export {};
226
246
  //# sourceMappingURL=retire.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retire.d.ts","sourceRoot":"","sources":["../../src/unlock/retire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retire.d.ts","sourceRoot":"","sources":["../../src/unlock/retire.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,29 @@
1
1
  import { rotateRosterToDocumentAndCascade } from '../keys/index.js';
2
+ import { ceremonyEvents } from '../ceremonyEvents.js';
3
+ import { log as walletLog } from '../log.js';
2
4
  import { removeUnlockKey } from './standingWebvh.js';
5
+ /**
6
+ * The stages the retirement reports on the ceremony event channel, in the
7
+ * order they land: the document inventory edit, the annex reach (when the
8
+ * closure ran and was not skipped), the roster rotation, and the collection
9
+ * fan-out (when every collection converged). A stage that found its work
10
+ * already done carries `prior: true`.
11
+ */
12
+ export const UNLOCK_CREDENTIAL_RETIREMENT_STAGES = [
13
+ 'inventory-edit',
14
+ 'annex-inventory',
15
+ 'roster-rotation',
16
+ 'collection-epochs'
17
+ ];
18
+ /**
19
+ * The retirement's typed refusals, matched by `err.name`: the retirement
20
+ * gate's unclaimed ladder VM, and an attributed inventory that names a
21
+ * surviving client's key. Both refuse before the edit publishes.
22
+ */
23
+ const UNLOCK_CREDENTIAL_RETIREMENT_REFUSALS = [
24
+ 'UnclaimedLadderVmRetirementError',
25
+ 'LadderAttributionError'
26
+ ];
3
27
  /**
4
28
  * Retires one standing unlock credential from an account. See the module doc
5
29
  * for the order and the convergence story. Once the inventory edit lands, a
@@ -59,7 +83,34 @@ import { removeUnlockKey } from './standingWebvh.js';
59
83
  * the session keeps operating without a re-login
60
84
  * @returns {Promise<UnlockCredentialRetirementResult>}
61
85
  */
62
- export async function retireUnlockCredential({ idStore, signer, unlockKeys, ladderSeed, projectionStore, expectedDid, verb, rosterStore, userKey, clientKeyAgreementKey, pinnedEpochId, onUserKeyAdopted, collections, retireClientAnnexInventory, onRotationAdopted }) {
86
+ export async function retireUnlockCredential(options) {
87
+ const events = ceremonyEvents({
88
+ ceremony: 'unlock-credential-rotation',
89
+ log: walletLog,
90
+ refusals: UNLOCK_CREDENTIAL_RETIREMENT_REFUSALS
91
+ });
92
+ // Detail is counts alone: the retired credential's identifiers derive
93
+ // from its unlock secret, and the ladder arm runs on transient sessions.
94
+ return events.run(() => runUnlockCredentialRetirement({ ...options, events }), result => {
95
+ const failedStages = (result.clientAnnex?.reason === 'failed' ? 1 : 0) +
96
+ (result.rosterSeal?.outcome === 'failed' ? 1 : 0);
97
+ const failedCollections = result.collections.failed.length;
98
+ // A `no-ladder-seed` skip left the annex inventory standing.
99
+ const partial = failedStages > 0 ||
100
+ failedCollections > 0 ||
101
+ result.clientAnnex?.reason === 'no-ladder-seed' ||
102
+ (result.ladderVm?.unclaimed.length ?? 0) > 0;
103
+ return {
104
+ outcome: partial ? 'partial' : 'clean',
105
+ detail: { failedStages, failedCollections }
106
+ };
107
+ });
108
+ }
109
+ /**
110
+ * The body of {@link retireUnlockCredential}, one run under its event
111
+ * emitter.
112
+ */
113
+ async function runUnlockCredentialRetirement({ idStore, signer, unlockKeys, ladderSeed, projectionStore, expectedDid, verb, rosterStore, userKey, clientKeyAgreementKey, pinnedEpochId, onUserKeyAdopted, collections, retireClientAnnexInventory, onRotationAdopted, events }) {
63
114
  // 1. The document inventory edit -- the credential's standing, first. It
64
115
  // resolves the document as it now stands, which is what stage 2 resolves
65
116
  // its remaining recipients from.
@@ -72,6 +123,7 @@ export async function retireUnlockCredential({ idStore, signer, unlockKeys, ladd
72
123
  ...(expectedDid !== undefined ? { expectedDid } : {}),
73
124
  ...(verb !== undefined ? { verb } : {})
74
125
  });
126
+ events.stage('inventory-edit');
75
127
  // 1b. The annex reach, against the post-edit document: strike the
76
128
  // retired credential's rung inventory out of the pointed generation, or swap
77
129
  // the generation out from under it. Best-effort by contract, enforced here:
@@ -85,6 +137,11 @@ export async function retireUnlockCredential({ idStore, signer, unlockKeys, ladd
85
137
  catch {
86
138
  clientAnnex = { action: 'skipped', reason: 'failed' };
87
139
  }
140
+ if (clientAnnex.action !== 'skipped') {
141
+ events.stage('annex-inventory', {
142
+ ...(clientAnnex.action === 'clean' ? { prior: true } : {})
143
+ });
144
+ }
88
145
  }
89
146
  // 2. The shared roster-and-cascade tail: the roster rotation onto the
90
147
  // post-edit document (with its post-edit minimum controller version and its seal
@@ -100,6 +157,12 @@ export async function retireUnlockCredential({ idStore, signer, unlockKeys, ladd
100
157
  ...(onUserKeyAdopted ? { onUserKeyAdopted } : {}),
101
158
  collections
102
159
  });
160
+ if (tail.rosterDescriptor && tail.userKey) {
161
+ events.stage('roster-rotation', {
162
+ ...(tail.rotated ? {} : { prior: true })
163
+ });
164
+ collectionStage({ events, collections: tail.collections });
165
+ }
103
166
  if (!tail.rosterDescriptor || !tail.userKey) {
104
167
  // No roster to rotate: the inventory edit has landed, so the credential IS
105
168
  // retired -- a completed ceremony with nothing rotated.
@@ -125,4 +188,19 @@ export async function retireUnlockCredential({ idStore, signer, unlockKeys, ladd
125
188
  ...(clientAnnex ? { clientAnnex } : {})
126
189
  };
127
190
  }
191
+ /**
192
+ * Emits the collection fan-out's stage when every collection converged, with
193
+ * `prior: true` when none needed a write.
194
+ *
195
+ * @param options {object}
196
+ * @param options.events {CeremonyEmitter} the running ceremony's emitter
197
+ * @param options.collections {UserKeyCascadeResult} the fan-out's result
198
+ */
199
+ function collectionStage({ events, collections }) {
200
+ if (collections.failed.length > 0) {
201
+ return;
202
+ }
203
+ const wrote = Object.values(collections.outcomes).some(outcome => outcome !== 'noop');
204
+ events.stage('collection-epochs', { ...(wrote ? {} : { prior: true }) });
205
+ }
128
206
  //# sourceMappingURL=retire.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"retire.js","sourceRoot":"","sources":["../../src/unlock/retire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retire.js","sourceRoot":"","sources":["../../src/unlock/retire.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@interop/wallet-core",
3
3
  "description": "Shared wallet-domain logic (WAS sync engine core and wallet Space layout contracts) for Interop wallet apps.",
4
- "version": "0.86.0",
4
+ "version": "0.88.0",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "pnpm run clear && tsc",
@@ -53,7 +53,7 @@
53
53
  "vitest": "^4.1.7"
54
54
  },
55
55
  "peerDependencies": {
56
- "@interop/was-client": ">=0.78.0 <1.0.0"
56
+ "@interop/was-client": ">=0.80.0 <1.0.0"
57
57
  },
58
58
  "files": [
59
59
  "dist",