@openzeppelin/miden-multisig-client 0.18.0 → 0.18.2

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 (104) hide show
  1. package/README.md +176 -23
  2. package/dist/client.d.ts +41 -2
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +79 -2
  5. package/dist/client.js.map +1 -1
  6. package/dist/index.d.ts +7 -4
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +7 -4
  9. package/dist/index.js.map +1 -1
  10. package/dist/lookupAuth.d.ts.map +1 -1
  11. package/dist/lookupAuth.js +2 -20
  12. package/dist/lookupAuth.js.map +1 -1
  13. package/dist/multisig/authArgErrors.d.ts +27 -1
  14. package/dist/multisig/authArgErrors.d.ts.map +1 -1
  15. package/dist/multisig/authArgErrors.js +33 -0
  16. package/dist/multisig/authArgErrors.js.map +1 -1
  17. package/dist/multisig.d.ts +77 -11
  18. package/dist/multisig.d.ts.map +1 -1
  19. package/dist/multisig.js +247 -181
  20. package/dist/multisig.js.map +1 -1
  21. package/dist/proposal/metadata.d.ts.map +1 -1
  22. package/dist/proposal/metadata.js +2 -0
  23. package/dist/proposal/metadata.js.map +1 -1
  24. package/dist/recovery/transportDrain.d.ts +38 -30
  25. package/dist/recovery/transportDrain.d.ts.map +1 -1
  26. package/dist/recovery/transportDrain.js +113 -113
  27. package/dist/recovery/transportDrain.js.map +1 -1
  28. package/dist/session/grant.d.ts +40 -0
  29. package/dist/session/grant.d.ts.map +1 -0
  30. package/dist/session/grant.js +125 -0
  31. package/dist/session/grant.js.map +1 -0
  32. package/dist/session/key.d.ts +103 -0
  33. package/dist/session/key.d.ts.map +1 -0
  34. package/dist/session/key.js +160 -0
  35. package/dist/session/key.js.map +1 -0
  36. package/dist/session/manager.d.ts +76 -0
  37. package/dist/session/manager.d.ts.map +1 -0
  38. package/dist/session/manager.js +187 -0
  39. package/dist/session/manager.js.map +1 -0
  40. package/dist/signers/ecdsa.d.ts +5 -1
  41. package/dist/signers/ecdsa.d.ts.map +1 -1
  42. package/dist/signers/ecdsa.js +9 -0
  43. package/dist/signers/ecdsa.js.map +1 -1
  44. package/dist/signers/falcon.d.ts +5 -1
  45. package/dist/signers/falcon.d.ts.map +1 -1
  46. package/dist/signers/falcon.js +9 -0
  47. package/dist/signers/falcon.js.map +1 -1
  48. package/dist/signers/ledger.d.ts +9 -1
  49. package/dist/signers/ledger.d.ts.map +1 -1
  50. package/dist/signers/ledger.js +13 -1
  51. package/dist/signers/ledger.js.map +1 -1
  52. package/dist/signers/miden-wallet.d.ts +13 -1
  53. package/dist/signers/miden-wallet.d.ts.map +1 -1
  54. package/dist/signers/miden-wallet.js +25 -0
  55. package/dist/signers/miden-wallet.js.map +1 -1
  56. package/dist/signers/para.d.ts +5 -1
  57. package/dist/signers/para.d.ts.map +1 -1
  58. package/dist/signers/para.js +9 -0
  59. package/dist/signers/para.js.map +1 -1
  60. package/dist/transaction/authArgs.d.ts +2 -2
  61. package/dist/transaction/authArgs.js +2 -2
  62. package/dist/transaction/options.d.ts +2 -2
  63. package/dist/transaction/summary.d.ts +17 -61
  64. package/dist/transaction/summary.d.ts.map +1 -1
  65. package/dist/transaction/summary.js +49 -95
  66. package/dist/transaction/summary.js.map +1 -1
  67. package/dist/transaction.d.ts +1 -1
  68. package/dist/transaction.d.ts.map +1 -1
  69. package/dist/transaction.js +1 -1
  70. package/dist/transaction.js.map +1 -1
  71. package/dist/types/proposal.d.ts +11 -5
  72. package/dist/types/proposal.d.ts.map +1 -1
  73. package/dist/types/proposal.js.map +1 -1
  74. package/dist/utils/eip712.d.ts +26 -69
  75. package/dist/utils/eip712.d.ts.map +1 -1
  76. package/dist/utils/eip712.js +101 -8
  77. package/dist/utils/eip712.js.map +1 -1
  78. package/dist/utils/felt.d.ts +7 -1
  79. package/dist/utils/felt.d.ts.map +1 -1
  80. package/dist/utils/felt.js +18 -1
  81. package/dist/utils/felt.js.map +1 -1
  82. package/package.json +4 -4
  83. package/src/client.ts +97 -2
  84. package/src/index.ts +29 -8
  85. package/src/lookupAuth.ts +3 -22
  86. package/src/multisig/authArgErrors.ts +42 -1
  87. package/src/multisig.ts +318 -207
  88. package/src/proposal/metadata.ts +2 -0
  89. package/src/recovery/transportDrain.ts +118 -124
  90. package/src/session/grant.ts +143 -0
  91. package/src/session/key.ts +215 -0
  92. package/src/session/manager.ts +273 -0
  93. package/src/signers/ecdsa.ts +12 -1
  94. package/src/signers/falcon.ts +12 -1
  95. package/src/signers/ledger.ts +19 -2
  96. package/src/signers/miden-wallet.ts +29 -1
  97. package/src/signers/para.ts +12 -1
  98. package/src/transaction/authArgs.ts +2 -2
  99. package/src/transaction/options.ts +2 -2
  100. package/src/transaction/summary.ts +62 -110
  101. package/src/transaction.ts +1 -6
  102. package/src/types/proposal.ts +11 -5
  103. package/src/utils/eip712.ts +130 -10
  104. package/src/utils/felt.ts +19 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/signers/ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/signers/ledger.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { RequestAuthPayload } from '@openzeppelin/guardian-client';
