@openzeppelin/miden-multisig-client 0.18.0-rc.1 → 0.18.0-rc.3

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 (106) hide show
  1. package/README.md +71 -17
  2. package/dist/account/builder.d.ts +3 -4
  3. package/dist/account/builder.d.ts.map +1 -1
  4. package/dist/account/builder.js +6 -13
  5. package/dist/account/builder.js.map +1 -1
  6. package/dist/client.d.ts +11 -4
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +8 -3
  9. package/dist/client.js.map +1 -1
  10. package/dist/config.d.ts +3 -0
  11. package/dist/config.d.ts.map +1 -0
  12. package/dist/config.js +14 -0
  13. package/dist/config.js.map +1 -0
  14. package/dist/index.d.ts +5 -5
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +3 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/multisig/authArgErrors.d.ts +15 -1
  19. package/dist/multisig/authArgErrors.d.ts.map +1 -1
  20. package/dist/multisig/authArgErrors.js +20 -0
  21. package/dist/multisig/authArgErrors.js.map +1 -1
  22. package/dist/multisig.d.ts +76 -25
  23. package/dist/multisig.d.ts.map +1 -1
  24. package/dist/multisig.js +196 -156
  25. package/dist/multisig.js.map +1 -1
  26. package/dist/procedures.d.ts +5 -5
  27. package/dist/procedures.js +5 -5
  28. package/dist/prover/workflow.d.ts +7 -3
  29. package/dist/prover/workflow.d.ts.map +1 -1
  30. package/dist/prover/workflow.js +7 -5
  31. package/dist/prover/workflow.js.map +1 -1
  32. package/dist/recovery/proposalNoteImport.d.ts +5 -6
  33. package/dist/recovery/proposalNoteImport.d.ts.map +1 -1
  34. package/dist/recovery/proposalNoteImport.js +12 -13
  35. package/dist/recovery/proposalNoteImport.js.map +1 -1
  36. package/dist/recovery/publicNoteBackfill.d.ts +2 -3
  37. package/dist/recovery/publicNoteBackfill.d.ts.map +1 -1
  38. package/dist/recovery/publicNoteBackfill.js +4 -5
  39. package/dist/recovery/publicNoteBackfill.js.map +1 -1
  40. package/dist/transaction/authArgs.d.ts +2 -3
  41. package/dist/transaction/authArgs.d.ts.map +1 -1
  42. package/dist/transaction/authArgs.js +7 -14
  43. package/dist/transaction/authArgs.js.map +1 -1
  44. package/dist/transaction/consumeNotes.d.ts +4 -12
  45. package/dist/transaction/consumeNotes.d.ts.map +1 -1
  46. package/dist/transaction/consumeNotes.js +10 -4
  47. package/dist/transaction/consumeNotes.js.map +1 -1
  48. package/dist/transaction/noteAuthentication.d.ts +2 -3
  49. package/dist/transaction/noteAuthentication.d.ts.map +1 -1
  50. package/dist/transaction/noteAuthentication.js +11 -11
  51. package/dist/transaction/noteAuthentication.js.map +1 -1
  52. package/dist/transaction/options.d.ts +0 -7
  53. package/dist/transaction/options.d.ts.map +1 -1
  54. package/dist/transaction/p2id.d.ts +2 -3
  55. package/dist/transaction/p2id.d.ts.map +1 -1
  56. package/dist/transaction/p2id.js.map +1 -1
  57. package/dist/transaction/summary.d.ts +94 -22
  58. package/dist/transaction/summary.d.ts.map +1 -1
  59. package/dist/transaction/summary.js +146 -12
  60. package/dist/transaction/summary.js.map +1 -1
  61. package/dist/transaction/updateGuardian.d.ts +3 -7
  62. package/dist/transaction/updateGuardian.d.ts.map +1 -1
  63. package/dist/transaction/updateGuardian.js +3 -4
  64. package/dist/transaction/updateGuardian.js.map +1 -1
  65. package/dist/transaction/updateProcedureThreshold.d.ts +3 -8
  66. package/dist/transaction/updateProcedureThreshold.d.ts.map +1 -1
  67. package/dist/transaction/updateProcedureThreshold.js +3 -4
  68. package/dist/transaction/updateProcedureThreshold.js.map +1 -1
  69. package/dist/transaction/updateSigners.d.ts +3 -8
  70. package/dist/transaction/updateSigners.d.ts.map +1 -1
  71. package/dist/transaction/updateSigners.js +3 -4
  72. package/dist/transaction/updateSigners.js.map +1 -1
  73. package/dist/transaction.d.ts +1 -1
  74. package/dist/transaction.d.ts.map +1 -1
  75. package/dist/transaction.js +1 -1
  76. package/dist/transaction.js.map +1 -1
  77. package/dist/types/proposal.d.ts +9 -8
  78. package/dist/types/proposal.d.ts.map +1 -1
  79. package/dist/types/proposal.js.map +1 -1
  80. package/package.json +4 -4
  81. package/src/account/builder.ts +6 -13
  82. package/src/client.ts +13 -10
  83. package/src/config.ts +14 -0
  84. package/src/index.ts +5 -3
  85. package/src/multisig/authArgErrors.ts +28 -1
  86. package/src/multisig.ts +238 -194
  87. package/src/procedures.ts +5 -5
  88. package/src/prover/workflow.ts +7 -10
  89. package/src/recovery/proposalNoteImport.ts +13 -15
  90. package/src/recovery/publicNoteBackfill.ts +6 -6
  91. package/src/transaction/authArgs.ts +15 -21
  92. package/src/transaction/consumeNotes.ts +6 -34
  93. package/src/transaction/noteAuthentication.ts +18 -13
  94. package/src/transaction/options.ts +0 -9
  95. package/src/transaction/p2id.ts +2 -3
  96. package/src/transaction/summary.ts +160 -57
  97. package/src/transaction/updateGuardian.ts +5 -23
  98. package/src/transaction/updateProcedureThreshold.ts +5 -25
  99. package/src/transaction/updateSigners.ts +5 -22
  100. package/src/transaction.ts +6 -0
  101. package/src/types/proposal.ts +9 -8
  102. package/dist/raw-client.d.ts +0 -14
  103. package/dist/raw-client.d.ts.map +0 -1
  104. package/dist/raw-client.js +0 -60
  105. package/dist/raw-client.js.map +0 -1
  106. package/src/raw-client.ts +0 -89
