@aztec/aztec.js 0.0.1-commit.b655e406 → 0.0.1-commit.c0b82b2

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 (261) hide show
  1. package/dest/account/account.d.ts +26 -42
  2. package/dest/account/account.d.ts.map +1 -1
  3. package/dest/account/account.js +19 -47
  4. package/dest/account/account_contract.d.ts +9 -10
  5. package/dest/account/account_contract.d.ts.map +1 -1
  6. package/dest/account/account_with_secret_key.d.ts +20 -9
  7. package/dest/account/account_with_secret_key.d.ts.map +1 -1
  8. package/dest/account/account_with_secret_key.js +21 -4
  9. package/dest/account/index.d.ts +4 -3
  10. package/dest/account/index.d.ts.map +1 -1
  11. package/dest/account/index.js +2 -0
  12. package/dest/account/signerless_account.d.ts +7 -9
  13. package/dest/account/signerless_account.d.ts.map +1 -1
  14. package/dest/account/signerless_account.js +8 -11
  15. package/dest/api/abi.d.ts +1 -1
  16. package/dest/api/account.d.ts +3 -4
  17. package/dest/api/account.d.ts.map +1 -1
  18. package/dest/api/account.js +2 -3
  19. package/dest/api/addresses.d.ts +1 -1
  20. package/dest/api/authorization.d.ts +2 -2
  21. package/dest/api/authorization.d.ts.map +1 -1
  22. package/dest/api/authorization.js +1 -1
  23. package/dest/api/block.d.ts +1 -1
  24. package/dest/api/contract.d.ts +19 -13
  25. package/dest/api/contract.d.ts.map +1 -1
  26. package/dest/api/contract.js +17 -11
  27. package/dest/api/crypto.d.ts +1 -1
  28. package/dest/api/deployment.d.ts +1 -2
  29. package/dest/api/deployment.d.ts.map +1 -1
  30. package/dest/api/deployment.js +0 -1
  31. package/dest/api/eth_address.d.ts +1 -1
  32. package/dest/api/ethereum.d.ts +1 -1
  33. package/dest/api/events.d.ts +10 -6
  34. package/dest/api/events.d.ts.map +1 -1
  35. package/dest/api/events.js +30 -20
  36. package/dest/api/fee.d.ts +1 -1
  37. package/dest/api/fee_testing.d.ts +1 -1
  38. package/dest/api/fields.d.ts +4 -2
  39. package/dest/api/fields.d.ts.map +1 -1
  40. package/dest/api/fields.js +3 -1
  41. package/dest/api/keys.d.ts +2 -2
  42. package/dest/api/keys.js +1 -1
  43. package/dest/api/log.d.ts +1 -1
  44. package/dest/api/messaging.d.ts +1 -1
  45. package/dest/api/node.d.ts +8 -4
  46. package/dest/api/node.d.ts.map +1 -1
  47. package/dest/api/node.js +7 -3
  48. package/dest/api/note.d.ts +2 -2
  49. package/dest/api/note.d.ts.map +1 -1
  50. package/dest/api/note.js +1 -1
  51. package/dest/api/protocol.d.ts +7 -1
  52. package/dest/api/protocol.d.ts.map +1 -1
  53. package/dest/api/protocol.js +6 -0
  54. package/dest/api/trees.d.ts +1 -1
  55. package/dest/api/tx.d.ts +2 -2
  56. package/dest/api/tx.d.ts.map +1 -1
  57. package/dest/api/tx.js +1 -1
  58. package/dest/api/utils.d.ts +1 -1
  59. package/dest/api/wallet.d.ts +3 -3
  60. package/dest/api/wallet.d.ts.map +1 -1
  61. package/dest/api/wallet.js +2 -2
  62. package/dest/authorization/call_authorization_request.d.ts +2 -2
  63. package/dest/authorization/call_authorization_request.d.ts.map +1 -1
  64. package/dest/contract/base_contract_interaction.d.ts +8 -11
  65. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  66. package/dest/contract/base_contract_interaction.js +5 -17
  67. package/dest/contract/batch_call.d.ts +8 -9
  68. package/dest/contract/batch_call.d.ts.map +1 -1
  69. package/dest/contract/batch_call.js +59 -36
  70. package/dest/contract/checker.d.ts +1 -1
  71. package/dest/contract/contract.d.ts +2 -2
  72. package/dest/contract/contract.d.ts.map +1 -1
  73. package/dest/contract/contract.js +4 -5
  74. package/dest/contract/contract_base.d.ts +6 -10
  75. package/dest/contract/contract_base.d.ts.map +1 -1
  76. package/dest/contract/contract_base.js +5 -12
  77. package/dest/contract/contract_function_interaction.d.ts +5 -14
  78. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  79. package/dest/contract/contract_function_interaction.js +18 -12
  80. package/dest/contract/deploy_method.d.ts +85 -24
  81. package/dest/contract/deploy_method.d.ts.map +1 -1
  82. package/dest/contract/deploy_method.js +71 -36
  83. package/dest/contract/get_gas_limits.d.ts +1 -1
  84. package/dest/contract/get_gas_limits.js +3 -3
  85. package/dest/contract/interaction_options.d.ts +51 -7
  86. package/dest/contract/interaction_options.d.ts.map +1 -1
  87. package/dest/contract/interaction_options.js +12 -11
  88. package/dest/contract/protocol_contracts/auth-registry.d.ts +36 -0
  89. package/dest/contract/protocol_contracts/auth-registry.d.ts.map +1 -0
  90. package/dest/contract/protocol_contracts/auth-registry.js +1005 -0
  91. package/dest/contract/protocol_contracts/contract-class-registry.d.ts +15 -0
  92. package/dest/contract/protocol_contracts/contract-class-registry.d.ts.map +1 -0
  93. package/dest/contract/protocol_contracts/contract-class-registry.js +139 -0
  94. package/dest/contract/protocol_contracts/contract-instance-registry.d.ts +22 -0
  95. package/dest/contract/protocol_contracts/contract-instance-registry.d.ts.map +1 -0
  96. package/dest/contract/protocol_contracts/contract-instance-registry.js +465 -0
  97. package/dest/contract/protocol_contracts/fee-juice.d.ts +21 -0
  98. package/dest/contract/protocol_contracts/fee-juice.d.ts.map +1 -0
  99. package/dest/contract/protocol_contracts/fee-juice.js +434 -0
  100. package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts +34 -0
  101. package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts.map +1 -0
  102. package/dest/contract/protocol_contracts/multi-call-entrypoint.js +601 -0
  103. package/dest/contract/protocol_contracts/public-checks.d.ts +26 -0
  104. package/dest/contract/protocol_contracts/public-checks.d.ts.map +1 -0
  105. package/dest/contract/protocol_contracts/public-checks.js +609 -0
  106. package/dest/contract/wait_for_proven.d.ts +2 -2
  107. package/dest/contract/wait_for_proven.d.ts.map +1 -1
  108. package/dest/contract/wait_for_proven.js +1 -1
  109. package/dest/contract/wait_opts.d.ts +16 -0
  110. package/dest/contract/wait_opts.d.ts.map +1 -0
  111. package/dest/contract/wait_opts.js +5 -0
  112. package/dest/deployment/contract_deployer.d.ts +1 -1
  113. package/dest/deployment/contract_deployer.d.ts.map +1 -1
  114. package/dest/deployment/contract_deployer.js +1 -1
  115. package/dest/deployment/publish_class.d.ts +1 -1
  116. package/dest/deployment/publish_class.js +3 -3
  117. package/dest/deployment/publish_instance.d.ts +2 -2
  118. package/dest/deployment/publish_instance.d.ts.map +1 -1
  119. package/dest/deployment/publish_instance.js +3 -3
  120. package/dest/ethereum/portal_manager.d.ts +7 -6
  121. package/dest/ethereum/portal_manager.d.ts.map +1 -1
  122. package/dest/ethereum/portal_manager.js +48 -22
  123. package/dest/fee/fee_juice_payment_method_with_claim.d.ts +2 -2
  124. package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
  125. package/dest/fee/fee_juice_payment_method_with_claim.js +9 -9
  126. package/dest/fee/fee_payment_method.d.ts +2 -2
  127. package/dest/fee/fee_payment_method.d.ts.map +1 -1
  128. package/dest/fee/private_fee_payment_method.d.ts +2 -2
  129. package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
  130. package/dest/fee/private_fee_payment_method.js +14 -14
  131. package/dest/fee/public_fee_payment_method.d.ts +2 -2
  132. package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
  133. package/dest/fee/public_fee_payment_method.js +14 -14
  134. package/dest/fee/sponsored_fee_payment.d.ts +2 -2
  135. package/dest/fee/sponsored_fee_payment.d.ts.map +1 -1
  136. package/dest/fee/sponsored_fee_payment.js +5 -5
  137. package/dest/scripts/generate_protocol_contract_types.d.ts +2 -0
  138. package/dest/scripts/generate_protocol_contract_types.d.ts.map +1 -0
  139. package/dest/scripts/generate_protocol_contract_types.js +120 -0
  140. package/dest/utils/abi_types.d.ts +2 -2
  141. package/dest/utils/abi_types.d.ts.map +1 -1
  142. package/dest/utils/authwit.d.ts +14 -12
  143. package/dest/utils/authwit.d.ts.map +1 -1
  144. package/dest/utils/authwit.js +27 -20
  145. package/dest/utils/cross_chain.d.ts +2 -2
  146. package/dest/utils/cross_chain.d.ts.map +1 -1
  147. package/dest/utils/fee_juice.d.ts +2 -2
  148. package/dest/utils/fee_juice.js +2 -2
  149. package/dest/utils/field_compressed_string.d.ts +1 -1
  150. package/dest/utils/field_compressed_string.d.ts.map +1 -1
  151. package/dest/utils/field_compressed_string.js +1 -1
  152. package/dest/utils/node.d.ts +13 -2
  153. package/dest/utils/node.d.ts.map +1 -1
  154. package/dest/utils/node.js +46 -0
  155. package/dest/utils/pub_key.d.ts +2 -2
  156. package/dest/utils/pub_key.d.ts.map +1 -1
  157. package/dest/utils/pub_key.js +1 -1
  158. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts +6 -9
  159. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -1
  160. package/dest/wallet/account_entrypoint_meta_payment_method.js +29 -44
  161. package/dest/wallet/account_manager.d.ts +3 -9
  162. package/dest/wallet/account_manager.d.ts.map +1 -1
  163. package/dest/wallet/account_manager.js +6 -12
  164. package/dest/wallet/capabilities.d.ts +452 -0
  165. package/dest/wallet/capabilities.d.ts.map +1 -0
  166. package/dest/wallet/capabilities.js +3 -0
  167. package/dest/wallet/deploy_account_method.d.ts +49 -10
  168. package/dest/wallet/deploy_account_method.d.ts.map +1 -1
  169. package/dest/wallet/deploy_account_method.js +35 -7
  170. package/dest/wallet/index.d.ts +2 -2
  171. package/dest/wallet/index.d.ts.map +1 -1
  172. package/dest/wallet/index.js +1 -1
  173. package/dest/wallet/wallet.d.ts +1853 -1533
  174. package/dest/wallet/wallet.d.ts.map +1 -1
  175. package/dest/wallet/wallet.js +223 -124
  176. package/package.json +27 -15
  177. package/src/account/account.ts +35 -60
  178. package/src/account/account_contract.ts +7 -8
  179. package/src/account/account_with_secret_key.ts +34 -9
  180. package/src/account/index.ts +3 -2
  181. package/src/account/signerless_account.ts +15 -15
  182. package/src/api/account.ts +10 -3
  183. package/src/api/authorization.ts +1 -0
  184. package/src/api/contract.ts +26 -10
  185. package/src/api/deployment.ts +0 -1
  186. package/src/api/events.ts +35 -27
  187. package/src/api/fields.ts +3 -1
  188. package/src/api/keys.ts +2 -2
  189. package/src/api/node.ts +7 -3
  190. package/src/api/note.ts +1 -1
  191. package/src/api/protocol.ts +7 -0
  192. package/src/api/tx.ts +4 -0
  193. package/src/api/wallet.ts +52 -9
  194. package/src/authorization/call_authorization_request.ts +1 -1
  195. package/src/contract/base_contract_interaction.ts +27 -16
  196. package/src/contract/batch_call.ts +62 -48
  197. package/src/contract/contract.ts +7 -5
  198. package/src/contract/contract_base.ts +5 -15
  199. package/src/contract/contract_function_interaction.ts +26 -17
  200. package/src/contract/deploy_method.ts +175 -47
  201. package/src/contract/get_gas_limits.ts +3 -3
  202. package/src/contract/interaction_options.ts +59 -13
  203. package/src/contract/protocol_contracts/auth-registry.ts +553 -0
  204. package/src/contract/protocol_contracts/contract-class-registry.ts +99 -0
  205. package/src/contract/protocol_contracts/contract-instance-registry.ts +302 -0
  206. package/src/contract/protocol_contracts/fee-juice.ts +266 -0
  207. package/src/contract/protocol_contracts/multi-call-entrypoint.ts +336 -0
  208. package/src/contract/protocol_contracts/public-checks.ts +320 -0
  209. package/src/contract/wait_for_proven.ts +1 -1
  210. package/src/contract/wait_opts.ts +21 -0
  211. package/src/deployment/contract_deployer.ts +3 -2
  212. package/src/deployment/publish_class.ts +3 -3
  213. package/src/deployment/publish_instance.ts +3 -6
  214. package/src/ethereum/portal_manager.ts +65 -34
  215. package/src/fee/fee_juice_payment_method_with_claim.ts +9 -7
  216. package/src/fee/fee_payment_method.ts +1 -1
  217. package/src/fee/private_fee_payment_method.ts +12 -10
  218. package/src/fee/public_fee_payment_method.ts +13 -11
  219. package/src/fee/sponsored_fee_payment.ts +6 -4
  220. package/src/scripts/generate_protocol_contract_types.ts +150 -0
  221. package/src/utils/abi_types.ts +1 -1
  222. package/src/utils/authwit.ts +40 -22
  223. package/src/utils/cross_chain.ts +1 -1
  224. package/src/utils/fee_juice.ts +2 -2
  225. package/src/utils/field_compressed_string.ts +1 -1
  226. package/src/utils/node.ts +62 -0
  227. package/src/utils/pub_key.ts +2 -2
  228. package/src/wallet/account_entrypoint_meta_payment_method.ts +29 -60
  229. package/src/wallet/account_manager.ts +7 -15
  230. package/src/wallet/capabilities.ts +500 -0
  231. package/src/wallet/deploy_account_method.ts +78 -16
  232. package/src/wallet/index.ts +1 -1
  233. package/src/wallet/wallet.ts +387 -166
  234. package/dest/account/interface.d.ts +0 -19
  235. package/dest/account/interface.d.ts.map +0 -1
  236. package/dest/account/interface.js +0 -5
  237. package/dest/contract/deploy_sent_tx.d.ts +0 -43
  238. package/dest/contract/deploy_sent_tx.d.ts.map +0 -1
  239. package/dest/contract/deploy_sent_tx.js +0 -40
  240. package/dest/contract/protocol_contracts.d.ts +0 -9
  241. package/dest/contract/protocol_contracts.d.ts.map +0 -1
  242. package/dest/contract/protocol_contracts.js +0 -26
  243. package/dest/contract/sent_tx.d.ts +0 -51
  244. package/dest/contract/sent_tx.d.ts.map +0 -1
  245. package/dest/contract/sent_tx.js +0 -90
  246. package/dest/contract/unsafe_contract.d.ts +0 -15
  247. package/dest/contract/unsafe_contract.d.ts.map +0 -1
  248. package/dest/contract/unsafe_contract.js +0 -6
  249. package/dest/deployment/broadcast_function.d.ts +0 -24
  250. package/dest/deployment/broadcast_function.d.ts.map +0 -1
  251. package/dest/deployment/broadcast_function.js +0 -74
  252. package/dest/wallet/base_wallet.d.ts +0 -91
  253. package/dest/wallet/base_wallet.d.ts.map +0 -1
  254. package/dest/wallet/base_wallet.js +0 -238
  255. package/src/account/interface.ts +0 -25
  256. package/src/contract/deploy_sent_tx.ts +0 -68
  257. package/src/contract/protocol_contracts.ts +0 -35
  258. package/src/contract/sent_tx.ts +0 -130
  259. package/src/contract/unsafe_contract.ts +0 -19
  260. package/src/deployment/broadcast_function.ts +0 -148
  261. package/src/wallet/base_wallet.ts +0 -350
