@aztec/aztec.js 0.0.1-commit.d431d1c → 0.0.1-commit.db765a8

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 (139) hide show
  1. package/dest/api/abi.d.ts +2 -2
  2. package/dest/api/abi.d.ts.map +1 -1
  3. package/dest/api/block.d.ts +2 -2
  4. package/dest/api/block.d.ts.map +1 -1
  5. package/dest/api/block.js +1 -1
  6. package/dest/api/contract.d.ts +18 -12
  7. package/dest/api/contract.d.ts.map +1 -1
  8. package/dest/api/contract.js +16 -10
  9. package/dest/api/deployment.d.ts +1 -2
  10. package/dest/api/deployment.d.ts.map +1 -1
  11. package/dest/api/deployment.js +0 -1
  12. package/dest/api/events.d.ts +10 -6
  13. package/dest/api/events.d.ts.map +1 -1
  14. package/dest/api/events.js +30 -20
  15. package/dest/api/fields.d.ts +2 -1
  16. package/dest/api/fields.d.ts.map +1 -1
  17. package/dest/api/fields.js +1 -0
  18. package/dest/api/keys.d.ts +1 -1
  19. package/dest/api/keys.js +1 -1
  20. package/dest/api/node.d.ts +8 -4
  21. package/dest/api/node.d.ts.map +1 -1
  22. package/dest/api/node.js +7 -3
  23. package/dest/api/tx.d.ts +2 -2
  24. package/dest/api/tx.d.ts.map +1 -1
  25. package/dest/api/tx.js +1 -1
  26. package/dest/api/wallet.d.ts +3 -2
  27. package/dest/api/wallet.d.ts.map +1 -1
  28. package/dest/api/wallet.js +2 -1
  29. package/dest/contract/base_contract_interaction.d.ts +8 -10
  30. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  31. package/dest/contract/base_contract_interaction.js +5 -17
  32. package/dest/contract/batch_call.d.ts +3 -3
  33. package/dest/contract/batch_call.d.ts.map +1 -1
  34. package/dest/contract/batch_call.js +17 -8
  35. package/dest/contract/contract_function_interaction.d.ts +7 -16
  36. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  37. package/dest/contract/contract_function_interaction.js +107 -18
  38. package/dest/contract/deploy_method.d.ts +91 -19
  39. package/dest/contract/deploy_method.d.ts.map +1 -1
  40. package/dest/contract/deploy_method.js +68 -30
  41. package/dest/contract/get_gas_limits.js +3 -3
  42. package/dest/contract/interaction_options.d.ts +99 -21
  43. package/dest/contract/interaction_options.d.ts.map +1 -1
  44. package/dest/contract/interaction_options.js +41 -1
  45. package/dest/contract/protocol_contracts/auth-registry.d.ts +3 -3
  46. package/dest/contract/protocol_contracts/auth-registry.d.ts.map +1 -1
  47. package/dest/contract/protocol_contracts/auth-registry.js +49 -20
  48. package/dest/contract/protocol_contracts/contract-class-registry.d.ts +2 -22
  49. package/dest/contract/protocol_contracts/contract-class-registry.d.ts.map +1 -1
  50. package/dest/contract/protocol_contracts/contract-class-registry.js +13 -671
  51. package/dest/contract/protocol_contracts/contract-instance-registry.d.ts +2 -11
  52. package/dest/contract/protocol_contracts/contract-instance-registry.d.ts.map +1 -1
  53. package/dest/contract/protocol_contracts/contract-instance-registry.js +80 -486
  54. package/dest/contract/protocol_contracts/fee-juice.d.ts +1 -10
  55. package/dest/contract/protocol_contracts/fee-juice.d.ts.map +1 -1
  56. package/dest/contract/protocol_contracts/fee-juice.js +7 -413
  57. package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts +3 -3
  58. package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts.map +1 -1
  59. package/dest/contract/protocol_contracts/multi-call-entrypoint.js +40 -15
  60. package/dest/contract/protocol_contracts/public-checks.d.ts +3 -3
  61. package/dest/contract/protocol_contracts/public-checks.d.ts.map +1 -1
  62. package/dest/contract/protocol_contracts/public-checks.js +40 -23
  63. package/dest/contract/wait_for_proven.js +1 -1
  64. package/dest/contract/wait_opts.d.ts +16 -0
  65. package/dest/contract/wait_opts.d.ts.map +1 -0
  66. package/dest/contract/wait_opts.js +5 -0
  67. package/dest/fee/fee_juice_payment_method_with_claim.js +6 -6
  68. package/dest/fee/private_fee_payment_method.js +10 -10
  69. package/dest/fee/public_fee_payment_method.js +10 -10
  70. package/dest/fee/sponsored_fee_payment.js +3 -3
  71. package/dest/utils/abi_types.d.ts +6 -1
  72. package/dest/utils/abi_types.d.ts.map +1 -1
  73. package/dest/utils/abi_types.js +1 -1
  74. package/dest/utils/authwit.d.ts +6 -6
  75. package/dest/utils/authwit.d.ts.map +1 -1
  76. package/dest/utils/authwit.js +12 -12
  77. package/dest/utils/node.d.ts +12 -1
  78. package/dest/utils/node.d.ts.map +1 -1
  79. package/dest/utils/node.js +46 -0
  80. package/dest/wallet/capabilities.d.ts +452 -0
  81. package/dest/wallet/capabilities.d.ts.map +1 -0
  82. package/dest/wallet/capabilities.js +3 -0
  83. package/dest/wallet/deploy_account_method.d.ts +31 -6
  84. package/dest/wallet/deploy_account_method.d.ts.map +1 -1
  85. package/dest/wallet/deploy_account_method.js +26 -0
  86. package/dest/wallet/index.d.ts +2 -1
  87. package/dest/wallet/index.d.ts.map +1 -1
  88. package/dest/wallet/index.js +1 -0
  89. package/dest/wallet/wallet.d.ts +1639 -93
  90. package/dest/wallet/wallet.d.ts.map +1 -1
  91. package/dest/wallet/wallet.js +186 -27
  92. package/package.json +20 -11
  93. package/src/api/abi.ts +1 -0
  94. package/src/api/block.ts +1 -1
  95. package/src/api/contract.ts +31 -9
  96. package/src/api/deployment.ts +0 -1
  97. package/src/api/events.ts +35 -27
  98. package/src/api/fields.ts +1 -0
  99. package/src/api/keys.ts +2 -2
  100. package/src/api/node.ts +7 -3
  101. package/src/api/tx.ts +2 -0
  102. package/src/api/wallet.ts +48 -1
  103. package/src/contract/base_contract_interaction.ts +28 -15
  104. package/src/contract/batch_call.ts +17 -14
  105. package/src/contract/contract_function_interaction.ts +114 -26
  106. package/src/contract/deploy_method.ts +172 -35
  107. package/src/contract/get_gas_limits.ts +3 -3
  108. package/src/contract/interaction_options.ts +141 -23
  109. package/src/contract/protocol_contracts/auth-registry.ts +13 -14
  110. package/src/contract/protocol_contracts/contract-class-registry.ts +4 -347
  111. package/src/contract/protocol_contracts/contract-instance-registry.ts +34 -234
  112. package/src/contract/protocol_contracts/fee-juice.ts +2 -202
  113. package/src/contract/protocol_contracts/multi-call-entrypoint.ts +11 -13
  114. package/src/contract/protocol_contracts/public-checks.ts +11 -15
  115. package/src/contract/wait_for_proven.ts +1 -1
  116. package/src/contract/wait_opts.ts +21 -0
  117. package/src/fee/fee_juice_payment_method_with_claim.ts +5 -5
  118. package/src/fee/private_fee_payment_method.ts +7 -7
  119. package/src/fee/public_fee_payment_method.ts +8 -8
  120. package/src/fee/sponsored_fee_payment.ts +3 -3
  121. package/src/utils/abi_types.ts +7 -0
  122. package/src/utils/authwit.ts +31 -21
  123. package/src/utils/node.ts +62 -0
  124. package/src/wallet/capabilities.ts +500 -0
  125. package/src/wallet/deploy_account_method.ts +56 -4
  126. package/src/wallet/index.ts +1 -0
  127. package/src/wallet/wallet.ts +257 -50
  128. package/dest/contract/deploy_sent_tx.d.ts +0 -48
  129. package/dest/contract/deploy_sent_tx.d.ts.map +0 -1
  130. package/dest/contract/deploy_sent_tx.js +0 -46
  131. package/dest/contract/sent_tx.d.ts +0 -50
  132. package/dest/contract/sent_tx.d.ts.map +0 -1
  133. package/dest/contract/sent_tx.js +0 -90
  134. package/dest/deployment/broadcast_function.d.ts +0 -24
  135. package/dest/deployment/broadcast_function.d.ts.map +0 -1
  136. package/dest/deployment/broadcast_function.js +0 -74
  137. package/src/contract/deploy_sent_tx.ts +0 -75
  138. package/src/contract/sent_tx.ts +0 -129
  139. package/src/deployment/broadcast_function.ts +0 -148