@@ -30,11 +30,11 @@ interface BaseProposalMetadata {
30
30
  saltHex?: string;
31
31
  requiredSignatures?: number;
32
32
  /**
33
- * Base64-serialized Miden `ChainAnchor` pinning the reference block the
34
- * proposal's transaction summary was built at. Required to verify or
35
- * execute the proposal: since protocol 0.16 the signed summary binds the
36
- * reference block commitment, so it only reproduces when re-executed at
37
- * that block.
33
+ * Base64-serialized Miden `ChainAnchor` at the block the proposal's
34
+ * transaction summary binds, the proposer's sync height when it built the
35
+ * request. Required, and checked against the summary's block commitment: a
36
+ * rebuild binds the block it names. The proposal executes at the chain tip,
37
+ * not at the anchor; 0.18.0-rc.1 clients still re-execute at it.
38
38
  */
39
39
  chainAnchor?: string;
40
40
  }
@@ -125,9 +125,10 @@ export interface Proposal {
125
125
  /**
126
126
  * Outcome of checking a proposal's metadata against its signed summary.
127
127
  * `failed.retryable` is true when the failure came from a transient node or
128
- * RPC error, so the same proposal may verify on a later sync; false when the
129
- * proposal itself cannot be reproduced (tampered metadata, an anchor block the
130
- * node has pruned) and it has to be re-proposed.
128
+ * RPC error, or from chain state this client had not caught up with, so the
129
+ * same proposal may verify on a later sync; false when the proposal itself
130
+ * cannot be reproduced (tampered metadata, for example) and it has to be
131
+ * re-proposed.
131
132
  */
132
133
  export type ProposalVerification = {
133
134
  status: 'unchecked';
@@ -1 +1 @@
1
- {"version":3,"file":"proposal.d.ts","sourceRoot":"","sources":["../../src/types/proposal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proposal.d.ts","sourceRoot":"","sources":["../../src/types/proposal.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"proposal.js","sourceRoot":"","sources":["../../src/types/proposal.ts"],"names":[],"mappings":"AAqEA,gFAAgF;AAChF,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAU,CAAC;AAE5D,iEAAiE;AACjE,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,GAAG,IAAI,CAAC;AAW3D,MAAM,UAAU,gBAAgB,CAAC,EAAgC;IAC/D,OAAO,EAAE,CAAC,eAAe,KAAK,iCAAiC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAgC;IAC/D,OAAO,EAAE,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,CAAC,eAAe,KAAK,CAAC,CAAC;AACtE,CAAC;AAKD,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAyC,EACzC,KAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,sBAAsB,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CACb,eAAe,KAAK,KAAK,KAAK,wCAAwC,sBAAsB,EAAE,CAC/F,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAgED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,OAAO,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,UAAU,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"proposal.js","sourceRoot":"","sources":["../../src/types/proposal.ts"],"names":[],"mappings":"AAqEA,gFAAgF;AAChF,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAU,CAAC;AAE5D,iEAAiE;AACjE,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,GAAG,IAAI,CAAC;AAW3D,MAAM,UAAU,gBAAgB,CAAC,EAAgC;IAC/D,OAAO,EAAE,CAAC,eAAe,KAAK,iCAAiC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAgC;IAC/D,OAAO,EAAE,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,CAAC,eAAe,KAAK,CAAC,CAAC;AACtE,CAAC;AAKD,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAyC,EACzC,KAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,sBAAsB,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CACb,eAAe,KAAK,KAAK,KAAK,wCAAwC,sBAAsB,EAAE,CAC/F,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAiED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,OAAO,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,UAAU,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC;AACpF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openzeppelin/miden-multisig-client",
3
- "version": "0.18.0-rc.1",
3
+ "version": "0.18.0-rc.3",
4
4
  "description": "TypeScript SDK for Miden multisig accounts with GUARDIAN integration",
5
5
  "repository": {
6
6
  "type": "git",
@@ -42,13 +42,13 @@
42
42
  "test:qualification": "vitest run --config vitest.qualification.config.ts"
43
43
  },
44
44
  "dependencies": {
45
- "@miden-sdk/miden-sdk": "0.17.0-rc.3",
45
+ "@miden-sdk/miden-sdk": "0.17.0-rc.5",
46
46
  "@noble/curves": "^1.9.7",
47
47
  "@noble/hashes": "^2.0.1",
48
- "@openzeppelin/guardian-client": "^0.18.0-rc.1"
48
+ "@openzeppelin/guardian-client": "^0.18.0-rc.3"
49
49
  },
50
50
  "devDependencies": {
51
- "@openzeppelin/guardian-operator-client": "^0.18.0-rc.1",
51
+ "@openzeppelin/guardian-operator-client": "^0.18.0-rc.3",
52
52
  "@playwright/test": "^1.60.0",
53
53
  "@types/node": "^24.13.5",
54
54
  "fake-indexeddb": "^6.2.5",
@@ -15,7 +15,6 @@ import {
15
15
  type MidenClient,
16
16
  } from "@miden-sdk/miden-sdk";
17
17
  import { getProcedureRoot } from "../procedures.js";
18
- import { isPublicMidenClient, type RawClientSource } from "../raw-client.js";
19
18
  import { MAX_SIGNERS } from "./layout.js";
20
19
  import type { MultisigConfig, CreateAccountResult } from "../types.js";
21
20
  import { normalizeSignerCommitment } from "../utils/signature.js";
@@ -84,15 +83,13 @@ function buildGuardedMultisigComponent(
84
83
  /**
85
84
  * Creates a multisig account with GUARDIAN authentication.
86
85
  *
87
- * @param client - Initialized MidenClient, or the WASM client behind one
86
+ * @param client - Initialized MidenClient
88
87
  * @param config - Multisig configuration
89
- * @param midenRpcEndpoint - RPC endpoint for the client's network
90
88
  * @returns The created account and seed
91
89
  */
92
90
  export async function createMultisigAccount(
93
- client: RawClientSource,
91
+ client: MidenClient,
94
92
  config: MultisigConfig,
95
- midenRpcEndpoint: string,
96
93
  ): Promise<CreateAccountResult> {
97
94
  validateMultisigConfig(config);
98
95
  const authComponent = buildGuardedMultisigComponent(config);
@@ -117,14 +114,10 @@ export async function createMultisigAccount(
117
114
 
118
115
  const result = accountBuilder.buildWithoutSchemaCommitment();
119
116
 
120
- if (isPublicMidenClient(client)) {
121
- await client.accounts.insert({
122
- account: result.account,
123
- overwrite: false,
124
- });
125
- } else {
126
- await client.newAccount(result.account, false);
127
- }
117
+ await client.accounts.insert({
118
+ account: result.account,
119
+ overwrite: false,
120
+ });
128
121
 
129
122
  return {
130
123
  account: result.account,
package/src/client.ts CHANGED
@@ -11,7 +11,7 @@ import type { StateObject } from '@openzeppelin/guardian-client';
11
11
  import { Multisig } from './multisig.js';
12
12
  import { createMultisigAccount } from './account/index.js';
13
13
  import { AccountInspector, assertCompleteDetectedConfig } from './inspector.js';
14
- import { getRawMidenClient, requireConfigValue, requireMidenRpcEndpoint } from './raw-client.js';
14
+ import { requireConfigValue, requireMidenRpcEndpoint } from './config.js';
15
15
  import type { MultisigConfig, Signer } from './types.js';
16
16
  import { isSafeToAdoptGuardianState, readOnChainCommitment } from './state/adopt.js';
17
17
  import { normalizeHexWord } from './utils/encoding.js';
@@ -48,9 +48,11 @@ export interface MultisigClientConfig {
48
48
  /** GUARDIAN server endpoint. Required — there is no default. */
49
49
  guardianEndpoint: string;
50
50
  /**
51
- * Miden node RPC endpoint used for proposal execution and state
52
- * commitment verification. Required — must point at the same network as
53
- * the injected `MidenClient`; there is no default.
51
+ * Miden node RPC endpoint the SDK reads directly: on-chain commitments for
52
+ * state verification, and note inclusion proofs for consume-notes proposals
53
+ * and note recovery. Everything else, execution included, goes through the
54
+ * injected `MidenClient`. Required — must point at the same network as the
55
+ * injected `MidenClient`; there is no default.
54
56
  */
55
57
  midenRpcEndpoint: string;
56
58
  /** Multisig-owned remote prover override and proof retry policy. */
@@ -72,13 +74,18 @@ export interface RecoveredAccount {
72
74
  /**
73
75
  * Client for creating and loading multisig accounts.
74
76
  *
77
+ * In a browser, create the injected `MidenClient` with `useWorker: false` until
78
+ * https://github.com/0xMiden/web-sdk/issues/441 is fixed: a worker-mode client
79
+ * applies transactions in a Web Worker that never sees the account state this
80
+ * SDK writes.
81
+ *
75
82
  * @example
76
83
  * ```typescript
77
84
  * import { MultisigClient, FalconSigner } from '@openzeppelin/miden-multisig-client';
78
85
  * import { MidenClient, AuthSecretKey } from '@miden-sdk/miden-sdk';
79
86
  *
80
87
  * // Initialize
81
- * const midenClient = await MidenClient.createDevnet();
88
+ * const midenClient = await MidenClient.createDevnet({ useWorker: false });
82
89
  * const secretKey = AuthSecretKey.rpoFalconWithRNG(seed);
83
90
  * const signer = new FalconSigner(secretKey);
84
91
  *
@@ -170,11 +177,7 @@ export class MultisigClient {
170
177
  async create(config: MultisigConfig, signer: Signer): Promise<Multisig> {
171
178
  this._guardianClient.setSigner(signer);
172
179
 
173
- const { account } = await createMultisigAccount(
174
- this.midenClient,
175
- config,
176
- this.midenRpcEndpoint,
177
- );
180
+ const { account } = await createMultisigAccount(this.midenClient, config);
178
181
  const accountId = account.id().toString();
179
182
  await bindSignerAccountKey(signer, this.midenClient, accountId);
180
183
 
package/src/config.ts ADDED
@@ -0,0 +1,14 @@
1
+ export function requireConfigValue(field: string, value?: unknown): string {
2
+ if (typeof value !== 'string') {
3
+ throw new Error(`missing required configuration: ${field}`);
4
+ }
5
+ const normalizedValue = value.trim();
6
+ if (normalizedValue === '') {
7
+ throw new Error(`missing required configuration: ${field}`);
8
+ }
9
+ return normalizedValue;
10
+ }
11
+
12
+ export function requireMidenRpcEndpoint(endpoint?: string): string {
13
+ return requireConfigValue('midenRpcEndpoint', endpoint);
14
+ }
package/src/index.ts CHANGED
@@ -11,7 +11,7 @@
11
11
  * } from '@openzeppelin/miden-multisig-client';
12
12
  * import { MidenClient, AuthSecretKey } from '@miden-sdk/miden-sdk';
13
13
  *
14
- * const midenClient = await MidenClient.createDevnet();
14
+ * const midenClient = await MidenClient.createDevnet({ useWorker: false });
15
15
  * const secretKey = AuthSecretKey.rpoFalconWithRNG(undefined);
16
16
  *
17
17
  * // Store in miden-sdk's keystore
@@ -59,17 +59,20 @@ export { lookupAuthDigest } from './lookupAuth.js';
59
59
  export {
60
60
  Multisig,
61
61
  type AccountState,
62
+ type SyncStateResult,
62
63
  type CreateProposalOptions,
63
64
  type CreateSignerProposalOptions,
64
65
  type CreateP2idProposalOptions,
65
66
  } from './multisig.js';
66
67
  export { AccountInspector, type DetectedMultisigConfig, type VaultBalance } from './inspector.js';
67
68
  export {
69
+ ChainBehindBoundBlockError,
68
70
  chainAnchorFromBase64,
69
71
  chainAnchorToBase64,
70
72
  chainAnchorBlockNum,
71
73
  executeForSummary,
72
74
  executeForSummaryAt,
75
+ executeForSummaryAtTip,
73
76
  summaryApprovalExpirationBlockNum,
74
77
  summarySalt,
75
78
  SummaryAnchorMismatchError,
@@ -93,8 +96,6 @@ export {
93
96
  // hex, directly comparable to `ExportedProposal.commitment` / `Proposal.id`.
94
97
  export { computeCommitmentFromTxSummary } from './multisig/helpers.js';
95
98
  export type {
96
- MidenClientMultisigRequestOptions,
97
- MidenClientSignatureOptions,
98
99
  MultisigRequestOptions,
99
100
  SignatureOptions,
100
101
  } from './transaction/options.js';
@@ -195,6 +196,7 @@ export {
195
196
 
196
197
  export {
197
198
  type AuthArgErrorCode,
199
+ BoundBlockNotDeclaredError,
198
200
  MultisigAuthArgsMissingError,
199
201
  ProposalSaltMalformedError,
200
202
  } from './multisig/authArgErrors.js';
@@ -3,7 +3,10 @@
3
3
  //! `public-api.test.ts` covers the barrel so a dropped re-export is caught.
4
4
 
5
5
  /** Stable error identifiers for auth-arg recovery failures. */
6
- export type AuthArgErrorCode = 'proposal_salt_malformed' | 'multisig_auth_args_missing';
6
+ export type AuthArgErrorCode =
7
+ | 'proposal_salt_malformed'
8
+ | 'multisig_auth_args_missing'
9
+ | 'bound_block_not_declared';
7
10
 
8
11
  /** How much of an untrusted value an error message will quote. */
9
12
  const MAX_QUOTED_CHARS = 80;
@@ -103,3 +106,27 @@ export class MultisigAuthArgsMissingError extends Error {
103
106
  this.accountId = accountId;
104
107
  }
105
108
  }
109
+
110
+ /**
111
+ * A multisig request does not list the block its auth args bind among the
112
+ * blocks it declares through `withBlockNumbers`. A proposal executes at the
113
+ * chain tip, where the auth procedure can read the bound block only from the
114
+ * transaction's partial blockchain, so such a request fails in the VM with
115
+ * `failed to lookup value in Merkle store` once the chain moves past that
116
+ * block. `feeAwareTransactionRequestBuilder` declares it; a request whose auth
117
+ * args are attached by hand has to call `withBlockNumbers([boundBlockNum])`.
118
+ */
119
+ export class BoundBlockNotDeclaredError extends Error {
120
+ readonly code: AuthArgErrorCode = 'bound_block_not_declared';
121
+ readonly boundBlockNum: number;
122
+
123
+ constructor(boundBlockNum: number) {
124
+ super(
125
+ `The transaction request binds block ${boundBlockNum} in its multisig auth args but does ` +
126
+ 'not declare it, so it cannot execute at a later chain tip. Build it with ' +
127
+ `feeAwareTransactionRequestBuilder or add withBlockNumbers([${boundBlockNum}])`,
128
+ );
129
+ this.name = 'BoundBlockNotDeclaredError';
130
+ this.boundBlockNum = boundBlockNum;
131
+ }
132
+ }