@@ -1 +1 @@
1
- {"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,15 @@
1
- import { mergeExecutionPayloads } from '@aztec/entrypoints/payload';
2
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
2
  import { getInitializer } from '@aztec/stdlib/abi';
4
3
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
4
  import { computePartialAddress, getContractClassFromArtifact, getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contract';
6
5
  import { collectOffchainEffects } from '@aztec/stdlib/tx';
6
+ import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
7
7
  import { publishContractClass } from '../deployment/publish_class.js';
8
8
  import { publishInstance } from '../deployment/publish_instance.js';
9
9
  import { BaseContractInteraction } from './base_contract_interaction.js';
10
10
  import { ContractFunctionInteraction } from './contract_function_interaction.js';
11
- import { DeploySentTx } from './deploy_sent_tx.js';
12
11
  import { getGasLimits } from './get_gas_limits.js';
13
- import { toProfileOptions, toSendOptions, toSimulateOptions } from './interaction_options.js';
12
+ import { NO_WAIT, toProfileOptions, toSendOptions, toSimulateOptions } from './interaction_options.js';
14
13
  /**
15
14
  * Contract interaction for deployment.
16
15
  * Handles class publication, instance publication, and initialization of the contract.
@@ -20,33 +19,40 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
20
19
  * then technically the contract has already been "created", and all of the contract's
21
20
  * functions (private and utility) can be interacted-with immediately, without any
22
21
  * "deployment tx".
23
- *
24
- * Extends the BaseContractInteraction class.
25
22
  */ export class DeployMethod extends BaseContractInteraction {
26
23
  publicKeys;
27
24
  artifact;
28
25
  postDeployCtor;
29
26
  args;
27
+ extraHashedArgs;
30
28
  /** The contract instance to be deployed. */ instance;
31
29
  /** Constructor function to call. */ constructorArtifact;
32
- constructor(publicKeys, wallet, artifact, postDeployCtor, args = [], constructorNameOrArtifact, authWitnesses = [], capsules = []){
33
- super(wallet, authWitnesses, capsules), this.publicKeys = publicKeys, this.artifact = artifact, this.postDeployCtor = postDeployCtor, this.args = args, this.instance = undefined;
30
+ constructor(publicKeys, wallet, artifact, postDeployCtor, args = [], constructorNameOrArtifact, authWitnesses = [], capsules = [], extraHashedArgs = []){
31
+ super(wallet, authWitnesses, capsules), this.publicKeys = publicKeys, this.artifact = artifact, this.postDeployCtor = postDeployCtor, this.args = args, this.extraHashedArgs = extraHashedArgs, this.instance = undefined;
34
32
  this.constructorArtifact = getInitializer(artifact, constructorNameOrArtifact);
35
33
  }
36
34
  /**
37
35
  * Returns the execution payload that allows this operation to happen on chain.
38
36
  * @param options - Configuration options.
39
37
  * @returns The execution payload for this operation
40
- */ async request(options) {
38
+ */ async request(options = {}) {
41
39
  const publication = await this.getPublicationExecutionPayload(options);
42
- await this.wallet.registerContract(await this.getInstance(options), this.artifact);
40
+ if (!options?.skipRegistration) {
41
+ await this.wallet.registerContract(await this.getInstance(options), this.artifact);
42
+ }
43
+ const { authWitnesses, capsules } = options;
44
+ // Propagates the included authwitnesses, capsules, and extraHashedArgs
45
+ // potentially baked into the interaction
46
+ const initialExecutionPayload = new ExecutionPayload([], this.authWitnesses.concat(authWitnesses ?? []), this.capsules.concat(capsules ?? []), this.extraHashedArgs);
43
47
  const initialization = await this.getInitializationExecutionPayload(options);
44
48
  const feeExecutionPayload = options?.fee?.paymentMethod ? await options.fee.paymentMethod.getExecutionPayload() : undefined;
45
49
  const finalExecutionPayload = feeExecutionPayload ? mergeExecutionPayloads([
50
+ initialExecutionPayload,
46
51
  feeExecutionPayload,
47
52
  publication,
48
53
  initialization
49
54
  ]) : mergeExecutionPayloads([
55
+ initialExecutionPayload,
50
56
  publication,
51
57
  initialization
52
58
  ]);
@@ -62,12 +68,36 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
62
68
  };
63
69
  }
64
70
  /**
71
+ * Converts DeployOptions to SendOptions, stripping out the returnReceipt flag if present.
72
+ * @param options - Deploy options with wait parameter
73
+ * @returns Send options with wait parameter
74
+ */ convertDeployOptionsToSendOptions(options) {
75
+ return {
76
+ ...toSendOptions({
77
+ ...options,
78
+ wait: options.wait
79
+ })
80
+ };
81
+ }
82
+ /**
83
+ * Converts deploy simulation options into wallet-level simulate options.
84
+ * @param options - The deploy simulation options to convert.
85
+ */ convertDeployOptionsToSimulateOptions(options) {
86
+ return toSimulateOptions(options);
87
+ }
88
+ /**
89
+ * Converts deploy profile options into wallet-level profile options.
90
+ * @param options - The deploy profile options to convert.
91
+ */ convertDeployOptionsToProfileOptions(options) {
92
+ return toProfileOptions(options);
93
+ }
94
+ /**
65
95
  * Adds this contract to the wallet and returns the Contract object.
66
96
  * @param options - Deployment options.
67
97
  */ async register(options) {
68
98
  const instance = await this.getInstance(options);
69
99
  await this.wallet.registerContract(instance, this.artifact);
70
- return this.postDeployCtor(instance.address, this.wallet);
100
+ return this.postDeployCtor(instance, this.wallet);
71
101
  }
72
102
  /**
73
103
  * Returns an execution payload for:
@@ -88,12 +118,13 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
88
118
  }
89
119
  // Publish the contract class if it hasn't been published already.
90
120
  if (!options?.skipClassPublication) {
91
- if ((await this.wallet.getContractClassMetadata(contractClass.id)).isContractClassPubliclyRegistered) {
92
- this.log.debug(`Skipping publication of already-registered contract class ${contractClass.id.toString()} for ${instance.address.toString()}`);
93
- } else {
121
+ const classMetadata = await this.wallet.getContractClassMetadata(contractClass.id);
122
+ if (!classMetadata.isContractClassPubliclyRegistered) {
94
123
  this.log.info(`Creating request for publishing contract class ${contractClass.id.toString()} as part of deployment for ${instance.address.toString()}`);
95
124
  const registerContractClassInteraction = await publishContractClass(this.wallet, this.artifact);
96
125
  calls.push(await registerContractClassInteraction.request());
126
+ } else {
127
+ this.log.debug(`Skipping contract class publication for ${contractClass.id.toString()} as it is already registered`);
97
128
  }
98
129
  }
99
130
  // Publish the contract instance:
@@ -101,7 +132,7 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
101
132
  // TODO(https://github.com/AztecProtocol/aztec-packages/issues/15596):
102
133
  // Read the artifact, and if there are no public functions, warn the caller that publication of the
103
134
  // contract instance is not necessary (until such time as they wish to update the instance (i.e. change its class_id)).
104
- const deploymentInteraction = await publishInstance(this.wallet, instance);
135
+ const deploymentInteraction = publishInstance(this.wallet, instance);
105
136
  calls.push(await deploymentInteraction.request());
106
137
  }
107
138
  return mergeExecutionPayloads(calls);
@@ -119,21 +150,29 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
119
150
  }
120
151
  return mergeExecutionPayloads(executionsPayloads);
121
152
  }
122
- /**
123
- * Send a contract deployment transaction (initialize and/or publish) using the provided options.
124
- * This function extends the 'send' method from the ContractFunctionInteraction class,
125
- * allowing us to send a transaction specifically for contract deployment.
126
- *
127
- * @param options - An object containing various deployment options such as contractAddressSalt and from.
128
- * @returns A SentTx object that returns the receipt and the deployed contract instance.
129
- */ send(options) {
130
- const sendTx = async ()=>{
131
- const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
132
- const sendOptions = await toSendOptions(options);
133
- return this.wallet.sendTx(executionPayload, sendOptions);
134
- };
135
- this.log.debug(`Sent deployment tx of ${this.artifact.name} contract`);
136
- return new DeploySentTx(this.wallet, sendTx, this.postDeployCtor, ()=>this.getInstance(options));
153
+ // eslint-disable-next-line jsdoc/require-jsdoc
154
+ async send(options) {
155
+ const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
156
+ const sendOptions = this.convertDeployOptionsToSendOptions(options);
157
+ if (options.wait === NO_WAIT) {
158
+ const txHash = await this.wallet.sendTx(executionPayload, sendOptions);
159
+ this.log.debug(`Sent deployment tx ${txHash.hash} of ${this.artifact.name} contract`);
160
+ return txHash;
161
+ }
162
+ const receipt = await this.wallet.sendTx(executionPayload, sendOptions);
163
+ this.log.debug(`Deployed ${this.artifact.name} contract in tx ${receipt.txHash}`);
164
+ // Attach contract instance
165
+ const instance = await this.getInstance(options);
166
+ const contract = this.postDeployCtor(instance, this.wallet);
167
+ // Return full receipt if requested, otherwise just the contract
168
+ if (options.wait && typeof options.wait === 'object' && options.wait.returnReceipt) {
169
+ return {
170
+ ...receipt,
171
+ contract,
172
+ instance
173
+ };
174
+ }
175
+ return contract;
137
176
  }
138
177
  /**
139
178
  * Builds the contract instance and returns it.
@@ -160,7 +199,7 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
160
199
  * estimations (if requested via options), execution statistics and emitted offchain effects
161
200
  */ async simulate(options) {
162
201
  const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
163
- const simulatedTx = await this.wallet.simulateTx(executionPayload, await toSimulateOptions(options));
202
+ const simulatedTx = await this.wallet.simulateTx(executionPayload, this.convertDeployOptionsToSimulateOptions(options));
164
203
  const { gasLimits, teardownGasLimits } = getGasLimits(simulatedTx, options.fee?.estimatedGasPadding);
165
204
  this.log.verbose(`Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`);
166
205
  return {
@@ -180,11 +219,7 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
180
219
  * @returns An object containing the function return value and profile result.
181
220
  */ async profile(options) {
182
221
  const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
183
- return await this.wallet.profileTx(executionPayload, {
184
- ...await toProfileOptions(options),
185
- profileMode: options.profileMode,
186
- skipProofGeneration: options.skipProofGeneration
187
- });
222
+ return await this.wallet.profileTx(executionPayload, this.convertDeployOptionsToProfileOptions(options));
188
223
  }
189
224
  /** Return this deployment address. */ get address() {
190
225
  return this.instance?.address;
@@ -14,4 +14,4 @@ export declare function getGasLimits(simulationResult: TxSimulationResult, pad?:
14
14
  */
15
15
  teardownGasLimits: Gas;
16
16
  };
17
- //# sourceMappingURL=get_gas_limits.d.ts.map
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2dhc19saW1pdHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9nZXRfZ2FzX2xpbWl0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEMsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzRDs7O0dBR0c7QUFDSCx3QkFBZ0IsWUFBWSxDQUMxQixnQkFBZ0IsRUFBRSxrQkFBa0IsRUFDcEMsR0FBRyxTQUFNLEdBQ1I7SUFDRDs7T0FFRztJQUNILFNBQVMsRUFBRSxHQUFHLENBQUM7SUFDZjs7T0FFRztJQUNILGlCQUFpQixFQUFFLEdBQUcsQ0FBQztDQUN4QixDQVlBIn0=
@@ -1,4 +1,4 @@
1
- import { AVM_MAX_PROCESSABLE_L2_GAS } from '@aztec/constants';
1
+ import { MAX_PROCESSABLE_L2_GAS } from '@aztec/constants';
2
2
  /**
3
3
  * Returns suggested total and teardown gas limits for a simulated tx.
4
4
  * @param pad - Percentage to pad the suggested gas limits by, (as decimal, e.g., 0.10 for 10%).
@@ -6,8 +6,8 @@ import { AVM_MAX_PROCESSABLE_L2_GAS } from '@aztec/constants';
6
6
  // Total gas does not use the teardown gas limit, but the actual total gas used by the tx.
7
7
  const gasLimits = simulationResult.gasUsed.totalGas.mul(1 + pad);
8
8
  const teardownGasLimits = simulationResult.gasUsed.teardownGas.mul(1 + pad);
9
- if (gasLimits.l2Gas > AVM_MAX_PROCESSABLE_L2_GAS) {
10
- throw new Error('Transaction consumes more gas than the AVM maximum processable gas');
9
+ if (gasLimits.l2Gas > MAX_PROCESSABLE_L2_GAS) {
10
+ throw new Error('Transaction consumes more l2 gas than the maximum processable gas');
11
11
  }
12
12
  return {
13
13
  gasLimits,
@@ -2,9 +2,10 @@ import type { FieldsOf } from '@aztec/foundation/types';
2
2
  import type { AuthWitness } from '@aztec/stdlib/auth-witness';
3
3
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
  import type { GasSettings } from '@aztec/stdlib/gas';
5
- import type { Capsule, OffchainEffect, SimulationStats } from '@aztec/stdlib/tx';
5
+ import type { Capsule, OffchainEffect, SimulationStats, TxHash, TxReceipt } from '@aztec/stdlib/tx';
6
6
  import type { FeePaymentMethod } from '../fee/fee_payment_method.js';
7
7
  import type { ProfileOptions, SendOptions, SimulateOptions } from '../wallet/index.js';
8
+ import type { WaitOpts } from './wait_opts.js';
8
9
  /**
9
10
  * Options used to tweak the simulation and add gas estimation capabilities
10
11
  */
@@ -47,13 +48,48 @@ export type RequestInteractionOptions = {
47
48
  fee?: FeePaymentMethodOption;
48
49
  };
49
50
  /**
50
- * Represents options for calling a (constrained) function in a contract.
51
+ * Constant for explicitly not waiting for transaction confirmation.
52
+ * We use this instead of false to avoid confusion with falsy checks.
53
+ */
54
+ export declare const NO_WAIT: "NO_WAIT";
55
+ /**
56
+ * Type for the NO_WAIT constant.
57
+ */
58
+ export type NoWait = typeof NO_WAIT;
59
+ /**
60
+ * Type for wait options in interactions.
61
+ * - NO_WAIT symbol: Don't wait for confirmation, return TxHash immediately
62
+ * - WaitOpts object: Wait with custom options and return receipt/result
63
+ * - undefined: Wait with default options and return receipt/result
64
+ */
65
+ export type InteractionWaitOptions = NoWait | WaitOpts | undefined;
66
+ /**
67
+ * Base options for calling a (constrained) function in a contract, without wait parameter.
51
68
  */
52
- export type SendInteractionOptions = RequestInteractionOptions & {
69
+ export type SendInteractionOptionsWithoutWait = RequestInteractionOptions & {
53
70
  /** The sender's Aztec address. */
54
71
  from: AztecAddress;
55
72
  /** The fee options for the transaction. */
56
73
  fee?: InteractionFeeOptions;
74
+ /**
75
+ * Additional addresses whose private state and keys should be accessible during execution,
76
+ * beyond the sender's. Required when the transaction needs to access private state or keys
77
+ * belonging to an address other than `from`, e.g. withdrawing from an escrow that holds
78
+ * its own private notes.
79
+ */
80
+ additionalScopes?: AztecAddress[];
81
+ };
82
+ /**
83
+ * Represents options for calling a (constrained) function in a contract.
84
+ */
85
+ export type SendInteractionOptions<W extends InteractionWaitOptions = undefined> = SendInteractionOptionsWithoutWait & {
86
+ /**
87
+ * Whether to wait for the transaction to be mined.
88
+ * - undefined (default): wait with default options and return TxReceipt
89
+ * - WaitOpts object: wait with custom options and return TxReceipt
90
+ * - NO_WAIT: return txHash immediately without waiting
91
+ */
92
+ wait?: W;
57
93
  };
58
94
  /**
59
95
  * Represents the options for simulating a contract function interaction.
@@ -96,19 +132,27 @@ export type SimulationReturn<T extends boolean | undefined> = T extends true ? {
96
132
  /** Gas estimation results */
97
133
  estimatedGas: Pick<GasSettings, 'gasLimits' | 'teardownGasLimits'>;
98
134
  } : any;
135
+ /**
136
+ * Represents the result type of sending a transaction.
137
+ * If `wait` is NO_WAIT, returns TxHash immediately without waiting.
138
+ * If `wait` is undefined or WaitOpts, returns TReturn (defaults to TxReceipt) after waiting.
139
+ */
140
+ export type SendReturn<T extends InteractionWaitOptions, TReturn = TxReceipt> = T extends NoWait ? TxHash : TReturn;
99
141
  /**
100
142
  * Transforms and cleans up the higher level SendInteractionOptions defined by the interaction into
101
143
  * SendOptions, which are the ones that can be serialized and forwarded to the wallet
144
+ * @param options - The send interaction options with optional wait parameter
145
+ * @returns The send options to forward to the wallet
102
146
  */
103
- export declare function toSendOptions(options: SendInteractionOptions): Promise<SendOptions>;
147
+ export declare function toSendOptions<W extends InteractionWaitOptions = undefined>(options: SendInteractionOptions<W>): SendOptions<W>;
104
148
  /**
105
149
  * Transforms and cleans up the higher level SimulateInteractionOptions defined by the interaction into
106
150
  * SimulateOptions, which are the ones that can be serialized and forwarded to the wallet
107
151
  */
108
- export declare function toSimulateOptions(options: SimulateInteractionOptions): Promise<SimulateOptions>;
152
+ export declare function toSimulateOptions(options: SimulateInteractionOptions): SimulateOptions;
109
153
  /**
110
154
  * Transforms and cleans up the higher level ProfileInteractionOptions defined by the interaction into
111
155
  * ProfileOptions, which are the ones that can be serialized and forwarded to the wallet
112
156
  */
113
- export declare function toProfileOptions(options: ProfileInteractionOptions): Promise<ProfileOptions>;
114
- //# sourceMappingURL=interaction_options.d.ts.map
157
+ export declare function toProfileOptions(options: ProfileInteractionOptions): ProfileOptions;
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25fb3B0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2ludGVyYWN0aW9uX29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXBHLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RixPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQzs7R0FFRztBQUNILE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNqQyxrSEFBa0g7SUFDbEgsV0FBVyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ3RCLHFIQUFxSDtJQUNySCxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUM5QixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLHNCQUFzQixHQUFHO0lBQ25DLHFEQUFxRDtJQUNyRCxhQUFhLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztDQUNsQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLGlCQUFpQixHQUFHO0lBQzlCLHVCQUF1QjtJQUN2QixXQUFXLENBQUMsRUFBRSxPQUFP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
@@ -1 +1 @@
1
- {"version":3,"file":"interaction_options.d.ts","sourceRoot":"","sources":["../../src/contract/interaction_options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interaction_options.d.ts","sourceRoot":"","sources":["../../src/contract/interaction_options.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,16 @@
1
+ /**
2
+ * Constant for explicitly not waiting for transaction confirmation.
3
+ * We use this instead of false to avoid confusion with falsy checks.
4
+ */ export const NO_WAIT = 'NO_WAIT';
1
5
  /**
2
6
  * Transforms and cleans up the higher level SendInteractionOptions defined by the interaction into
3
7
  * SendOptions, which are the ones that can be serialized and forwarded to the wallet
4
- */ export async function toSendOptions(options) {
8
+ * @param options - The send interaction options with optional wait parameter
9
+ * @returns The send options to forward to the wallet
10
+ */ export function toSendOptions(options) {
5
11
  return {
6
12
  ...options,
7
13
  fee: {
8
- // If this interaction includes a fee payment method, pass the fee payer
9
- // as a hint to the wallet
10
- embeddedPaymentMethodFeePayer: await options.fee?.paymentMethod?.getFeePayer(),
11
14
  // If a payment method that includes gas settings was used,
12
15
  // try to reuse as much as possible while still allowing
13
16
  // manual override. CAREFUL: this can cause mismatches during proving
@@ -15,19 +18,17 @@
15
18
  ...options.fee?.paymentMethod?.getGasSettings(),
16
19
  ...options.fee?.gasSettings
17
20
  }
18
- }
21
+ },
22
+ wait: options.wait
19
23
  };
20
24
  }
21
25
  /**
22
26
  * Transforms and cleans up the higher level SimulateInteractionOptions defined by the interaction into
23
27
  * SimulateOptions, which are the ones that can be serialized and forwarded to the wallet
24
- */ export async function toSimulateOptions(options) {
28
+ */ export function toSimulateOptions(options) {
25
29
  return {
26
30
  ...options,
27
31
  fee: {
28
- // If this interaction includes a fee payment method, pass the fee payer
29
- // as a hint to the wallet
30
- embeddedPaymentMethodFeePayer: await options.fee?.paymentMethod?.getFeePayer(),
31
32
  // If a payment method that includes gas settings was used,
32
33
  // try to reuse as much as possible while still allowing
33
34
  // manual override. CAREFUL: this can cause mismatches during proving
@@ -43,9 +44,9 @@
43
44
  /**
44
45
  * Transforms and cleans up the higher level ProfileInteractionOptions defined by the interaction into
45
46
  * ProfileOptions, which are the ones that can be serialized and forwarded to the wallet
46
- */ export async function toProfileOptions(options) {
47
+ */ export function toProfileOptions(options) {
47
48
  return {
48
- ...await toSimulateOptions(options),
49
+ ...toSimulateOptions(options),
49
50
  profileMode: options.profileMode,
50
51
  skipProofGeneration: options.skipProofGeneration
51
52
  };
@@ -0,0 +1,36 @@
1
+ import type { AztecAddressLike, FieldLike } from '../../utils/abi_types.js';
2
+ import type { Wallet } from '../../wallet/wallet.js';
3
+ import { ContractBase, type ContractMethod } from '../contract_base.js';
4
+ import { ContractFunctionInteraction } from '../contract_function_interaction.js';
5
+ export declare class AuthRegistryContract extends ContractBase {
6
+ private constructor();
7
+ static at(wallet: Wallet): AuthRegistryContract;
8
+ methods: {
9
+ /** consume(on_behalf_of: struct, inner_hash: field) */
10
+ consume: ((on_behalf_of: AztecAddressLike, inner_hash: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
11
+ /** is_consumable(on_behalf_of: struct, message_hash: field) */
12
+ is_consumable: ((on_behalf_of: AztecAddressLike, message_hash: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
13
+ /** is_reject_all(on_behalf_of: struct) */
14
+ is_reject_all: ((on_behalf_of: AztecAddressLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
15
+ /** process_message(message_ciphertext: struct, message_context: struct) */
16
+ process_message: ((message_ciphertext: FieldLike[], message_context: {
17
+ tx_hash: FieldLike;
18
+ unique_note_hashes_in_tx: FieldLike[];
19
+ first_nullifier_in_tx: FieldLike;
20
+ recipient: AztecAddressLike;
21
+ }) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
22
+ /** public_dispatch(selector: field) */
23
+ public_dispatch: ((selector: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
24
+ /** set_authorized(message_hash: field, authorize: boolean) */
25
+ set_authorized: ((message_hash: FieldLike, authorize: boolean) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
26
+ /** set_authorized_private(approver: struct, message_hash: field, authorize: boolean) */
27
+ set_authorized_private: ((approver: AztecAddressLike, message_hash: FieldLike, authorize: boolean) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
28
+ /** set_reject_all(reject: boolean) */
29
+ set_reject_all: ((reject: boolean) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
30
+ /** sync_state() */
31
+ sync_state: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
32
+ /** utility_is_consumable(on_behalf_of: struct, message_hash: field) */
33
+ utility_is_consumable: ((on_behalf_of: AztecAddressLike, message_hash: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
34
+ };
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1yZWdpc3RyeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0L3Byb3RvY29sX2NvbnRyYWN0cy9hdXRoLXJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sS0FBSyxFQUNWLGdCQUFnQixFQUVoQixTQUFTLEVBR1YsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUE4ZGxGLHFCQUFhLG9CQUFxQixTQUFRLFlBQVk7SUFDcEQsT0FBTyxlQUVOO0lBRUQsT0FBYyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxvQkFBb0IsQ0FFckQ7SUFFYyxPQUFPLEVBQUU7UUFDdEIsdURBQXVEO1FBQ3ZELE9BQU8sRUFBRSxDQUFDLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxTQUFTLEtBQUssMkJBQTJCLENBQUMsR0FDL0YsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVuQywrREFBK0Q7UUFDL0QsYUFBYSxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLFNBQVMsS0FBSywyQkFBMkIsQ0FBQyxHQUN2RyxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRW5DLDBDQUEwQztRQUMxQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsS0FBSywyQkFBMkIsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFcEgsMkVBQTJFO1FBQzNFLGVBQWUsRUFBRSxDQUFDLENBQ2hCLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxFQUMvQixlQUFlLEVBQUU7WUFDZixPQUFPLEVBQUUsU0FBUyxDQUFDO1lBQ25CLHdCQUF3QixFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLHFCQUFxQixFQUFFLFNBQVMsQ0FBQztZQUNqQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUM7U0FDN0IsS0FDRSwyQkFBMkIsQ0FBQyxHQUMvQixJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRW5DLHVDQUF1QztRQUN2QyxlQUFlLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLEtBQUssMkJBQTJCLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTNHLDhEQUE4RDtRQUM5RCxjQUFjLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sS0FBSywyQkFBMkIsQ0FBQyxHQUM1RixJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRW5DLHdGQUF3RjtRQUN4RixzQkFBc0IsRUFBRSxDQUFDLENBQ3ZCLFFBQVEsRUFBRSxnQkFBZ0IsRUFDMUIsWUFBWSxFQUFFLFNBQVMsRUFDdkIsU0FBUyxFQUFFLE9BQU8sS0FDZiwyQkFBMkIsQ0FBQyxHQUMvQixJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRW5DLHNDQUFzQztRQUN0QyxjQUFjLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLEtBQUssMkJBQTJCLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXRHLG1CQUFtQjtRQUNuQixVQUFVLEVBQUUsQ0FBQyxNQUFNLDJCQUEyQixDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVuRix1RUFBdUU7UUFDdkUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsU0FBUyxLQUFLLDJCQUEyQixDQUFDLEdBQy9HLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7S0FDcEMsQ0FBQztDQUNIIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-registry.d.ts","sourceRoot":"","sources":["../../../src/contract/protocol_contracts/auth-registry.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,gBAAgB,EAEhB,SAAS,EAGV,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AA8dlF,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,OAAO,eAEN;IAED,OAAc,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAErD;IAEc,OAAO,EAAE;QACtB,uDAAuD;QACvD,OAAO,EAAE,CAAC,CAAC,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,KAAK,2BAA2B,CAAC,GAC/F,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEnC,+DAA+D;QAC/D,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,KAAK,2BAA2B,CAAC,GACvG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEnC,0CAA0C;QAC1C,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,gBAAgB,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEpH,2EAA2E;QAC3E,eAAe,EAAE,CAAC,CAChB,kBAAkB,EAAE,SAAS,EAAE,EAC/B,eAAe,EAAE;YACf,OAAO,EAAE,SAAS,CAAC;YACnB,wBAAwB,EAAE,SAAS,EAAE,CAAC;YACtC,qBAAqB,EAAE,SAAS,CAAC;YACjC,SAAS,EAAE,gBAAgB,CAAC;SAC7B,KACE,2BAA2B,CAAC,GAC/B,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEnC,uCAAuC;QACvC,eAAe,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE3G,8DAA8D;QAC9D,cAAc,EAAE,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,KAAK,2BAA2B,CAAC,GAC5F,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEnC,wFAAwF;QACxF,sBAAsB,EAAE,CAAC,CACvB,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,OAAO,KACf,2BAA2B,CAAC,GAC/B,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEnC,sCAAsC;QACtC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEtG,mBAAmB;QACnB,UAAU,EAAE,CAAC,MAAM,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEnF,uEAAuE;QACvE,qBAAqB,EAAE,CAAC,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,KAAK,2BAA2B,CAAC,GAC/G,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;KACpC,CAAC;CACH"}