@@ -21,7 +21,7 @@ const PublicChecksContractArtifact = {
21
21
  name: 'storage',
22
22
  type: {
23
23
  kind: 'array',
24
- length: 17,
24
+ length: 15,
25
25
  type: {
26
26
  kind: 'field'
27
27
  }
@@ -162,13 +162,26 @@ const PublicChecksContractArtifact = {
162
162
  error_kind: 'string',
163
163
  string: 'Input length must be a multiple of 32'
164
164
  },
165
- '9791669845391776238': {
165
+ '5417577161503694006': {
166
+ error_kind: 'fmtstring',
167
+ length: 56,
168
+ item_types: [
169
+ {
170
+ kind: 'field'
171
+ }
172
+ ]
173
+ },
174
+ '5421095327929394772': {
166
175
  error_kind: 'string',
167
- string: '0 has a square root; you cannot claim it is not square'
176
+ string: 'attempt to bit-shift with overflow'
168
177
  },
169
- '9885968605480832328': {
178
+ '9530675838293881722': {
170
179
  error_kind: 'string',
171
- string: 'Attempted to read past the length of a CapsuleArray'
180
+ string: 'Writer did not write all data'
181
+ },
182
+ '9791669845391776238': {
183
+ error_kind: 'string',
184
+ string: '0 has a square root; you cannot claim it is not square'
172
185
  },
173
186
  '10135509984888824963': {
174
187
  error_kind: 'fmtstring',
@@ -183,20 +196,11 @@ const PublicChecksContractArtifact = {
183
196
  error_kind: 'string',
184
197
  string: 'extend_from_bounded_vec out of bounds'
185
198
  },
186
- '11021520179822076911': {
187
- error_kind: 'string',
188
- string: 'Attempted to delete past the length of a CapsuleArray'
189
- },
190
199
  '11692359521570349358': {
191
200
  error_kind: 'fmtstring',
192
201
  length: 40,
193
202
  item_types: []
194
203
  },
195
- '12327971061804302172': {
196
- error_kind: 'fmtstring',
197
- length: 98,
198
- item_types: []
199
- },
200
204
  '12469291177396340830': {
201
205
  error_kind: 'string',
202
206
  string: 'call to assert_max_bit_size'
@@ -298,10 +302,6 @@ const PublicChecksContractArtifact = {
298
302
  error_kind: 'string',
299
303
  string: 'Timestamp mismatch.'
300
304
  },
301
- '14990209321349310352': {
302
- error_kind: 'string',
303
- string: 'attempt to add with overflow'
304
- },
305
305
  '15015303112667403944': {
306
306
  error_kind: 'fmtstring',
307
307
  length: 17,
@@ -310,10 +310,6 @@ const PublicChecksContractArtifact = {
310
310
  '15764276373176857197': {
311
311
  error_kind: 'string',
312
312
  string: 'Stack too deep'
313
- },
314
- '16431471497789672479': {
315
- error_kind: 'string',
316
- string: 'Index out of bounds'
317
313
  }
318
314
  }
319
315
  },
@@ -323,7 +319,7 @@ const PublicChecksContractArtifact = {
323
319
  {
324
320
  ...{
325
321
  functionType: FunctionType.UTILITY,
326
- name: 'sync_private_state',
322
+ name: 'sync_state',
327
323
  isOnlySelf: false,
328
324
  isStatic: false,
329
325
  isInitializer: false,
@@ -385,6 +381,23 @@ const PublicChecksContractArtifact = {
385
381
  error_kind: 'string',
386
382
  string: 'Input length must be a multiple of 32'
387
383
  },
384
+ '5417577161503694006': {
385
+ error_kind: 'fmtstring',
386
+ length: 56,
387
+ item_types: [
388
+ {
389
+ kind: 'field'
390
+ }
391
+ ]
392
+ },
393
+ '5421095327929394772': {
394
+ error_kind: 'string',
395
+ string: 'attempt to bit-shift with overflow'
396
+ },
397
+ '9530675838293881722': {
398
+ error_kind: 'string',
399
+ string: 'Writer did not write all data'
400
+ },
388
401
  '9791669845391776238': {
389
402
  error_kind: 'string',
390
403
  string: '0 has a square root; you cannot claim it is not square'
@@ -472,6 +485,10 @@ const PublicChecksContractArtifact = {
472
485
  width: 32
473
486
  }
474
487
  ]
488
+ },
489
+ '17655676068928457687': {
490
+ error_kind: 'string',
491
+ string: 'Reader did not read all data'
475
492
  }
476
493
  }
477
494
  },
@@ -1,5 +1,5 @@
1
1
  import { retryUntil } from '@aztec/foundation/retry';
2
- import { DefaultWaitOpts } from './sent_tx.js';
2
+ import { DefaultWaitOpts } from './wait_opts.js';
3
3
  export const DefaultWaitForProvenOpts = {
4
4
  provenTimeout: 600,
5
5
  interval: DefaultWaitOpts.interval
@@ -0,0 +1,16 @@
1
+ import type { TxStatus } from '@aztec/stdlib/tx';
2
+ /** Options related to waiting for a tx. */
3
+ export type WaitOpts = {
4
+ /** The amount of time to ignore TxStatus.DROPPED receipts (in seconds) due to the presumption that it is being propagated by the p2p network. Defaults to 5. */
5
+ ignoreDroppedReceiptsFor?: number;
6
+ /** The maximum time (in seconds) to wait for the transaction to be mined. Defaults to 60. */
7
+ timeout?: number;
8
+ /** The time interval (in seconds) between retries to fetch the transaction receipt. Defaults to 1. */
9
+ interval?: number;
10
+ /** Whether to accept a revert as a status code for the tx when waiting for it. If false, will throw if the tx reverts. */
11
+ dontThrowOnRevert?: boolean;
12
+ /** The minimum inclusion status to wait for. If set, waits until the receipt reaches this status or higher. Defaults to CHECKPOINTED. */
13
+ waitForStatus?: TxStatus;
14
+ };
15
+ export declare const DefaultWaitOpts: WaitOpts;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdF9vcHRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3Qvd2FpdF9vcHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELDJDQUEyQztBQUMzQyxNQUFNLE1BQU0sUUFBUSxHQUFHO0lBQ3JCLGdLQUFnSztJQUNoSyx3QkFBd0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQyw2RkFBNkY7SUFDN0YsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLHNHQUFzRztJQUN0RyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsMEhBQTBIO0lBQzFILGlCQUFpQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQzVCLHlJQUF5STtJQUN6SSxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUM7Q0FDMUIsQ0FBQztBQUVGLGVBQU8sTUFBTSxlQUFlLEVBQUUsUUFJN0IsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait_opts.d.ts","sourceRoot":"","sources":["../../src/contract/wait_opts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG;IACrB,gKAAgK;IAChK,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0HAA0H;IAC1H,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yIAAyI;IACzI,aAAa,CAAC,EAAE,QAAQ,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAI7B,CAAC"}
@@ -0,0 +1,5 @@
1
+ export const DefaultWaitOpts = {
2
+ ignoreDroppedReceiptsFor: 5,
3
+ timeout: 300,
4
+ interval: 1
5
+ };
@@ -1,6 +1,6 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
3
- import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
3
+ import { FunctionCall, FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
4
4
  import { ExecutionPayload } from '@aztec/stdlib/tx';
5
5
  /**
6
6
  * Pay fee directly with Fee Juice claimed in the same tx. Claiming consumes an L1 to L2 message that "contains"
@@ -18,10 +18,11 @@ import { ExecutionPayload } from '@aztec/stdlib/tx';
18
18
  */ async getExecutionPayload() {
19
19
  const selector = await FunctionSelector.fromSignature('claim_and_end_setup((Field),u128,Field,Field)');
20
20
  return new ExecutionPayload([
21
- {
22
- to: ProtocolContractAddress.FeeJuice,
21
+ FunctionCall.from({
23
22
  name: 'claim_and_end_setup',
23
+ to: ProtocolContractAddress.FeeJuice,
24
24
  selector,
25
+ type: FunctionType.PRIVATE,
25
26
  hideMsgSender: false,
26
27
  isStatic: false,
27
28
  args: [
@@ -30,9 +31,8 @@ import { ExecutionPayload } from '@aztec/stdlib/tx';
30
31
  this.claim.claimSecret,
31
32
  new Fr(this.claim.messageLeafIndex)
32
33
  ],
33
- returnTypes: [],
34
- type: FunctionType.PRIVATE
35
- }
34
+ returnTypes: []
35
+ })
36
36
  ], [], [], [], this.sender);
37
37
  }
38
38
  getAsset() {
@@ -1,5 +1,5 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { FunctionSelector, FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
2
+ import { FunctionCall, FunctionSelector, FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
3
3
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
  import { ExecutionPayload } from '@aztec/stdlib/tx';
5
5
  import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
@@ -85,24 +85,24 @@ import { ContractFunctionInteraction } from '../contract/contract_function_inter
85
85
  const txNonce = Fr.random();
86
86
  const witness = await this.wallet.createAuthWit(this.sender, {
87
87
  caller: this.paymentContract,
88
- call: {
88
+ call: FunctionCall.from({
89
89
  name: 'transfer_to_public',
90
+ to: await this.getAsset(),
91
+ selector: await FunctionSelector.fromSignature('transfer_to_public((Field),(Field),u128,Field)'),
92
+ type: FunctionType.PRIVATE,
93
+ hideMsgSender: false,
94
+ isStatic: false,
90
95
  args: [
91
96
  this.sender.toField(),
92
97
  this.paymentContract.toField(),
93
98
  maxFee,
94
99
  txNonce
95
100
  ],
96
- selector: await FunctionSelector.fromSignature('transfer_to_public((Field),(Field),u128,Field)'),
97
- type: FunctionType.PRIVATE,
98
- hideMsgSender: false,
99
- isStatic: false,
100
- to: await this.getAsset(),
101
101
  returnTypes: []
102
- }
102
+ })
103
103
  });
104
104
  return new ExecutionPayload([
105
- {
105
+ FunctionCall.from({
106
106
  name: 'fee_entrypoint_private',
107
107
  to: this.paymentContract,
108
108
  selector: await FunctionSelector.fromSignature('fee_entrypoint_private(u128,Field)'),
@@ -114,7 +114,7 @@ import { ContractFunctionInteraction } from '../contract/contract_function_inter
114
114
  txNonce
115
115
  ],
116
116
  returnTypes: []
117
- }
117
+ })
118
118
  ], [
119
119
  witness
120
120
  ], [], [], this.paymentContract);
@@ -1,5 +1,5 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { FunctionSelector, FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
2
+ import { FunctionCall, FunctionSelector, FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
3
3
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
  import { ExecutionPayload } from '@aztec/stdlib/tx';
5
5
  import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
@@ -79,26 +79,26 @@ import { SetPublicAuthwitContractInteraction } from '../utils/authwit.js';
79
79
  const maxFee = this.gasSettings.getFeeLimit();
80
80
  const intent = {
81
81
  caller: this.paymentContract,
82
- call: {
82
+ call: FunctionCall.from({
83
83
  name: 'transfer_in_public',
84
+ to: await this.getAsset(),
85
+ selector: await FunctionSelector.fromSignature('transfer_in_public((Field),(Field),u128,Field)'),
86
+ type: FunctionType.PUBLIC,
87
+ hideMsgSender: false,
88
+ isStatic: false,
84
89
  args: [
85
90
  this.sender.toField(),
86
91
  this.paymentContract.toField(),
87
92
  maxFee,
88
93
  txNonce
89
94
  ],
90
- selector: await FunctionSelector.fromSignature('transfer_in_public((Field),(Field),u128,Field)'),
91
- type: FunctionType.PUBLIC,
92
- isStatic: false,
93
- hideMsgSender: false,
94
- to: await this.getAsset(),
95
95
  returnTypes: []
96
- }
96
+ })
97
97
  };
98
98
  const setPublicAuthWitInteraction = await SetPublicAuthwitContractInteraction.create(this.wallet, this.sender, intent, true);
99
99
  return new ExecutionPayload([
100
100
  ...(await setPublicAuthWitInteraction.request()).calls,
101
- {
101
+ FunctionCall.from({
102
102
  name: 'fee_entrypoint_public',
103
103
  to: this.paymentContract,
104
104
  selector: await FunctionSelector.fromSignature('fee_entrypoint_public(u128,Field)'),
@@ -110,7 +110,7 @@ import { SetPublicAuthwitContractInteraction } from '../utils/authwit.js';
110
110
  txNonce
111
111
  ],
112
112
  returnTypes: []
113
- }
113
+ })
114
114
  ], [], [], [], this.paymentContract);
115
115
  }
116
116
  getGasSettings() {
@@ -1,4 +1,4 @@
1
- import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
1
+ import { FunctionCall, FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
2
2
  import { ExecutionPayload } from '@aztec/stdlib/tx';
3
3
  /**
4
4
  * A fee payment method that uses a contract that blindly sponsors transactions.
@@ -16,7 +16,7 @@ import { ExecutionPayload } from '@aztec/stdlib/tx';
16
16
  }
17
17
  async getExecutionPayload() {
18
18
  return new ExecutionPayload([
19
- {
19
+ FunctionCall.from({
20
20
  name: 'sponsor_unconditionally',
21
21
  to: this.paymentContract,
22
22
  selector: await FunctionSelector.fromSignature('sponsor_unconditionally()'),
@@ -25,7 +25,7 @@ import { ExecutionPayload } from '@aztec/stdlib/tx';
25
25
  isStatic: false,
26
26
  args: [],
27
27
  returnTypes: []
28
- }
28
+ })
29
29
  ], [], [], [], this.paymentContract);
30
30
  }
31
31
  getGasSettings() {
@@ -24,4 +24,9 @@ export type U128Like = bigint | number;
24
24
  export type WrappedFieldLike = {
25
25
  inner: FieldLike;
26
26
  } | FieldLike;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJpX3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvYWJpX3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLHVFQUF1RTtBQUN2RSxNQUFNLE1BQU0sU0FBUyxHQUFHLEVBQUUsR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRztJQUEyQixPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUE7Q0FBRSxDQUFDO0FBRXZHLHlFQUF5RTtBQUN6RSxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQXlCLE9BQU8sRUFBRSxTQUFTLENBQUE7Q0FBRSxHQUFHLFVBQVUsQ0FBQztBQUV4RiwyRUFBMkU7QUFDM0UsTUFBTSxNQUFNLGdCQUFnQixHQUFHO0lBQXlCLE9BQU8sRUFBRSxTQUFTLENBQUE7Q0FBRSxHQUFHLFlBQVksQ0FBQztBQUU1Riw4RUFBOEU7QUFDOUUsTUFBTSxNQUFNLG9CQUFvQixHQUFHLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztBQUVoRSw0RUFBNEU7QUFDNUUsTUFBTSxNQUFNLGlCQUFpQixHQUFHLFNBQVMsR0FBRyxhQUFhLENBQUM7QUFFMUQsa0RBQWtEO0FBQ2xELE1BQU0sTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQUV2QyxnRkFBZ0Y7QUFDaEYsTUFBTSxNQUFNLGdCQUFnQixHQUFHO0lBQXVCLEtBQUssRUFBRSxTQUFTLENBQUE7Q0FBRSxHQUFHLFNBQVMsQ0FBQyJ9
27
+ /** Noir `Option<T>` lowered ABI shape, plus ergonomic direct `T | null | undefined` inputs. */
28
+ export type OptionLike<T> = T | null | undefined | {
29
+ _is_some: boolean; /** Wrapped value */
30
+ _value: T;
31
+ };
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJpX3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvYWJpX3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLHVFQUF1RTtBQUN2RSxNQUFNLE1BQU0sU0FBUyxHQUFHLEVBQUUsR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRztJQUEyQixPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUE7Q0FBRSxDQUFDO0FBRXZHLHlFQUF5RTtBQUN6RSxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQXlCLE9BQU8sRUFBRSxTQUFTLENBQUE7Q0FBRSxHQUFHLFVBQVUsQ0FBQztBQUV4RiwyRUFBMkU7QUFDM0UsTUFBTSxNQUFNLGdCQUFnQixHQUFHO0lBQXlCLE9BQU8sRUFBRSxTQUFTLENBQUE7Q0FBRSxHQUFHLFlBQVksQ0FBQztBQUU1Riw4RUFBOEU7QUFDOUUsTUFBTSxNQUFNLG9CQUFvQixHQUFHLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztBQUVoRSw0RUFBNEU7QUFDNUUsTUFBTSxNQUFNLGlCQUFpQixHQUFHLFNBQVMsR0FBRyxhQUFhLENBQUM7QUFFMUQsa0RBQWtEO0FBQ2xELE1BQU0sTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQUV2QyxnRkFBZ0Y7QUFDaEYsTUFBTSxNQUFNLGdCQUFnQixHQUFHO0lBQXVCLEtBQUssRUFBRSxTQUFTLENBQUE7Q0FBRSxHQUFHLFNBQVMsQ0FBQztBQUVyRiwrRkFBK0Y7QUFDL0YsTUFBTSxNQUFNLFVBQVUsQ0FBQyxDQUFDLElBQ3BCLENBQUMsR0FDRCxJQUFJLEdBQ0osU0FBUyxHQUNUO0lBQXlDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxvQkFBb0I7SUFBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO0NBQUUsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"abi_types.d.ts","sourceRoot":"","sources":["../../src/utils/abi_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,uEAAuE;AACvE,MAAM,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG;IAA2B,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEvG,yEAAyE;AACzE,MAAM,MAAM,cAAc,GAAG;IAAyB,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG,UAAU,CAAC;AAExF,2EAA2E;AAC3E,MAAM,MAAM,gBAAgB,GAAG;IAAyB,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG,YAAY,CAAC;AAE5F,8EAA8E;AAC9E,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAEhE,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,CAAC;AAE1D,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,gFAAgF;AAChF,MAAM,MAAM,gBAAgB,GAAG;IAAuB,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"abi_types.d.ts","sourceRoot":"","sources":["../../src/utils/abi_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,uEAAuE;AACvE,MAAM,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG;IAA2B,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEvG,yEAAyE;AACzE,MAAM,MAAM,cAAc,GAAG;IAAyB,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG,UAAU,CAAC;AAExF,2EAA2E;AAC3E,MAAM,MAAM,gBAAgB,GAAG;IAAyB,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG,YAAY,CAAC;AAE5F,8EAA8E;AAC9E,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAEhE,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,CAAC;AAE1D,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,gFAAgF;AAChF,MAAM,MAAM,gBAAgB,GAAG;IAAuB,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,SAAS,CAAC;AAErF,+FAA+F;AAC/F,MAAM,MAAM,UAAU,CAAC,CAAC,IACpB,CAAC,GACD,IAAI,GACJ,SAAS,GACT;IAAyC,QAAQ,EAAE,OAAO,CAAC,CAAC,oBAAoB;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC"}
@@ -1 +1 @@
1
- /** Any type that can be converted into a struct with a single `inner` field. */ export { };
1
+ /** Noir `Option<T>` lowered ABI shape, plus ergonomic direct `T | null | undefined` inputs. */ export { };
@@ -5,8 +5,7 @@ import { AuthWitness } from '@aztec/stdlib/auth-witness';
5
5
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
6
6
  import type { TxProfileResult } from '@aztec/stdlib/tx';
7
7
  import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
8
- import type { ProfileInteractionOptions, SendInteractionOptions, SimulateInteractionOptions, SimulationReturn } from '../contract/interaction_options.js';
9
- import type { SentTx } from '../contract/sent_tx.js';
8
+ import type { InteractionWaitOptions, ProfileInteractionOptions, SendInteractionOptions, SendInteractionOptionsWithoutWait, SendReturn, SimulateInteractionOptions, SimulationResult, TxSendResultMined } from '../contract/interaction_options.js';
10
9
  import type { Wallet } from '../wallet/index.js';
11
10
  /** Intent with an inner hash */
12
11
  export type IntentInnerHash = {
@@ -99,7 +98,7 @@ export declare class SetPublicAuthwitContractInteraction extends ContractFunctio
99
98
  * @param options - An optional object containing additional configuration for the transaction.
100
99
  * @returns The result of the transaction as returned by the contract function.
101
100
  */
102
- simulate<T extends SimulateInteractionOptions>(options: Omit<T, 'from'>): Promise<SimulationReturn<T['includeMetadata']>>;
101
+ simulate(options?: Omit<SimulateInteractionOptions, 'from'>): Promise<SimulationResult>;
103
102
  /**
104
103
  * Overrides the profile method, adding the sender of the authwit (authorizer) as from
105
104
  * and preventing misuse
@@ -111,9 +110,10 @@ export declare class SetPublicAuthwitContractInteraction extends ContractFunctio
111
110
  * Overrides the send method, adding the sender of the authwit (authorizer) as from
112
111
  * and preventing misuse
113
112
  * @param options - An optional object containing 'fee' options information
114
- * @returns A SentTx instance for tracking the transaction status and information.
113
+ * @returns A TxReceipt (if wait is true/undefined) or TxHash (if wait is false)
115
114
  */
116
- send(options?: Omit<SendInteractionOptions, 'from'>): SentTx;
115
+ send(options?: Omit<SendInteractionOptionsWithoutWait, 'from'>): Promise<TxSendResultMined>;
116
+ send<W extends InteractionWaitOptions>(options?: Omit<SendInteractionOptions<W>, 'from'>): Promise<SendReturn<W>>;
117
117
  private static getSetAuthorizedAbi;
118
118
  }
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aHdpdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2F1dGh3aXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBaUQsS0FBSyxZQUFZLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDbkgsT0FBTyxFQUFFLFdBQVcsRUFBb0QsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEtBQUssRUFDVix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDakIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxnQ0FBZ0M7QUFDaEMsTUFBTSxNQUFNLGVBQWUsR0FBRztJQUM1QixxQkFBcUI7SUFDckIsUUFBUSxFQUFFLFlBQVksQ0FBQztJQUN2Qiw0QkFBNEI7SUFDNUIsU0FBUyxFQUFFLEVBQUUsQ0FBQztDQUNmLENBQUM7QUFFRix5QkFBeUI7QUFDekIsTUFBTSxNQUFNLFVBQVUsR0FBRztJQUN2Qiw2QkFBNkI7SUFDN0IsTUFBTSxFQUFFLFlBQVksQ0FBQztJQUNyQiwwQkFBMEI7SUFDMUIsSUFBSSxFQUFFLFlBQVksQ0FBQztDQUNwQixDQUFDO0FBRUYsZ0RBQWdEO0FBQ2hELE1BQU0sTUFBTSxxQ0FBcUMsR0FBRztJQUNsRCw2QkFBNkI7SUFDN0IsTUFBTSxFQUFFLFlBQVksQ0FBQztJQUNyQiw0QkFBNEI7SUFDNUIsTUFBTSxFQUFFLDJCQUEyQixDQUFDO0NBQ3JDLENBQUM7QUFFRix3REFBd0Q7QUFDeEQsd0JBQWdCLHVDQUF1QyxDQUNyRCxtQkFBbUIsRUFBRSxFQUFFLEdBQUcsZUFBZSxHQUFHLFVBQVUsR0FBRyxxQ0FBcUMsR0FDN0YsbUJBQW1CLElBQUkscUNBQXFDLENBTTlEO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsZUFBTyxNQUFNLHlCQUF5QixvSEFtQnJDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCx3QkFBc0Isd0JBQXdCLENBQzVDLG1CQUFtQixFQUFFLEVBQUUsR0FBRyxlQUFlLEdBQUcsVUFBVSxHQUFHLHFDQUFxQyxFQUM5RixTQUFTLEVBQUUsU0FBUyxlQVVyQjtBQUVEOzs7Ozs7SUFNSTtBQUNKLGVBQU8sTUFBTSxpQ0FBaUMsMkZBTTdDLENBQUM7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0gsd0JBQXNCLGNBQWMsQ0FDbEMsTUFBTSxFQUFFLE1BQU0sRUFDZCxVQUFVLEVBQUUsWUFBWSxFQUN4QixNQUFNLEVBQUUsZUFBZSxHQUFHLFVBQVUsR0FBRyxxQ0FBcUMsRUFDNUUsT0FBTyxFQUFFLFdBQVcsR0FDbkIsT0FBTyxDQUFDO0lBQ1QseUVBQXlFO0lBQ3pFLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztJQUMxQix3RUFBd0U7SUFDeEUsZUFBZSxFQUFFLE9BQU8sQ0FBQztDQUMxQixDQUFDLENBMEVEO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxtQ0FBb0MsU0FBUSwyQkFBMkI7SUFHaEYsT0FBTyxDQUFDLElBQUk7SUFGZCxPQUFPLGVBVU47SUFFRCxPQUFhLE1BQU0sQ0FDakIsTUFBTSxFQUFFLE1BQU0sRUFDZCxJQUFJLEVBQUUsWUFBWSxFQUNsQixtQkFBbUIsRUFBRSxFQUFFLEdBQUcsZUFBZSxHQUFHLFVBQVUsR0FBRyxxQ0FBcUMsRUFDOUYsVUFBVSxFQUFFLE9BQU8sZ0RBS3BCO0lBRUQ7Ozs7O09BS0c7SUFDYSxRQUFRLENBQUMsQ0FBQyxTQUFTLDBCQUEwQixFQUMzRCxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsR0FDdkIsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQVFuRDs7Ozs7T0FLRztJQUNhLE9BQU8sQ0FDckIsT0FBTyxHQUFFLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxNQUFNLENBQTRCLEdBQzFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FFMUI7SUFFRDs7Ozs7T0FLRztJQUNhLElBQUksQ0FBQyxPQUFPLEdBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLE1BQU0sQ0FBTSxHQUFHLE1BQU0sQ0FFL0U7SUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLG1CQUFtQjtDQXVCbkMifQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aHdpdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2F1dGh3aXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBaUQsS0FBSyxZQUFZLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDbkgsT0FBTyxFQUFFLFdBQVcsRUFBb0QsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEtBQUssRUFDVixzQkFBc0IsRUFDdEIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0QixpQ0FBaUMsRUFDakMsVUFBVSxFQUNWLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2xCLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQsZ0NBQWdDO0FBQ2hDLE1BQU0sTUFBTSxlQUFlLEdBQUc7SUFDNUIscUJBQXFCO0lBQ3JCLFFBQVEsRUFBRSxZQUFZLENBQUM7SUFDdkIsNEJBQTRCO0lBQzVCLFNBQVMsRUFBRSxFQUFFLENBQUM7Q0FDZixDQUFDO0FBRUYseUJBQXlCO0FBQ3pCLE1BQU0sTUFBTSxVQUFVLEdBQUc7SUFDdkIsNkJBQTZCO0lBQzdCLE1BQU0sRUFBRSxZQUFZLENBQUM7SUFDckIsMEJBQTBCO0lBQzFCLElBQUksRUFBRSxZQUFZLENBQUM7Q0FDcEIsQ0FBQztBQUVGLGdEQUFnRDtBQUNoRCxNQUFNLE1BQU0scUNBQXFDLEdBQUc7SUFDbEQsNkJBQTZCO0lBQzdCLE1BQU0sRUFBRSxZQUFZLENBQUM7SUFDckIsNEJBQTRCO0lBQzVCLE1BQU0sRUFBRSwyQkFBMkIsQ0FBQztDQUNyQyxDQUFDO0FBRUYsd0RBQXdEO0FBQ3hELHdCQUFnQix1Q0FBdUMsQ0FDckQsbUJBQW1CLEVBQUUsRUFBRSxHQUFHLGVBQWUsR0FBRyxVQUFVLEdBQUcscUNBQXFDLEdBQzdGLG1CQUFtQixJQUFJLHFDQUFxQyxDQU05RDtBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILGVBQU8sTUFBTSx5QkFBeUIsb0hBbUJyQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsd0JBQXNCLHdCQUF3QixDQUM1QyxtQkFBbUIsRUFBRSxFQUFFLEdBQUcsZUFBZSxHQUFHLFVBQVUsR0FBRyxxQ0FBcUMsRUFDOUYsU0FBUyxFQUFFLFNBQVMsZUFVckI7QUFFRDs7Ozs7O0lBTUk7QUFDSixlQUFPLE1BQU0saUNBQWlDLDJGQU03QyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNILHdCQUFzQixjQUFjLENBQ2xDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsVUFBVSxFQUFFLFlBQVksRUFDeEIsTUFBTSxFQUFFLGVBQWUsR0FBRyxVQUFVLEdBQUcscUNBQXFDLEVBQzVFLE9BQU8sRUFBRSxXQUFXLEdBQ25CLE9BQU8sQ0FBQztJQUNULHlFQUF5RTtJQUN6RSxnQkFBZ0IsRUFBRSxPQUFPLENBQUM7SUFDMUIsd0VBQXdFO0lBQ3hFLGVBQWUsRUFBRSxPQUFPLENBQUM7Q0FDMUIsQ0FBQyxDQTRFRDtBQUVEOztHQUVHO0FBQ0gscUJBQWEsbUNBQW9DLFNBQVEsMkJBQTJCO0lBR2hGLE9BQU8sQ0FBQyxJQUFJO0lBRmQsT0FBTyxlQVVOO0lBRUQsT0FBYSxNQUFNLENBQ2pCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsSUFBSSxFQUFFLFlBQVksRUFDbEIsbUJBQW1CLEVBQUUsRUFBRSxHQUFHLGVBQWUsR0FBRyxVQUFVLEdBQUcscUNBQXFDLEVBQzlGLFVBQVUsRUFBRSxPQUFPLGdEQUtwQjtJQUVEOzs7OztPQUtHO0lBQ2EsUUFBUSxDQUN0QixPQUFPLEdBQUUsSUFBSSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBa0QsR0FDakcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBRTNCO0lBRUQ7Ozs7O09BS0c7SUFDYSxPQUFPLENBQ3JCLE9BQU8sR0FBRSxJQUFJLENBQUMseUJBQXlCLEVBQUUsTUFBTSxDQUE0QixHQUMxRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBRTFCO0lBRUQ7Ozs7O09BS0c7SUFDYSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRzVGLElBQUksQ0FBQyxDQUFDLFNBQVMsc0JBQXNCLEVBQ25ELE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsR0FDaEQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBUTFCLE9BQU8sQ0FBQyxNQUFNLENBQUMsbUJBQW1CO0NBdUJuQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":"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"}
@@ -136,7 +136,7 @@ import { ContractFunctionInteraction } from '../contract/contract_function_inter
136
136
  errorTypes: {}
137
137
  };
138
138
  try {
139
- results.isValidInPrivate = await new ContractFunctionInteraction(wallet, onBehalfOf, lookupValidityAbi, [
139
+ results.isValidInPrivate = (await new ContractFunctionInteraction(wallet, onBehalfOf, lookupValidityAbi, [
140
140
  consumer,
141
141
  innerHash
142
142
  ]).simulate({
@@ -144,7 +144,7 @@ import { ContractFunctionInteraction } from '../contract/contract_function_inter
144
144
  authWitnesses: [
145
145
  witness
146
146
  ]
147
- });
147
+ })).result;
148
148
  // TODO: Narrow down the error to make sure simulation failed due to an invalid authwit
149
149
  // eslint-disable-next-line no-empty
150
150
  } catch {}
@@ -187,12 +187,12 @@ import { ContractFunctionInteraction } from '../contract/contract_function_inter
187
187
  ],
188
188
  errorTypes: {}
189
189
  };
190
- results.isValidInPublic = await new ContractFunctionInteraction(wallet, ProtocolContractAddress.AuthRegistry, isConsumableAbi, [
190
+ results.isValidInPublic = (await new ContractFunctionInteraction(wallet, ProtocolContractAddress.AuthRegistry, isConsumableAbi, [
191
191
  onBehalfOf,
192
192
  messageHash
193
193
  ]).simulate({
194
194
  from: onBehalfOf
195
- });
195
+ })).result;
196
196
  return results;
197
197
  }
198
198
  /**
@@ -210,8 +210,12 @@ import { ContractFunctionInteraction } from '../contract/contract_function_inter
210
210
  const messageHash = await getMessageHashFromIntent(messageHashOrIntent, chainInfo);
211
211
  return new SetPublicAuthwitContractInteraction(wallet, from, messageHash, authorized);
212
212
  }
213
- // eslint-disable-next-line jsdoc/require-jsdoc
214
- simulate(options = {}) {
213
+ /**
214
+ * Overrides the simulate method, adding the sender of the authwit (authorizer) as from
215
+ * and preventing misuse
216
+ * @param options - An optional object containing additional configuration for the transaction.
217
+ * @returns The result of the transaction as returned by the contract function.
218
+ */ simulate(options = {}) {
215
219
  return super.simulate({
216
220
  ...options,
217
221
  from: this.from
@@ -230,12 +234,8 @@ import { ContractFunctionInteraction } from '../contract/contract_function_inter
230
234
  from: this.from
231
235
  });
232
236
  }
233
- /**
234
- * Overrides the send method, adding the sender of the authwit (authorizer) as from
235
- * and preventing misuse
236
- * @param options - An optional object containing 'fee' options information
237
- * @returns A SentTx instance for tracking the transaction status and information.
238
- */ send(options = {}) {
237
+ // eslint-disable-next-line jsdoc/require-jsdoc
238
+ send(options) {
239
239
  return super.send({
240
240
  ...options,
241
241
  from: this.from
@@ -1,5 +1,16 @@
1
1
  import type { Logger } from '@aztec/foundation/log';
2
2
  import type { AztecNode } from '@aztec/stdlib/interfaces/client';
3
+ import type { TxHash, TxReceipt } from '@aztec/stdlib/tx';
4
+ import { type WaitOpts } from '../contract/wait_opts.js';
3
5
  export declare const waitForNode: (node: AztecNode, logger?: Logger | undefined) => Promise<void>;
6
+ /**
7
+ * Waits for a transaction to be mined and returns its receipt.
8
+ * @param node - The Aztec node to query for transaction status
9
+ * @param txHash - The hash of the transaction to wait for
10
+ * @param opts - Optional configuration for waiting behavior
11
+ * @returns The transaction receipt
12
+ * @throws If the transaction fails and dontThrowOnRevert is not set
13
+ */
14
+ export declare function waitForTx(node: AztecNode, txHash: TxHash, opts?: WaitOpts): Promise<TxReceipt>;
4
15
  export { createAztecNodeClient, type AztecNode } from '@aztec/stdlib/interfaces/client';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL25vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFakUsZUFBTyxNQUFNLFdBQVcsaUVBWXZCLENBQUM7QUFFRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQyJ9
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL25vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzFELE9BQU8sRUFBbUIsS0FBSyxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRSxlQUFPLE1BQU0sV0FBVyxpRUFZdkIsQ0FBQztBQU9GOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0IsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxRQUFRLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQTJDcEc7QUFFRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/utils/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,eAAO,MAAM,WAAW,iEAYvB,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,KAAK,SAAS,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/utils/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE1E,eAAO,MAAM,WAAW,iEAYvB,CAAC;AAOF;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CA2CpG;AAED,OAAO,EAAE,qBAAqB,EAAE,KAAK,SAAS,EAAE,MAAM,iCAAiC,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import { retryUntil } from '@aztec/foundation/retry';
2
+ import { SortedTxStatuses, TxStatus } from '@aztec/stdlib/tx';
3
+ import { DefaultWaitOpts } from '../contract/wait_opts.js';
2
4
  export const waitForNode = async (node, logger)=>{
3
5
  await retryUntil(async ()=>{
4
6
  try {
@@ -12,4 +14,48 @@ export const waitForNode = async (node, logger)=>{
12
14
  return undefined;
13
15
  }, 'RPC Get Node Info');
14
16
  };
17
+ /** Returns true if the receipt status is at least the desired status level. */ function hasReachedStatus(receipt, desiredStatus) {
18
+ return SortedTxStatuses.indexOf(receipt.status) >= SortedTxStatuses.indexOf(desiredStatus);
19
+ }
20
+ /**
21
+ * Waits for a transaction to be mined and returns its receipt.
22
+ * @param node - The Aztec node to query for transaction status
23
+ * @param txHash - The hash of the transaction to wait for
24
+ * @param opts - Optional configuration for waiting behavior
25
+ * @returns The transaction receipt
26
+ * @throws If the transaction fails and dontThrowOnRevert is not set
27
+ */ export async function waitForTx(node, txHash, opts) {
28
+ const startTime = Date.now();
29
+ const ignoreDroppedReceiptsFor = opts?.ignoreDroppedReceiptsFor ?? DefaultWaitOpts.ignoreDroppedReceiptsFor;
30
+ const waitForStatus = opts?.waitForStatus ?? TxStatus.CHECKPOINTED;
31
+ const receipt = await retryUntil(async ()=>{
32
+ const txReceipt = await node.getTxReceipt(txHash);
33
+ // If receipt is not yet available, try again
34
+ if (txReceipt.isPending()) {
35
+ return undefined;
36
+ }
37
+ // If the tx was "dropped", either return it or ignore based on timing.
38
+ // We can ignore it at first because the transaction may have been sent to node 1, and now we're asking node 2 for the receipt.
39
+ // If we don't allow a short grace period, we could incorrectly return a TxReceipt with status DROPPED.
40
+ if (txReceipt.isDropped()) {
41
+ const elapsedSeconds = (Date.now() - startTime) / 1000;
42
+ if (!ignoreDroppedReceiptsFor || elapsedSeconds > ignoreDroppedReceiptsFor) {
43
+ return txReceipt;
44
+ }
45
+ return undefined;
46
+ }
47
+ // Check if the receipt has reached the desired status level
48
+ if (!hasReachedStatus(txReceipt, waitForStatus)) {
49
+ return undefined;
50
+ }
51
+ return txReceipt;
52
+ }, 'isMined', opts?.timeout ?? DefaultWaitOpts.timeout, opts?.interval ?? DefaultWaitOpts.interval);
53
+ if (!receipt.isMined()) {
54
+ throw new Error(`Transaction ${txHash.toString()} was ${receipt.status}. Reason: ${receipt.error ?? 'unknown'}`);
55
+ }
56
+ if (!receipt.hasExecutionSucceeded() && !opts?.dontThrowOnRevert) {
57
+ throw new Error(`Transaction ${txHash.toString()} reverted: ${receipt.executionResult}. Reason: ${receipt.error ?? 'unknown'}`);
58
+ }
59
+ return receipt;
60
+ }
15
61
  export { createAztecNodeClient } from '@aztec/stdlib/interfaces/client';