@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,5 +1,5 @@
1
1
  import { FeltArray, Rpo256, Word } from '@miden-sdk/miden-sdk';
2
- import { feltFromU64Reduced } from './utils/felt.js';
2
+ import { domainTagWord, feltFromU64Reduced } from './utils/felt.js';
3
3
  /**
4
4
  * Lookup-bound message format used to sign requests against the Guardian
5
5
  * `/state/lookup` endpoint. MUST produce byte-identical digests to
@@ -8,31 +8,13 @@ import { feltFromU64Reduced } from './utils/felt.js';
8
8
  */
9
9
  const DOMAIN_TAG_BYTES = new TextEncoder().encode('guardian.lookup.v1');
10
10
  let cachedDomainTag = null;
11
- /**
12
- * Convert a byte array to a sequence of Goldilocks-field felts using the same
13
- * 8-byte little-endian chunking convention as
14
- * `guardian_shared::auth_request_payload::AuthRequestPayload::from_bytes`. The
15
- * final chunk is zero-padded if `bytes.length` is not a multiple of 8.
16
- */
17
- function bytesToFelts(bytes) {
18
- const felts = [];
19
- for (let offset = 0; offset < bytes.length; offset += 8) {
20
- let value = 0n;
21
- for (let i = 0; i < 8; i += 1) {
22
- const byte = offset + i < bytes.length ? bytes[offset + i] : 0;
23
- value |= BigInt(byte) << BigInt(8 * i);
24
- }
25
- felts.push(feltFromU64Reduced(value));
26
- }
27
- return felts;
28
- }
29
11
  /**
30
12
  * The 4-felt RPO domain tag prepended to every lookup digest, computed once
31
13
  * from `DOMAIN_TAG_BYTES`. Cached on first call.
32
14
  */