1
+ import type { RequestAuthPayload, SessionGrantFields } from '@openzeppelin/guardian-client';
2
2
  import type { Signer, SignatureScheme } from '../types.js';
3
3
  export interface WalletSigningContext {
4
4
  /**
@@ -53,6 +53,11 @@ export declare class MidenWalletSigner implements Signer {
53
53
  * on the next read (once the SDK is up, as it always is in the guardian flow).
54
54
  */
55
55
  private verifyAndCache;
56
+ /**
57
+ * The delegate `localAuthSigner` signs request auth, session grants and
58
+ * revoke-all, so Guardian must read its signatures in its format.
59
+ */
60
+ get requestAuthFormat(): 'eip712' | undefined;
56
61
  signAccountIdWithTimestamp(accountId: string, timestamp: number): Promise<string>;
57
62
  signRequest(accountId: string, timestamp: number, requestPayload: RequestAuthPayload): Promise<string>;
58
63
  signCommitment(commitmentHex: string): Promise<string>;
@@ -61,6 +66,13 @@ export declare class MidenWalletSigner implements Signer {
61
66
  * Account-less; used directly by `recoverByKey`.
62
67
  */
63
68
  signLookupMessage(keyCommitmentHex: string, timestampMs: number): Promise<string>;
69
+ /**
70
+ * Sign a session grant. Follows the same signer as request
71
+ * authentication, so the session acts for the key Guardian already knows.
72
+ */
73
+ signSessionGrant(grant: SessionGrantFields): Promise<string>;
74
+ /** Sign a session revoke-all with the same signer as request authentication. */
75
+ signSessionRevokeAll(signerCommitment: string, timestampMs: number): Promise<string>;
64
76
  private signWord;
65
77
  }
66
78
  //# sourceMappingURL=miden-wallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"miden-wallet.d.ts","sourceRoot":"","sources":["../../src/signers/miden-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAQ3D,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAClF;AAED,qBAAa,iBAAkB,YAAW,MAAM;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgB;IAClD,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,aAAa,CAA2B;gBAG9C,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,eAAe,EACvB,eAAe,CAAC,EAAE,MAAM,EACxB,SAAS,CAAC,EAAE,MAAM;IAgBpB;;;;;;;;;;;OAWG;IACH,IAAI,SAAS,IAAI,MAAM,CAyBtB;IAED;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;IAqBhB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQjF,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,kBAAkB,GACjC,OAAO,CAAC,MAAM,CAAC;IAOZ,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK5D;;;OAGG;IACG,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAQzE,QAAQ;CAcvB"}
1
+ {"version":3,"file":"miden-wallet.d.ts","sourceRoot":"","sources":["../../src/signers/miden-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAS3D,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAClF;AAED,qBAAa,iBAAkB,YAAW,MAAM;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgB;IAClD,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,aAAa,CAA2B;gBAG9C,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,eAAe,EACvB,eAAe,CAAC,EAAE,MAAM,EACxB,SAAS,CAAC,EAAE,MAAM;IAgBpB;;;;;;;;;;;OAWG;IACH,IAAI,SAAS,IAAI,MAAM,CAyBtB;IAED;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;IAqBtB;;;OAGG;IACH,IAAI,iBAAiB,IAAI,QAAQ,GAAG,SAAS,CAE5C;IAEK,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQjF,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,kBAAkB,GACjC,OAAO,CAAC,MAAM,CAAC;IAOZ,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK5D;;;OAGG;IACG,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQvF;;;OAGG;IACG,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAOlE,gFAAgF;IAC1E,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAO5E,QAAQ;CAcvB"}
@@ -2,6 +2,7 @@ import { AuthDigest } from '../utils/digest.js';
2
2
  import { EcdsaFormat } from '../utils/ecdsa.js';
3
3
  import { bytesToHex, normalizeHexWord } from '../utils/encoding.js';
4
4
  import { lookupAuthDigest } from '../lookupAuth.js';
5
+ import { sessionGrantDigest, sessionRevokeAllDigest } from '../session/grant.js';
5
6
  import { tryComputeEcdsaCommitmentHex } from '../utils/signature.js';
6
7
  import { wordToBytes } from '../utils/word.js';
7
8
  export class MidenWalletSigner {
@@ -83,6 +84,13 @@ export class MidenWalletSigner {
83
84
  this.resolvedPublicKey = candidate;
84
85
  return candidate;
85
86
  }
87
+ /**
88
+ * The delegate `localAuthSigner` signs request auth, session grants and
89
+ * revoke-all, so Guardian must read its signatures in its format.
90
+ */
91
+ get requestAuthFormat() {
92
+ return this.localAuthSigner?.requestAuthFormat;
93
+ }
86
94
  async signAccountIdWithTimestamp(accountId, timestamp) {
87
95
  if (this.localAuthSigner) {
88
96
  return this.localAuthSigner.signAccountIdWithTimestamp(accountId, timestamp);
@@ -111,6 +119,23 @@ export class MidenWalletSigner {
111
119
  const digest = lookupAuthDigest(timestampMs, keyCommitmentHex);
112
120
  return this.signWord(digest);
113
121
  }
122
+ /**
123
+ * Sign a session grant. Follows the same signer as request
124
+ * authentication, so the session acts for the key Guardian already knows.
125
+ */
126
+ async signSessionGrant(grant) {
127
+ if (this.localAuthSigner?.signSessionGrant) {
128
+ return this.localAuthSigner.signSessionGrant(grant);
129
+ }
130
+ return this.signWord(sessionGrantDigest(grant));
131
+ }
132
+ /** Sign a session revoke-all with the same signer as request authentication. */
133
+ async signSessionRevokeAll(signerCommitment, timestampMs) {
134
+ if (this.localAuthSigner?.signSessionRevokeAll) {
135
+ return this.localAuthSigner.signSessionRevokeAll(signerCommitment, timestampMs);
136
+ }
137
+ return this.signWord(sessionRevokeAllDigest(signerCommitment, timestampMs));
138
+ }
114
139
  async signWord(word) {
115
140
  const bytes = wordToBytes(word);
116
141
  const signatureBytes = await this.wallet.signBytes(bytes, 'word');
@@ -1 +1 @@
1
- {"version":3,"file":"miden-wallet.js","sourceRoot":"","sources":["../../src/signers/miden-wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"miden-wallet.js","sourceRoot":"","sources":["../../src/signers/miden-wallet.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { RequestAuthPayload } from '@openzeppelin/guardian-client';
1
+ import type { RequestAuthPayload, SessionGrantFields } from '@openzeppelin/guardian-client';
2
2
  import type { Signer, SignatureScheme } from '../types.js';
3
3
  export interface ParaSigningContext {
4
4
  signMessage(params: {
@@ -21,6 +21,10 @@ export declare class ParaSigner implements Signer {
21
21
  * Account-less; used directly by `recoverByKey`.
22
22
  */
23
23
  signLookupMessage(keyCommitmentHex: string, timestampMs: number): Promise<string>;
24
+ /** Sign a session grant as its raw RPO digest. */
25
+ signSessionGrant(grant: SessionGrantFields): Promise<string>;
26
+ /** Sign a session revoke-all as its raw RPO digest. */
27
+ signSessionRevokeAll(signerCommitment: string, timestampMs: number): Promise<string>;
24
28
  private signWord;
25
29
  }
26
30
  //# sourceMappingURL=para.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"para.d.ts","sourceRoot":"","sources":["../../src/signers/para.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO3D,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpF;AAWD,qBAAa,UAAW,YAAW,MAAM;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAW;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAGhC,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM;IAWb,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjF,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,kBAAkB,GACjC,OAAO,CAAC,MAAM,CAAC;IAKZ,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK5D;;;OAGG;IACG,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAKzE,QAAQ;CAiBvB"}
1
+ {"version":3,"file":"para.d.ts","sourceRoot":"","sources":["../../src/signers/para.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAQ3D,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpF;AAWD,qBAAa,UAAW,YAAW,MAAM;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAW;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAGhC,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM;IAWb,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjF,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,kBAAkB,GACjC,OAAO,CAAC,MAAM,CAAC;IAKZ,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK5D;;;OAGG;IACG,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvF,kDAAkD;IAC5C,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlE,uDAAuD;IACjD,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAI5E,QAAQ;CAiBvB"}
@@ -2,6 +2,7 @@ import { AuthDigest } from '../utils/digest.js';
2
2
  import { EcdsaFormat } from '../utils/ecdsa.js';
3
3
  import { hexToBytes, uint8ArrayToBase64 } from '../utils/encoding.js';
4
4
  import { lookupAuthDigest } from '../lookupAuth.js';
5
+ import { sessionGrantDigest, sessionRevokeAllDigest } from '../session/grant.js';
5
6
  import { wordToBytes } from '../utils/word.js';
6
7
  function extractSignature(response) {
7
8
  if (!response || typeof response !== 'object') {
@@ -45,6 +46,14 @@ export class ParaSigner {
45
46
  const digest = lookupAuthDigest(timestampMs, keyCommitmentHex);
46
47
  return this.signWord(digest);
47
48
  }
49
+ /** Sign a session grant as its raw RPO digest. */
50
+ async signSessionGrant(grant) {
51
+ return this.signWord(sessionGrantDigest(grant));
52
+ }
53
+ /** Sign a session revoke-all as its raw RPO digest. */
54
+ async signSessionRevokeAll(signerCommitment, timestampMs) {
55
+ return this.signWord(sessionRevokeAllDigest(signerCommitment, timestampMs));
56
+ }
48
57
  async signWord(word) {
49
58
  const messageBase64 = uint8ArrayToBase64(hexToBytes(EcdsaFormat.keccakDigestHex(wordToBytes(word))));
50
59
  const res = await this.para.signMessage({
@@ -1 +1 @@
1
- {"version":3,"file":"para.js","sourceRoot":"","sources":["../../src/signers/para.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"para.js","sourceRoot":"","sources":["../../src/signers/para.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,8 @@ export interface MultisigRequestDraft {
16
16
  * The salt is `options.salt` or a fresh one. `approvalExpirationDelta` left
17
17
  * out means the approval never expires, the upstream default. `boundBlockNum`
18
18
  * left out binds the store's sync height, which is what a proposer wants; a
19
- * rebuild pins the proposal's anchor block and the expiration the summary
20
- * already binds.
19
+ * rebuild pins the block the proposal's summary binds and the expiration the
20
+ * summary already binds.
21
21
  *
22
22
  * The salt is moved across the WASM boundary, so a handle is built here from
23
23
  * the hex rather than taken from the caller, and nothing frees it afterwards.
@@ -17,8 +17,8 @@ const AUTH_ARGS_NUM_ELEMENTS = 12;
17
17
  * The salt is `options.salt` or a fresh one. `approvalExpirationDelta` left
18
18
  * out means the approval never expires, the upstream default. `boundBlockNum`
19
19
  * left out binds the store's sync height, which is what a proposer wants; a
20
- * rebuild pins the proposal's anchor block and the expiration the summary
21
- * already binds.
20
+ * rebuild pins the block the proposal's summary binds and the expiration the
21
+ * summary already binds.
22
22
  *
23
23
  * The salt is moved across the WASM boundary, so a handle is built here from
24
24
  * the hex rather than taken from the caller, and nothing frees it afterwards.
@@ -7,8 +7,8 @@ export interface SignatureOptions {
7
7
  /**
8
8
  * The block the transaction summary binds. Omitted, the store's sync height,
9
9
  * which is right for the party creating a proposal. A cosigner or executor
10
- * rebuilding a proposal pins it to the proposal's anchor block, or the rebuilt
11
- * summary can never match the signed one.
10
+ * rebuilding a proposal pins it to the block the proposal's summary binds, or
11
+ * the rebuilt summary can never match the signed one.
12
12
  */
13
13
  boundBlockNum?: number;
14
14
  /**
@@ -1,19 +1,5 @@
1
1
  import type { MidenClient, TransactionRequest, TransactionSummary } from '@miden-sdk/miden-sdk';
2
- import { ChainAnchor, Word } from '@miden-sdk/miden-sdk';
3
- /**
4
- * The summary binds the block the request's auth args name, and the anchor
5
- * the store's sync height at capture. A sync landing between the build and the
6
- * capture leaves them one block apart, and every cosigner's anchor check would
7
- * then fail on a proposal nothing else is wrong with. Caught here, before the
8
- * proposal is pushed, so the proposer rebuilds instead.
9
- */
10
- export declare class SummaryAnchorMismatchError extends Error {
11
- readonly retryable = true;
12
- constructor(details: {
13
- anchorCommitmentHex: string;
14
- summaryBlockCommitmentHex: string;
15
- });
16
- }
2
+ import { Word } from '@miden-sdk/miden-sdk';
17
3
  /**
18
4
  * The Miden client synced and its node still has not produced the block a
19
5
  * proposal binds, so the proposal cannot execute at this client's tip yet.
@@ -35,34 +21,18 @@ export declare class ChainBehindBoundBlockError extends Error {
35
21
  * not synced recently. Either clears on a later attempt, which syncs first.
36
22
  */
37
23
  export declare function isStaleChainError(error: unknown): boolean;
38
- /**
39
- * Derives the summary awaiting authorization for a proposal the caller is
40
- * creating now, and captures a `ChainAnchor` at the current sync height to ship
41
- * with it.
42
- *
43
- * The summary is derived at the chain tip, like every other execution of a
44
- * multisig proposal (see {@link executeForSummaryAtTip}). The anchor still
45
- * travels in the proposal: it names the block the request's auth args bind,
46
- * which is how a rebuild learns that block, and 0.18.0-rc.1 clients re-execute
47
- * at it. A proposer builds at the sync height the anchor is captured at, and
48
- * the check below is what makes that hold.
49
- */
50
- export declare function executeForSummary(client: MidenClient, accountId: string, txRequest: TransactionRequest): Promise<{
51
- summary: TransactionSummary;
52
- anchor: ChainAnchor;
53
- }>;
54
24
  /**
55
25
  * Executes a multisig request at the chain tip to obtain the summary awaiting
56
- * authorization. This is how cosigners and the executor reproduce a proposal's
57
- * summary, whatever block they have synced to.
26
+ * authorization. Proposers derive a new proposal's summary with it, and
27
+ * cosigners and the executor reproduce it, whatever block they have synced to.
58
28
  *
59
29
  * Since protocol 0.17 a multisig summary binds the block its auth args name
60
30
  * (the bound block), not the block the transaction executes against, so it
61
31
  * reproduces at any later tip once the bound block is in the transaction's
62
32
  * partial blockchain. The request declares it through `withBlockNumbers`, and
63
- * foreign accounts, the fee faucet among them, load at the tip. Re-executing at
64
- * the proposal's anchor instead loads them at the bound block, which a node
65
- * prunes about 50 blocks later (issue #462).
33
+ * foreign accounts, the fee faucet among them, load at the tip. Executing at
34
+ * the bound block instead would load them there, which a node prunes about 50
35
+ * blocks later (issue #462).
66
36
  *
67
37
  * The client has to have synced to at least the bound block. When it has not,
68
38
  * this syncs once before executing.
@@ -105,33 +75,19 @@ export declare function requireDeclaredBoundBlock(request: TransactionRequest):
105
75
  */
106
76
  export declare function syncToBoundBlock(client: MidenClient, blockNum: number, syncChain?: () => Promise<unknown>): Promise<void>;
107
77
  /**
108
- * Executes a transaction at the given `ChainAnchor`'s reference block to
109
- * obtain the summary awaiting authorization.
78
+ * Reads the block a multisig transaction summary binds, the counterpart of the
79
+ * Rust `TransactionSummary::block_number`. Since protocol 0.17 that is the block
80
+ * the request's multisig auth args name, so it is the proposal's bound block.
110
81
  *
111
- * For a summary that binds the reference block, such as a single-signature
112
- * one. A multisig proposal's summary binds its bound block instead and is
113
- * reproduced with {@link executeForSummaryAtTip}: re-executing it at an anchor
114
- * fails once the node prunes the anchor block's account state.
115
- */
116
- export declare function executeForSummaryAt(client: MidenClient, accountId: string, txRequest: TransactionRequest, anchor: ChainAnchor): Promise<TransactionSummary>;
117
- /**
118
- * Serializes a `ChainAnchor` to base64 for the proposal wire payload.
119
- */
120
- export declare function chainAnchorToBase64(anchor: ChainAnchor): string;
121
- /**
122
- * Deserializes a `ChainAnchor` from its base64 wire form. `ChainAnchor`
123
- * deserialization validates the header/chain consistency internally, so a
124
- * decoded anchor only needs its block commitment checked against the signed
125
- * transaction summary before the block it names is taken as the one the
126
- * summary binds.
127
- */
128
- export declare function chainAnchorFromBase64(anchorBase64: string): ChainAnchor;
129
- /**
130
- * The block a proposal's `chainAnchor` names, which is the block its summary
131
- * binds: a custom producer rebuilds its request at this block. Decodes the
132
- * anchor for the one number and frees it.
82
+ * The web SDK exposes no accessor for it, so this reads the serialized summary
83
+ * (layout above) and checks the block commitment next to it against
84
+ * `blockCommitment()`, so a layout this client does not know is refused rather
85
+ * than read at the wrong offset.
86
+ *
87
+ * @throws TransactionSummaryLayoutError when the summary is not version 1, is
88
+ * too short to hold the tail, or its tail does not hold its block commitment.
133
89
  */
134
- export declare function chainAnchorBlockNum(anchorBase64: string): number;
90
+ export declare function summaryBoundBlockNum(summary: TransactionSummary): number;
135
91
  /**
136
92
  * Reads the salt a multisig transaction summary binds.
137
93
  *
@@ -1 +1 @@
1
- {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/transaction/summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAazD;;;;;;GAMG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,SAAS,QAAQ;gBAEd,OAAO,EAAE;QAAE,mBAAmB,EAAE,MAAM,CAAC;QAAC,yBAAyB,EAAE,MAAM,CAAA;KAAE;CAQxF;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,SAAS,QAAQ;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;CASnE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,kBAAkB,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAqB/D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,kBAAkB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAO7B;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,kBAAkB,EAC3B,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAMzF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAM,OAAO,CAAC,OAAO,CAA4B,GAC3D,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAO7B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAE/D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAOhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAI7D;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAGjG"}
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/transaction/summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AA2B5C;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,SAAS,QAAQ;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;CASnE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMzD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,kBAAkB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAO7B;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,kBAAkB,EAC3B,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAMzF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAM,OAAO,CAAC,OAAO,CAA4B,GAC3D,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAQxE;AA+BD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAI7D;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAGjG"}
@@ -1,6 +1,5 @@
1
- import { ChainAnchor, Word } from '@miden-sdk/miden-sdk';
2
- import { BoundBlockNotDeclaredError } from '../multisig/authArgErrors.js';
3
- import { base64ToUint8Array, normalizeHexWord, uint8ArrayToBase64 } from '../utils/encoding.js';
1
+ import { Word } from '@miden-sdk/miden-sdk';
2
+ import { BoundBlockNotDeclaredError, TransactionSummaryLayoutError, } from '../multisig/authArgErrors.js';
4
3
  import { requestBoundBlockNum } from './authArgs.js';
5
4
  /**
6
5
  * Layout of the six user params a multisig auth component binds into the
@@ -10,21 +9,16 @@ import { requestBoundBlockNum } from './authArgs.js';
10
9
  const APPROVAL_EXPIRATION_USER_PARAM_INDEX = 0;
11
10
  const SALT_USER_PARAM_OFFSET = 2;
12
11
  /**
13
- * The summary binds the block the request's auth args name, and the anchor
14
- * the store's sync height at capture. A sync landing between the build and the
15
- * capture leaves them one block apart, and every cosigner's anchor check would
16
- * then fail on a proposal nothing else is wrong with. Caught here, before the
17
- * proposal is pushed, so the proposer rebuilds instead.
12
+ * The serialized summary layout {@link summaryBoundBlockNum} reads, from
13
+ * `TransactionSummary::write_into` at miden-protocol 0.17.0: the version byte
14
+ * first, then variable-length fields, then a fixed tail of the block number
15
+ * (u32, little endian), the block commitment (four 8-byte felts), the
16
+ * expiration delta (u16) and the six user-param felts, with no length prefix.
18
17
  */
19
- export class SummaryAnchorMismatchError extends Error {
20
- retryable = true;
21
- constructor(details) {
22
- super(`the transaction summary binds block commitment ${details.summaryBlockCommitmentHex} but ` +
23
- `the captured chain anchor is ${details.anchorCommitmentHex}; a sync landed between ` +
24
- 'building the request and capturing its anchor, so rebuild the request and retry');
25
- this.name = 'SummaryAnchorMismatchError';
26
- }
27
- }
18
+ const SUPPORTED_SUMMARY_VERSION = 1;
19
+ const BLOCK_NUMBER_BYTES = 4;
20
+ const BLOCK_COMMITMENT_BYTES = 32;
21
+ const SUMMARY_TAIL_BYTES = BLOCK_NUMBER_BYTES + BLOCK_COMMITMENT_BYTES + 2 + 6 * 8;
28
22
  /**
29
23
  * The Miden client synced and its node still has not produced the block a
30
24
  * proposal binds, so the proposal cannot execute at this client's tip yet.
@@ -55,52 +49,18 @@ export function isStaleChainError(error) {
55
49
  const message = error instanceof Error ? error.message : String(error);
56
50
  return message.includes('has been pruned');
57
51
  }
58
- /**
59
- * Derives the summary awaiting authorization for a proposal the caller is
60
- * creating now, and captures a `ChainAnchor` at the current sync height to ship
61
- * with it.
62
- *
63
- * The summary is derived at the chain tip, like every other execution of a
64
- * multisig proposal (see {@link executeForSummaryAtTip}). The anchor still
65
- * travels in the proposal: it names the block the request's auth args bind,
66
- * which is how a rebuild learns that block, and 0.18.0-rc.1 clients re-execute
67
- * at it. A proposer builds at the sync height the anchor is captured at, and
68
- * the check below is what makes that hold.
69
- */
70
- export async function executeForSummary(client, accountId, txRequest) {
71
- const anchor = await client.transactions.captureAnchor(txRequest);
72
- let summary;
73
- try {
74
- summary = await executeForSummaryAtTip(client, accountId, txRequest);
75
- }
76
- catch (error) {
77
- anchor.free();
78
- throw error;
79
- }
80
- const anchorCommitment = anchor.commitment();
81
- const summaryBlockCommitment = summary.blockCommitment();
82
- const anchorCommitmentHex = normalizeHexWord(anchorCommitment.toHex());
83
- const summaryBlockCommitmentHex = normalizeHexWord(summaryBlockCommitment.toHex());
84
- anchorCommitment.free?.();
85
- summaryBlockCommitment.free?.();
86
- if (anchorCommitmentHex !== summaryBlockCommitmentHex) {
87
- anchor.free();
88
- throw new SummaryAnchorMismatchError({ anchorCommitmentHex, summaryBlockCommitmentHex });
89
- }
90
- return { summary, anchor };
91
- }
92
52
  /**
93
53
  * Executes a multisig request at the chain tip to obtain the summary awaiting
94
- * authorization. This is how cosigners and the executor reproduce a proposal's
95
- * summary, whatever block they have synced to.
54
+ * authorization. Proposers derive a new proposal's summary with it, and
55
+ * cosigners and the executor reproduce it, whatever block they have synced to.
96
56
  *
97
57
  * Since protocol 0.17 a multisig summary binds the block its auth args name
98
58
  * (the bound block), not the block the transaction executes against, so it
99
59
  * reproduces at any later tip once the bound block is in the transaction's
100
60
  * partial blockchain. The request declares it through `withBlockNumbers`, and
101
- * foreign accounts, the fee faucet among them, load at the tip. Re-executing at
102
- * the proposal's anchor instead loads them at the bound block, which a node
103
- * prunes about 50 blocks later (issue #462).
61
+ * foreign accounts, the fee faucet among them, load at the tip. Executing at
62
+ * the bound block instead would load them there, which a node prunes about 50
63
+ * blocks later (issue #462).
104
64
  *
105
65
  * The client has to have synced to at least the bound block. When it has not,
106
66
  * this syncs once before executing.
@@ -170,51 +130,45 @@ export async function syncToBoundBlock(client, blockNum, syncChain = () => clien
170
130
  }
171
131
  }
172
132
  /**
173
- * Executes a transaction at the given `ChainAnchor`'s reference block to
174
- * obtain the summary awaiting authorization.
133
+ * Reads the block a multisig transaction summary binds, the counterpart of the
134
+ * Rust `TransactionSummary::block_number`. Since protocol 0.17 that is the block
135
+ * the request's multisig auth args name, so it is the proposal's bound block.
175
136
  *
176
- * For a summary that binds the reference block, such as a single-signature
177
- * one. A multisig proposal's summary binds its bound block instead and is
178
- * reproduced with {@link executeForSummaryAtTip}: re-executing it at an anchor
179
- * fails once the node prunes the anchor block's account state.
180
- */
181
- export async function executeForSummaryAt(client, accountId, txRequest, anchor) {
182
- return client.transactions.preview({
183
- operation: 'custom',
184
- account: accountId,
185
- request: txRequest,
186
- anchor,
187
- });
188
- }
189
- /**
190
- * Serializes a `ChainAnchor` to base64 for the proposal wire payload.
191
- */
192
- export function chainAnchorToBase64(anchor) {
193
- return uint8ArrayToBase64(anchor.serialize());
194
- }
195
- /**
196
- * Deserializes a `ChainAnchor` from its base64 wire form. `ChainAnchor`
197
- * deserialization validates the header/chain consistency internally, so a
198
- * decoded anchor only needs its block commitment checked against the signed
199
- * transaction summary before the block it names is taken as the one the
200
- * summary binds.
201
- */
202
- export function chainAnchorFromBase64(anchorBase64) {
203
- return ChainAnchor.deserialize(base64ToUint8Array(anchorBase64));
204
- }
205
- /**
206
- * The block a proposal's `chainAnchor` names, which is the block its summary
207
- * binds: a custom producer rebuilds its request at this block. Decodes the
208
- * anchor for the one number and frees it.
137
+ * The web SDK exposes no accessor for it, so this reads the serialized summary
138
+ * (layout above) and checks the block commitment next to it against
139
+ * `blockCommitment()`, so a layout this client does not know is refused rather
140
+ * than read at the wrong offset.
141
+ *
142
+ * @throws TransactionSummaryLayoutError when the summary is not version 1, is
143
+ * too short to hold the tail, or its tail does not hold its block commitment.
209
144
  */
210
- export function chainAnchorBlockNum(anchorBase64) {
211
- const anchor = chainAnchorFromBase64(anchorBase64);
145
+ export function summaryBoundBlockNum(summary) {
146
+ const bytes = summary.serialize();
147
+ const blockCommitment = summary.blockCommitment();
212
148
  try {
213
- return anchor.blockNum();
149
+ return readBoundBlockNum(bytes, blockCommitment.serialize());
214
150
  }
215
151
  finally {
216
- anchor.free();
152
+ blockCommitment.free();
153
+ }
154
+ }
155
+ function readBoundBlockNum(bytes, blockCommitment) {
156
+ if (bytes.length < 1 + SUMMARY_TAIL_BYTES) {
157
+ throw new TransactionSummaryLayoutError(`${bytes.length} bytes is shorter than the version byte and the ${SUMMARY_TAIL_BYTES}-byte tail`);
158
+ }
159
+ if (bytes[0] !== SUPPORTED_SUMMARY_VERSION) {
160
+ throw new TransactionSummaryLayoutError(`version ${bytes[0]}, but only version ${SUPPORTED_SUMMARY_VERSION} is supported`);
217
161
  }
162
+ const blockNumberOffset = bytes.length - SUMMARY_TAIL_BYTES;
163
+ const commitmentOffset = blockNumberOffset + BLOCK_NUMBER_BYTES;
164
+ const tailCommitment = bytes.subarray(commitmentOffset, commitmentOffset + BLOCK_COMMITMENT_BYTES);
165
+ if (!bytesEqual(tailCommitment, blockCommitment)) {
166
+ throw new TransactionSummaryLayoutError('the bytes after the block number are not the summary block commitment');
167
+ }
168
+ return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength).getUint32(blockNumberOffset, true);
169
+ }
170
+ function bytesEqual(a, b) {
171
+ return a.length === b.length && a.every((byte, index) => byte === b[index]);
218
172
  }
219
173
  /**
220
174
  * Reads the salt a multisig transaction summary binds.
@@ -1 +1 @@
1
- {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/transaction/summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/transaction/summary.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export { MAX_APPROVAL_EXPIRATION_DELTA, buildMultisigRequest, multisigRequestBuilder, requestBoundBlockNum, requestSaltHex, } from './transaction/authArgs.js';
2
2
  export { buildConsumeNotesTransactionRequest, buildConsumeNotesTransactionRequestFromNotes, } from './transaction/consumeNotes.js';
3
- export { ChainBehindBoundBlockError, chainAnchorBlockNum, chainAnchorFromBase64, chainAnchorToBase64, executeForSummary, executeForSummaryAt, executeForSummaryAtTip, prepareTipExecution, isStaleChainError, requireDeclaredBoundBlock, syncToBoundBlock, summaryApprovalExpirationBlockNum, summarySalt, SummaryAnchorMismatchError, } from './transaction/summary.js';
3
+ export { ChainBehindBoundBlockError, executeForSummaryAtTip, prepareTipExecution, isStaleChainError, requireDeclaredBoundBlock, syncToBoundBlock, summaryApprovalExpirationBlockNum, summaryBoundBlockNum, summarySalt, } from './transaction/summary.js';
4
4
  export { buildP2idNoteFromMetadata, buildP2idTransactionRequest, parseP2idNoteType, p2idNoteTypeToMetadata, type P2idTransactionOptions, type P2ideHeightOptions, } from './transaction/p2id.js';
5
5
  export { buildUpdateGuardianTransactionRequest, } from './transaction/updateGuardian.js';
6
6
  export { buildUpdateProcedureThresholdTransactionRequest, } from './transaction/updateProcedureThreshold.js';
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mCAAmC,EACnC,4CAA4C,GAC7C,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,iCAAiC,EACjC,WAAW,EACX,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qCAAqC,GACtC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,+CAA+C,GAChD,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,oCAAoC,GACrC,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mCAAmC,EACnC,4CAA4C,GAC7C,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,iCAAiC,EACjC,oBAAoB,EACpB,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qCAAqC,GACtC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,+CAA+C,GAChD,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,oCAAoC,GACrC,MAAM,gCAAgC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export { MAX_APPROVAL_EXPIRATION_DELTA, buildMultisigRequest, multisigRequestBuilder, requestBoundBlockNum, requestSaltHex, } from './transaction/authArgs.js';
2
2
  export { buildConsumeNotesTransactionRequest, buildConsumeNotesTransactionRequestFromNotes, } from './transaction/consumeNotes.js';
3
- export { ChainBehindBoundBlockError, chainAnchorBlockNum, chainAnchorFromBase64, chainAnchorToBase64, executeForSummary, executeForSummaryAt, executeForSummaryAtTip, prepareTipExecution, isStaleChainError, requireDeclaredBoundBlock, syncToBoundBlock, summaryApprovalExpirationBlockNum, summarySalt, SummaryAnchorMismatchError, } from './transaction/summary.js';
3
+ export { ChainBehindBoundBlockError, executeForSummaryAtTip, prepareTipExecution, isStaleChainError, requireDeclaredBoundBlock, syncToBoundBlock, summaryApprovalExpirationBlockNum, summaryBoundBlockNum, summarySalt, } from './transaction/summary.js';
4
4
  export { buildP2idNoteFromMetadata, buildP2idTransactionRequest, parseP2idNoteType, p2idNoteTypeToMetadata, } from './transaction/p2id.js';
5
5
  export { buildUpdateGuardianTransactionRequest, } from './transaction/updateGuardian.js';
6
6
  export { buildUpdateProcedureThresholdTransactionRequest, } from './transaction/updateProcedureThreshold.js';
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mCAAmC,EACnC,4CAA4C,GAC7C,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,iCAAiC,EACjC,WAAW,EACX,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qCAAqC,GACtC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,+CAA+C,GAChD,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,oCAAoC,GACrC,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mCAAmC,EACnC,4CAA4C,GAC7C,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,iCAAiC,EACjC,oBAAoB,EACpB,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qCAAqC,GACtC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,+CAA+C,GAChD,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,oCAAoC,GACrC,MAAM,gCAAgC,CAAC"}