33
15
  function lookupDomainTag() {
34
16
  if (cachedDomainTag === null) {
35
- cachedDomainTag = Rpo256.hashElements(new FeltArray(bytesToFelts(DOMAIN_TAG_BYTES)));
17
+ cachedDomainTag = domainTagWord(DOMAIN_TAG_BYTES);
36
18
  }
37
19
  return cachedDomainTag;
38
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lookupAuth.js","sourceRoot":"","sources":["../src/lookupAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;GAKG;AAEH,MAAM,gBAAgB,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAExE,IAAI,eAAe,GAAgB,IAAI,CAAC;AAExC;;;;;GAKG;AACH,SAAS,YAAY,CAAC,KAAiB;IACrC,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe;IACtB,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAA4B,EAAE,gBAAwB;IACrF,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC;IACxC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC;QAC5B,GAAG,CAAC,CAAC,CAAC;QACN,GAAG,CAAC,CAAC,CAAC;QACN,GAAG,CAAC,CAAC,CAAC;QACN,GAAG,CAAC,CAAC,CAAC;QACN,aAAa;QACb,EAAE,CAAC,CAAC,CAAC;QACL,EAAE,CAAC,CAAC,CAAC;QACL,EAAE,CAAC,CAAC,CAAC;QACL,EAAE,CAAC,CAAC,CAAC;KACN,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oCAAoC;IAClD,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"lookupAuth.js","sourceRoot":"","sources":["../src/lookupAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;;;;GAKG;AAEH,MAAM,gBAAgB,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAExE,IAAI,eAAe,GAAgB,IAAI,CAAC;AAExC;;;GAGG;AACH,SAAS,eAAe;IACtB,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,eAAe,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAA4B,EAAE,gBAAwB;IACrF,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC;IACxC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC;QAC5B,GAAG,CAAC,CAAC,CAAC;QACN,GAAG,CAAC,CAAC,CAAC;QACN,GAAG,CAAC,CAAC,CAAC;QACN,GAAG,CAAC,CAAC,CAAC;QACN,aAAa;QACb,EAAE,CAAC,CAAC,CAAC;QACL,EAAE,CAAC,CAAC,CAAC;QACL,EAAE,CAAC,CAAC,CAAC;QACL,EAAE,CAAC,CAAC,CAAC;KACN,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oCAAoC;IAClD,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /** Stable error identifiers for auth-arg recovery failures. */
2
- export type AuthArgErrorCode = 'proposal_salt_malformed' | 'multisig_auth_args_missing' | 'bound_block_not_declared';
2
+ export type AuthArgErrorCode = 'proposal_salt_malformed' | 'multisig_auth_args_missing' | 'bound_block_not_declared' | 'transaction_summary_layout_unsupported' | 'bound_block_mismatch';
3
3
  /**
4
4
  * A proposal's recorded salt is not a readable 32-byte word, so no rebuild can
5
5
  * use it.
@@ -53,4 +53,30 @@ export declare class BoundBlockNotDeclaredError extends Error {
53
53
  readonly boundBlockNum: number;
54
54
  constructor(boundBlockNum: number);
55
55
  }
56
+ /**
57
+ * A serialized transaction summary does not have the layout this client reads
58
+ * its bound block from: the version 1 encoding of protocol 0.17. Raised instead
59
+ * of reading a number from the wrong offset, so a protocol upgrade that moves
60
+ * the field fails loudly.
61
+ */
62
+ export declare class TransactionSummaryLayoutError extends Error {
63
+ readonly code: AuthArgErrorCode;
64
+ constructor(reason: string);
65
+ }
66
+ /**
67
+ * A proposal's `boundBlockNum` names a block other than the one its signed
68
+ * summary binds. The value is served unsigned, so one that disagrees is refused
69
+ * by name for every proposal type, as the Rust SDK does.
70
+ */
71
+ export declare class BoundBlockMismatchError extends Error {
72
+ readonly code: AuthArgErrorCode;
73
+ readonly proposalId: string;
74
+ readonly declaredBoundBlockNum: number;
75
+ readonly boundBlockNum: number;
76
+ constructor(details: {
77
+ proposalId: string;
78
+ declaredBoundBlockNum: number;
79
+ boundBlockNum: number;
80
+ });
81
+ }
56
82
  //# sourceMappingURL=authArgErrors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authArgErrors.d.ts","sourceRoot":"","sources":["../../src/multisig/authArgErrors.ts"],"names":[],"mappings":"AAIA,+DAA+D;AAC/D,MAAM,MAAM,gBAAgB,GACxB,yBAAyB,GACzB,4BAA4B,GAC5B,0BAA0B,CAAC;AA0C/B;;;;;;;;GAQG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAA6B;IAC5D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAEd,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAc/F;AAED;;;;;;;GAOG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAgC;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,SAAS,EAAE,MAAM;CAS9B;AAED;;;;;;;;GAQG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAA8B;IAC7D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,aAAa,EAAE,MAAM;CASlC"}
1
+ {"version":3,"file":"authArgErrors.d.ts","sourceRoot":"","sources":["../../src/multisig/authArgErrors.ts"],"names":[],"mappings":"AAIA,+DAA+D;AAC/D,MAAM,MAAM,gBAAgB,GACxB,yBAAyB,GACzB,4BAA4B,GAC5B,0BAA0B,GAC1B,wCAAwC,GACxC,sBAAsB,CAAC;AA0C3B;;;;;;;;GAQG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAA6B;IAC5D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAEd,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAc/F;AAED;;;;;;;GAOG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAgC;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,SAAS,EAAE,MAAM;CAS9B;AAED;;;;;;;;GAQG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAA8B;IAC7D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,aAAa,EAAE,MAAM;CASlC;AAED;;;;;GAKG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAA4C;gBAE/D,MAAM,EAAE,MAAM;CAI3B;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAA0B;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,qBAAqB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;CAWlG"}
@@ -108,4 +108,37 @@ export class BoundBlockNotDeclaredError extends Error {
108
108
  this.boundBlockNum = boundBlockNum;
109
109
  }
110
110
  }
111
+ /**
112
+ * A serialized transaction summary does not have the layout this client reads
113
+ * its bound block from: the version 1 encoding of protocol 0.17. Raised instead
114
+ * of reading a number from the wrong offset, so a protocol upgrade that moves
115
+ * the field fails loudly.
116
+ */
117
+ export class TransactionSummaryLayoutError extends Error {
118
+ code = 'transaction_summary_layout_unsupported';
119
+ constructor(reason) {
120
+ super(`The transaction summary does not have the layout this client reads: ${reason}`);
121
+ this.name = 'TransactionSummaryLayoutError';
122
+ }
123
+ }
124
+ /**
125
+ * A proposal's `boundBlockNum` names a block other than the one its signed
126
+ * summary binds. The value is served unsigned, so one that disagrees is refused
127
+ * by name for every proposal type, as the Rust SDK does.
128
+ */
129
+ export class BoundBlockMismatchError extends Error {
130
+ code = 'bound_block_mismatch';
131
+ proposalId;
132
+ declaredBoundBlockNum;
133
+ boundBlockNum;
134
+ constructor(details) {
135
+ super(`Proposal ${quoteUntrusted(details.proposalId)} declares boundBlockNum ` +
136
+ `${details.declaredBoundBlockNum}, but its signed transaction summary binds block ` +
137
+ `${details.boundBlockNum}`);
138
+ this.name = 'BoundBlockMismatchError';
139
+ this.proposalId = details.proposalId;
140
+ this.declaredBoundBlockNum = details.declaredBoundBlockNum;
141
+ this.boundBlockNum = details.boundBlockNum;
142
+ }
143
+ }
111
144
  //# sourceMappingURL=authArgErrors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authArgErrors.js","sourceRoot":"","sources":["../../src/multisig/authArgErrors.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,2FAA2F;AAC3F,4EAA4E;AAQ5E,kEAAkE;AAClE,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,cAAc,CAAC,KAAc;IACpC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IACzE,OAAO,QAAQ,CAAC,MAAM,GAAG,gBAAgB;QACvC,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,QAAQ,QAAQ,CAAC,MAAM,cAAc;QACxF,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,kBAAkB,OAAO,KAAK,GAAG,CAAC;IAC3C,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAC1C,IAAI,GAAqB,yBAAyB,CAAC;IACnD,UAAU,CAAS;IAC5B;;;;;OAKG;IACM,OAAO,CAAU;IAE1B,YAAY,OAAkF;QAC5F,KAAK,CACH,YAAY,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,iCAAiC;YAC7E,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAC3E,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CACnE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE;YACrC,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IAC5C,IAAI,GAAqB,4BAA4B,CAAC;IACtD,SAAS,CAAS;IAE3B,YAAY,SAAiB;QAC3B,KAAK,CACH,WAAW,cAAc,CAAC,SAAS,CAAC,mDAAmD;YACrF,iFAAiF;YACjF,kEAAkE,CACrE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAC1C,IAAI,GAAqB,0BAA0B,CAAC;IACpD,aAAa,CAAS;IAE/B,YAAY,aAAqB;QAC/B,KAAK,CACH,uCAAuC,aAAa,sCAAsC;YACxF,2EAA2E;YAC3E,8DAA8D,aAAa,IAAI,CAClF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"authArgErrors.js","sourceRoot":"","sources":["../../src/multisig/authArgErrors.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,15 @@ export interface AccountStateVerificationResult {
55
55
  * positional `undefined` holes to reach a later option.
56
56
  */
57
57
  export interface CreateProposalOptions {
58
- /** Proposal nonce; defaults to `Date.now()`. */
58
+ /**
59
+ * Proposal nonce: the account nonce the executed transaction will have.
60
+ * Defaults to the store account's nonce plus one, as the Rust SDK labels
61
+ * proposals. GUARDIAN keys the proposal and its delta by it, orders
62
+ * history and the candidate queue by it, and when it queues chained
63
+ * candidates (issue #17) records a proposal only at the queue tail's
64
+ * nonce plus one. Pass it only to label from another record of the
65
+ * account's nonce. Through 0.18.0 the default was `Date.now()`.
66
+ */
59
67
  nonce?: number;
60
68
  /**
61
69
  * Blocks after the block the proposal binds by which the transaction must be
@@ -127,6 +135,34 @@ export declare class Multisig {
127
135
  */
128
136
  getStoreAccount(): Promise<Account>;
129
137
  private readStoreAccount;
138
+ /**
139
+ * The nonce a proposal is labelled with: `options.nonce`, or the store
140
+ * account's nonce plus one, the nonce the executed transaction will
141
+ * have. That is what the Rust SDK labels with, what the stale-proposal
142
+ * filters compare with the account nonce, and what GUARDIAN's candidate
143
+ * queue requires of a proposal built on its tail (issue #17). Through
144
+ * 0.18.0 the default was `Date.now()`, a key no admission rule
145
+ * could relate to the account's state. The label is read after any sync
146
+ * the method performs (note authentication, the offline switch's node
147
+ * sync), on the account the summary is then built from; a caller that
148
+ * has just read that account passes it to save the store read.
149
+ */
150
+ private resolveProposalNonce;
151
+ /**
152
+ * Refuses to execute a proposal GUARDIAN pinned to a state other than the
153
+ * one this client holds. The transaction executes on this client's own
154
+ * record of the account while the execution push names the pinned base,
155
+ * so the two have to be the same state. A proposal pinned to a state the
156
+ * account has since left was made for that state, and its transaction
157
+ * would otherwise run again on the current one. One pinned to a state this
158
+ * client does not hold (a server that queues chained candidates pins a
159
+ * proposal to the newest queued candidate's post-state) would be admitted
160
+ * behind that candidate while the transaction itself lands on the older
161
+ * state, leaving GUARDIAN behind the chain.
162
+ */
163
+ private assertExecutesOnPinnedBase;
164
+ /** The commitment of this client's record of the account. */
165
+ private localAccountCommitment;
130
166
  /**
131
167
  * Read the current ordered signer public-key commitments from account
132
168
  * storage (store-backed state, falling back to the snapshot).
@@ -180,6 +216,11 @@ export declare class Multisig {
180
216
  * the caller's approval expiration, and the signer's scheme.
181
217
  */
182
218
  private proposalRequestOptions;
219
+ /**
220
+ * Derives a new proposal's summary at the chain tip, with the block it binds
221
+ * for the proposal's `boundBlockNum`.
222
+ */
223
+ private deriveProposalSummary;
183
224
  private warnOnOverrideDilution;
184
225
  /**
185
226
  * Update the GUARDIAN client used by this Multisig instance.
@@ -310,10 +351,11 @@ export declare class Multisig {
310
351
  * without applying its listing.
311
352
  *
312
353
  * Nonce-based staleness hiding is the caller's job (see the examples'
313
- * `filterVisibleProposals`): callers of this shared client disagree on
314
- * whether a proposal's `nonce` is the pre-execution or the next account
315
- * nonce, so the Rust client's `proposal.nonce <= account.nonce()` filter
316
- * cannot be applied here. This is an intentional TS/Rust surface
354
+ * `filterVisibleProposals`). This SDK labels a proposal with the account's
355
+ * next nonce by default, as the Rust SDK does, but a caller may label with
356
+ * its own `nonce` (and proposals made through 0.18.0 carry a
357
+ * timestamp), so the Rust client's `proposal.nonce <= account.nonce()`
358
+ * filter is not applied here. This is an intentional TS/Rust surface
317
359
  * difference.
318
360
  */
319
361
  syncProposals(): Promise<Proposal[]>;
@@ -641,7 +683,10 @@ export declare class Multisig {
641
683
  * store's sync height, which a node prunes about 50 blocks later.
642
684
  */
643
685
  private syncChain;
644
- /** {@link syncToBoundBlock} with this client's RPC retry policy. */
686
+ /**
687
+ * {@link syncToBoundBlock} with this client's RPC retry policy. A listing
688
+ * passes its own `syncChain` so it syncs at most once for all its proposals.
689
+ */
645
690
  private syncToBoundBlock;
646
691
  /**
647
692
  * Create a proposal from a producer-built transaction the SDK does not model.
@@ -670,6 +715,19 @@ export declare class Multisig {
670
715
  * executes at the chain tip.
671
716
  */
672
717
  private prepareProposalExecution;
718
+ /**
719
+ * A switch_guardian proposal as the pre-switch GUARDIAN serves it, so the
720
+ * state it pinned the proposal to is checked as for every other type, or
721
+ * `undefined` when that GUARDIAN does not serve it. Not holding the
722
+ * proposal (one made offline) is the designed offline case. Any other
723
+ * failure, whether the GUARDIAN is unreachable or answers with an error
724
+ * (an authentication failure, a paused or released account, rate limiting,
725
+ * a server fault), is warned about. In every one of those cases the switch
726
+ * then executes from its cached summary without the check: rotating away
727
+ * from a GUARDIAN that is down or refusing service is what the switch
728
+ * exists for, so that GUARDIAN cannot be what blocks it.
729
+ */
730
+ private servedSwitchProposal;
673
731
  /**
674
732
  * Export a proposal for offline signing
675
733
  */
@@ -717,12 +775,20 @@ export declare class Multisig {
717
775
  */
718
776
  private requireProposalSaltHex;
719
777
  /**
720
- * Decodes a proposal's chain anchor, which names the block its signed summary
721
- * binds. Throws when absent: every proposal carries one, so a proposal
722
- * without it is malformed and is neither verified nor executed. The caller
723
- * owns the returned anchor and must `free()` it once done.
778
+ * The block a proposal's signed summary binds, read from the summary as the
779
+ * Rust SDK does.
780
+ *
781
+ * GUARDIAN serves `boundBlockNum` unsigned and the response is cast, not
782
+ * parsed. An absent value, from a proposal a 0.18.0 client made, is accepted;
783
+ * a legacy `chainAnchor` is not read. A present value has to be a block
784
+ * number equal to the summary's, for every proposal type, so a wrong one is
785
+ * refused by name before anything executes or is signed.
786
+ *
787
+ * @throws BoundBlockMismatchError when the served value names another block.
724
788
  */
725
- private requireProposalAnchor;
789
+ private requireProposalBoundBlockNum;
790
+ /** The served `boundBlockNum`, `undefined` when absent; throws when malformed. */
791
+ private servedBoundBlockNum;
726
792
  /**
727
793
  * An expired approval aborts in the auth procedure only at execution.
728
794
  * The summary carries the deadline, so callers check it against the sync
@@ -1 +1 @@
1
- {"version":3,"file":"multisig.d.ts","sourceRoot":"","sources":["../src/multisig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multisig.d.ts","sourceRoot":"","sources":["../src/multisig.ts"],"names":[],"mappings":"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"}