@aztec/aztec.js 0.0.1-commit.03f7ef2 → 0.0.1-commit.04852196a

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 (214) hide show
  1. package/dest/account/account.d.ts +25 -40
  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 +8 -9
  5. package/dest/account/account_contract.d.ts.map +1 -1
  6. package/dest/account/account_with_secret_key.d.ts +19 -7
  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 +3 -2
  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 +5 -6
  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 +2 -2
  16. package/dest/api/abi.d.ts.map +1 -1
  17. package/dest/api/account.d.ts +2 -4
  18. package/dest/api/account.d.ts.map +1 -1
  19. package/dest/api/account.js +1 -3
  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/contract.d.ts +18 -12
  24. package/dest/api/contract.d.ts.map +1 -1
  25. package/dest/api/contract.js +16 -10
  26. package/dest/api/deployment.d.ts +1 -2
  27. package/dest/api/deployment.d.ts.map +1 -1
  28. package/dest/api/deployment.js +0 -1
  29. package/dest/api/events.d.ts +18 -6
  30. package/dest/api/events.d.ts.map +1 -1
  31. package/dest/api/events.js +37 -22
  32. package/dest/api/fields.d.ts +2 -1
  33. package/dest/api/fields.d.ts.map +1 -1
  34. package/dest/api/fields.js +1 -0
  35. package/dest/api/keys.d.ts +1 -1
  36. package/dest/api/keys.js +1 -1
  37. package/dest/api/node.d.ts +8 -4
  38. package/dest/api/node.d.ts.map +1 -1
  39. package/dest/api/node.js +7 -3
  40. package/dest/api/protocol.d.ts +7 -1
  41. package/dest/api/protocol.d.ts.map +1 -1
  42. package/dest/api/protocol.js +6 -0
  43. package/dest/api/tx.d.ts +2 -2
  44. package/dest/api/tx.d.ts.map +1 -1
  45. package/dest/api/tx.js +1 -1
  46. package/dest/api/wallet.d.ts +3 -2
  47. package/dest/api/wallet.d.ts.map +1 -1
  48. package/dest/api/wallet.js +2 -1
  49. package/dest/authorization/call_authorization_request.d.ts +22 -1
  50. package/dest/authorization/call_authorization_request.d.ts.map +1 -1
  51. package/dest/contract/base_contract_interaction.d.ts +8 -10
  52. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  53. package/dest/contract/base_contract_interaction.js +5 -17
  54. package/dest/contract/batch_call.d.ts +3 -3
  55. package/dest/contract/batch_call.d.ts.map +1 -1
  56. package/dest/contract/batch_call.js +20 -9
  57. package/dest/contract/contract_base.d.ts +4 -1
  58. package/dest/contract/contract_base.d.ts.map +1 -1
  59. package/dest/contract/contract_function_interaction.d.ts +7 -16
  60. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  61. package/dest/contract/contract_function_interaction.js +107 -18
  62. package/dest/contract/deploy_method.d.ts +91 -19
  63. package/dest/contract/deploy_method.d.ts.map +1 -1
  64. package/dest/contract/deploy_method.js +73 -34
  65. package/dest/contract/get_gas_limits.js +3 -3
  66. package/dest/contract/interaction_options.d.ts +99 -21
  67. package/dest/contract/interaction_options.d.ts.map +1 -1
  68. package/dest/contract/interaction_options.js +41 -1
  69. package/dest/contract/protocol_contracts/auth-registry.d.ts +36 -0
  70. package/dest/contract/protocol_contracts/auth-registry.d.ts.map +1 -0
  71. package/dest/contract/protocol_contracts/auth-registry.js +1005 -0
  72. package/dest/contract/protocol_contracts/contract-class-registry.d.ts +15 -0
  73. package/dest/contract/protocol_contracts/contract-class-registry.d.ts.map +1 -0
  74. package/dest/contract/protocol_contracts/contract-class-registry.js +139 -0
  75. package/dest/contract/protocol_contracts/contract-instance-registry.d.ts +22 -0
  76. package/dest/contract/protocol_contracts/contract-instance-registry.d.ts.map +1 -0
  77. package/dest/contract/protocol_contracts/contract-instance-registry.js +465 -0
  78. package/dest/contract/protocol_contracts/fee-juice.d.ts +21 -0
  79. package/dest/contract/protocol_contracts/fee-juice.d.ts.map +1 -0
  80. package/dest/contract/protocol_contracts/fee-juice.js +434 -0
  81. package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts +34 -0
  82. package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts.map +1 -0
  83. package/dest/contract/protocol_contracts/multi-call-entrypoint.js +601 -0
  84. package/dest/contract/protocol_contracts/public-checks.d.ts +26 -0
  85. package/dest/contract/protocol_contracts/public-checks.d.ts.map +1 -0
  86. package/dest/contract/protocol_contracts/public-checks.js +609 -0
  87. package/dest/contract/wait_for_proven.d.ts +2 -2
  88. package/dest/contract/wait_for_proven.d.ts.map +1 -1
  89. package/dest/contract/wait_for_proven.js +1 -1
  90. package/dest/contract/wait_opts.d.ts +16 -0
  91. package/dest/contract/wait_opts.d.ts.map +1 -0
  92. package/dest/contract/wait_opts.js +5 -0
  93. package/dest/deployment/publish_class.js +2 -2
  94. package/dest/deployment/publish_instance.d.ts +2 -2
  95. package/dest/deployment/publish_instance.d.ts.map +1 -1
  96. package/dest/deployment/publish_instance.js +3 -3
  97. package/dest/ethereum/portal_manager.d.ts +7 -4
  98. package/dest/ethereum/portal_manager.d.ts.map +1 -1
  99. package/dest/ethereum/portal_manager.js +15 -16
  100. package/dest/fee/fee_juice_payment_method_with_claim.js +6 -6
  101. package/dest/fee/private_fee_payment_method.d.ts +2 -1
  102. package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
  103. package/dest/fee/private_fee_payment_method.js +11 -10
  104. package/dest/fee/public_fee_payment_method.d.ts +2 -1
  105. package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
  106. package/dest/fee/public_fee_payment_method.js +11 -10
  107. package/dest/fee/sponsored_fee_payment.js +3 -3
  108. package/dest/scripts/generate_protocol_contract_types.d.ts +2 -0
  109. package/dest/scripts/generate_protocol_contract_types.d.ts.map +1 -0
  110. package/dest/scripts/generate_protocol_contract_types.js +120 -0
  111. package/dest/utils/abi_types.d.ts +6 -1
  112. package/dest/utils/abi_types.d.ts.map +1 -1
  113. package/dest/utils/abi_types.js +1 -1
  114. package/dest/utils/authwit.d.ts +8 -6
  115. package/dest/utils/authwit.d.ts.map +1 -1
  116. package/dest/utils/authwit.js +15 -15
  117. package/dest/utils/cross_chain.d.ts +3 -8
  118. package/dest/utils/cross_chain.d.ts.map +1 -1
  119. package/dest/utils/cross_chain.js +8 -15
  120. package/dest/utils/node.d.ts +12 -1
  121. package/dest/utils/node.d.ts.map +1 -1
  122. package/dest/utils/node.js +46 -0
  123. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts +5 -8
  124. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -1
  125. package/dest/wallet/account_entrypoint_meta_payment_method.js +28 -43
  126. package/dest/wallet/account_manager.d.ts +5 -8
  127. package/dest/wallet/account_manager.d.ts.map +1 -1
  128. package/dest/wallet/account_manager.js +5 -11
  129. package/dest/wallet/capabilities.d.ts +452 -0
  130. package/dest/wallet/capabilities.d.ts.map +1 -0
  131. package/dest/wallet/capabilities.js +3 -0
  132. package/dest/wallet/deploy_account_method.d.ts +46 -7
  133. package/dest/wallet/deploy_account_method.d.ts.map +1 -1
  134. package/dest/wallet/deploy_account_method.js +33 -5
  135. package/dest/wallet/index.d.ts +2 -1
  136. package/dest/wallet/index.d.ts.map +1 -1
  137. package/dest/wallet/index.js +1 -0
  138. package/dest/wallet/wallet.d.ts +1810 -2493
  139. package/dest/wallet/wallet.d.ts.map +1 -1
  140. package/dest/wallet/wallet.js +230 -108
  141. package/package.json +25 -14
  142. package/src/account/account.ts +34 -58
  143. package/src/account/account_contract.ts +6 -7
  144. package/src/account/account_with_secret_key.ts +33 -8
  145. package/src/account/index.ts +2 -1
  146. package/src/account/signerless_account.ts +13 -12
  147. package/src/api/abi.ts +1 -0
  148. package/src/api/account.ts +9 -3
  149. package/src/api/authorization.ts +1 -0
  150. package/src/api/contract.ts +31 -9
  151. package/src/api/deployment.ts +0 -1
  152. package/src/api/events.ts +50 -32
  153. package/src/api/fields.ts +1 -0
  154. package/src/api/keys.ts +2 -2
  155. package/src/api/node.ts +7 -3
  156. package/src/api/protocol.ts +7 -0
  157. package/src/api/tx.ts +2 -0
  158. package/src/api/wallet.ts +48 -3
  159. package/src/contract/base_contract_interaction.ts +28 -15
  160. package/src/contract/batch_call.ts +20 -15
  161. package/src/contract/contract_function_interaction.ts +114 -26
  162. package/src/contract/deploy_method.ts +179 -41
  163. package/src/contract/get_gas_limits.ts +3 -3
  164. package/src/contract/interaction_options.ts +141 -23
  165. package/src/contract/protocol_contracts/auth-registry.ts +553 -0
  166. package/src/contract/protocol_contracts/contract-class-registry.ts +99 -0
  167. package/src/contract/protocol_contracts/contract-instance-registry.ts +302 -0
  168. package/src/contract/protocol_contracts/fee-juice.ts +266 -0
  169. package/src/contract/protocol_contracts/multi-call-entrypoint.ts +336 -0
  170. package/src/contract/protocol_contracts/public-checks.ts +320 -0
  171. package/src/contract/wait_for_proven.ts +1 -1
  172. package/src/contract/wait_opts.ts +21 -0
  173. package/src/deployment/publish_class.ts +2 -2
  174. package/src/deployment/publish_instance.ts +3 -6
  175. package/src/ethereum/portal_manager.ts +17 -21
  176. package/src/fee/fee_juice_payment_method_with_claim.ts +5 -5
  177. package/src/fee/private_fee_payment_method.ts +8 -7
  178. package/src/fee/public_fee_payment_method.ts +9 -8
  179. package/src/fee/sponsored_fee_payment.ts +3 -3
  180. package/src/scripts/generate_protocol_contract_types.ts +150 -0
  181. package/src/utils/abi_types.ts +7 -0
  182. package/src/utils/authwit.ts +34 -24
  183. package/src/utils/cross_chain.ts +9 -18
  184. package/src/utils/node.ts +62 -0
  185. package/src/wallet/account_entrypoint_meta_payment_method.ts +28 -60
  186. package/src/wallet/account_manager.ts +5 -13
  187. package/src/wallet/capabilities.ts +500 -0
  188. package/src/wallet/deploy_account_method.ts +74 -13
  189. package/src/wallet/index.ts +1 -0
  190. package/src/wallet/wallet.ts +367 -128
  191. package/dest/account/interface.d.ts +0 -19
  192. package/dest/account/interface.d.ts.map +0 -1
  193. package/dest/account/interface.js +0 -5
  194. package/dest/contract/deploy_sent_tx.d.ts +0 -48
  195. package/dest/contract/deploy_sent_tx.d.ts.map +0 -1
  196. package/dest/contract/deploy_sent_tx.js +0 -46
  197. package/dest/contract/protocol_contracts.d.ts +0 -9
  198. package/dest/contract/protocol_contracts.d.ts.map +0 -1
  199. package/dest/contract/protocol_contracts.js +0 -26
  200. package/dest/contract/sent_tx.d.ts +0 -50
  201. package/dest/contract/sent_tx.d.ts.map +0 -1
  202. package/dest/contract/sent_tx.js +0 -90
  203. package/dest/contract/unsafe_contract.d.ts +0 -15
  204. package/dest/contract/unsafe_contract.d.ts.map +0 -1
  205. package/dest/contract/unsafe_contract.js +0 -6
  206. package/dest/deployment/broadcast_function.d.ts +0 -24
  207. package/dest/deployment/broadcast_function.d.ts.map +0 -1
  208. package/dest/deployment/broadcast_function.js +0 -74
  209. package/src/account/interface.ts +0 -25
  210. package/src/contract/deploy_sent_tx.ts +0 -75
  211. package/src/contract/protocol_contracts.ts +0 -35
  212. package/src/contract/sent_tx.ts +0 -129
  213. package/src/contract/unsafe_contract.ts +0 -19
  214. package/src/deployment/broadcast_function.ts +0 -148
@@ -6,5 +6,5 @@ import type { Wallet } from '../wallet/wallet.js';
6
6
  * @param wallet - The wallet to use for the publication (setup) tx.
7
7
  * @param instance - The instance to publish.
8
8
  */
9
- export declare function publishInstance(wallet: Wallet, instance: ContractInstanceWithAddress): Promise<ContractFunctionInteraction>;
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaF9pbnN0YW5jZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlcGxveW1lbnQvcHVibGlzaF9pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFFLE9BQU8sS0FBSyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFaEcsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQ7Ozs7R0FJRztBQUNILHdCQUFzQixlQUFlLENBQ25DLE1BQU0sRUFBRSxNQUFNLEVBQ2QsUUFBUSxFQUFFLDJCQUEyQixHQUNwQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FXdEMifQ==
9
+ export declare function publishInstance(wallet: Wallet, instance: ContractInstanceWithAddress): ContractFunctionInteraction;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaF9pbnN0YW5jZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlcGxveW1lbnQvcHVibGlzaF9pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFFLE9BQU8sS0FBSyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFaEcsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQ7Ozs7R0FJRztBQUNILHdCQUFnQixlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsMkJBQTJCLEdBQUcsMkJBQTJCLENBV2xIIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"publish_instance.d.ts","sourceRoot":"","sources":["../../src/deployment/publish_instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAEhG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,2BAA2B,GACpC,OAAO,CAAC,2BAA2B,CAAC,CAWtC"}
1
+ {"version":3,"file":"publish_instance.d.ts","sourceRoot":"","sources":["../../src/deployment/publish_instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAEhG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,2BAA2B,GAAG,2BAA2B,CAWlH"}
@@ -1,10 +1,10 @@
1
- import { getInstanceRegistryContract } from '../contract/protocol_contracts.js';
1
+ import { ContractInstanceRegistryContract } from '../contract/protocol_contracts/contract-instance-registry.js';
2
2
  /**
3
3
  * Sets up a call to the canonical contract instance registry to publish a contract instance.
4
4
  * @param wallet - The wallet to use for the publication (setup) tx.
5
5
  * @param instance - The instance to publish.
6
- */ export async function publishInstance(wallet, instance) {
7
- const contractInstanceRegistry = await getInstanceRegistryContract(wallet);
6
+ */ export function publishInstance(wallet, instance) {
7
+ const contractInstanceRegistry = ContractInstanceRegistryContract.at(wallet);
8
8
  const { salt, currentContractClassId: contractClassId, publicKeys, deployer: instanceDeployer } = instance;
9
9
  const isUniversalDeploy = instanceDeployer.isZero();
10
10
  return contractInstanceRegistry.methods.publish_for_public_execution(salt, contractClassId, instance.initializationHash, publicKeys, isUniversalDeploy);
@@ -1,4 +1,5 @@
1
1
  import type { ExtendedViemWalletClient, ViemContract } from '@aztec/ethereum/types';
2
+ import type { EpochNumber } from '@aztec/foundation/branded-types';
2
3
  import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import { EthAddress } from '@aztec/foundation/eth-address';
4
5
  import type { Logger } from '@aztec/foundation/log';
@@ -30,7 +31,9 @@ export type L2AmountClaimWithRecipient = L2AmountClaim & {
30
31
  export declare function generateClaimSecret(logger?: Logger): Promise<[Fr, Fr]>;
31
32
  /** Helper for managing an ERC20 on L1. */
32
33
  export declare class L1TokenManager {
34
+ /** Address of the ERC20 contract. */
33
35
  readonly tokenAddress: EthAddress;
36
+ /** Address of the handler/faucet contract. */
34
37
  readonly handlerAddress: EthAddress | undefined;
35
38
  private readonly extendedClient;
36
39
  private logger;
@@ -70,7 +73,7 @@ export declare class L1FeeJuicePortalManager {
70
73
  private readonly logger;
71
74
  private readonly tokenManager;
72
75
  private readonly contract;
73
- constructor(portalAddress: EthAddress, tokenAddress: EthAddress, handlerAddress: EthAddress, extendedClient: ExtendedViemWalletClient, logger: Logger);
76
+ constructor(portalAddress: EthAddress, tokenAddress: EthAddress, handlerAddress: EthAddress | undefined, extendedClient: ExtendedViemWalletClient, logger: Logger);
74
77
  /** Returns the associated token manager for the L1 ERC20. */
75
78
  getTokenManager(): L1TokenManager;
76
79
  /**
@@ -121,11 +124,11 @@ export declare class L1TokenPortalManager extends L1ToL2TokenPortalManager {
121
124
  * Withdraws funds from the portal by consuming an L2 to L1 message. Returns once the tx is mined on L1.
122
125
  * @param amount - Amount to withdraw.
123
126
  * @param recipient - Who will receive the funds.
124
- * @param blockNumber - L2 block number of the message.
127
+ * @param epochNumber - Epoch number of the message.
125
128
  * @param messageIndex - Index of the message.
126
129
  * @param siblingPath - Sibling path of the message.
127
130
  */
128
- withdrawFunds(amount: bigint, recipient: EthAddress, blockNumber: bigint, messageIndex: bigint, siblingPath: SiblingPath<number>): Promise<void>;
131
+ withdrawFunds(amount: bigint, recipient: EthAddress, epochNumber: EpochNumber, messageIndex: bigint, siblingPath: SiblingPath<number>): Promise<void>;
129
132
  /**
130
133
  * Computes the L2 to L1 message leaf for the given parameters.
131
134
  * @param amount - Amount to bridge.
@@ -135,4 +138,4 @@ export declare class L1TokenPortalManager extends L1ToL2TokenPortalManager {
135
138
  */
136
139
  getL2ToL1MessageLeaf(amount: bigint, recipient: EthAddress, l2Bridge: AztecAddress, callerOnL1?: EthAddress): Promise<Fr>;
137
140
  }
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsX21hbmFnZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldGhlcmV1bS9wb3J0YWxfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdqRSxPQUFPLEVBQUUsS0FBSyxHQUFHLEVBQW1DLE1BQU0sTUFBTSxDQUFDO0FBRWpFLCtDQUErQztBQUMvQyxNQUFNLE1BQU0sT0FBTyxHQUFHO0lBQ3BCLDJCQUEyQjtJQUMzQixXQUFXLEVBQUUsRUFBRSxDQUFDO0lBQ2hCLHVDQUF1QztJQUN2QyxlQUFlLEVBQUUsRUFBRSxDQUFDO0lBQ3BCLDJCQUEyQjtJQUMzQixXQUFXLEVBQUUsR0FBRyxDQUFDO0lBQ2pCLCtDQUErQztJQUMvQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7Q0FDMUIsQ0FBQztBQUVGLG9FQUFvRTtBQUNwRSxNQUFNLE1BQU0sYUFBYSxHQUFHLE9BQU8sR0FBRztJQUF5QixXQUFXLEVBQUUsTUFBTSxDQUFBO0NBQUUsQ0FBQztBQUVyRiw4RkFBOEY7QUFDOUYsTUFBTSxNQUFNLDBCQUEwQixHQUFHLGFBQWEsR0FB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
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsX21hbmFnZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldGhlcmV1bS9wb3J0YWxfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdqRSxPQUFPLEVBQUUsS0FBSyxHQUFHLEVBQW1DLE1BQU0sTUFBTSxDQUFDO0FBRWpFLCtDQUErQztBQUMvQyxNQUFNLE1BQU0sT0FBTyxHQUFHO0lBQ3BCLDJCQUEyQjtJQUMzQixXQUFXLEVBQUUsRUFBRSxDQUFDO0lBQ2hCLHVDQUF1QztJQUN2QyxlQUFlLEVBQUUsRUFBRSxDQUFDO0lBQ3BCLDJCQUEyQjtJQUMzQixXQUFXLEVBQUUsR0FBRyxDQUFDO0lBQ2pCLCtDQUErQztJQUMvQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7Q0FDMUIsQ0FBQztBQUVGLG9FQUFvRTtBQUNwRSxNQUFNLE1BQU0sYUFBYSxHQUFHLE9BQU8sR0FBRztJQUF5QixXQUFXLEVBQUUsTUFBTSxDQUFBO0NBQUUsQ0FBQztB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
@@ -1 +1 @@
1
- {"version":3,"file":"portal_manager.d.ts","sourceRoot":"","sources":["../../src/ethereum/portal_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portal_manager.d.ts","sourceRoot":"","sources":["../../src/ethereum/portal_manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK3D,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAE,KAAK,GAAG,EAAmC,MAAM,MAAM,CAAC;AAEjE,+CAA+C;AAC/C,MAAM,MAAM,OAAO,GAAG;IACpB,2BAA2B;IAC3B,WAAW,EAAE,EAAE,CAAC;IAChB,uCAAuC;IACvC,eAAe,EAAE,EAAE,CAAC;IACpB,2BAA2B;IAC3B,WAAW,EAAE,GAAG,CAAC;IACjB,+CAA+C;IAC/C,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG;IAAyB,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAErF,8FAA8F;AAC9F,MAAM,MAAM,0BAA0B,GAAG,aAAa,GAAG;IACvD,wDAAwD,CAAC,SAAS,EAAE,YAAY,CAAC;CAClF,CAAC;AAOF,8CAA8C;AAC9C,wBAAsB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAK5E;AAED,0CAA0C;AAC1C,qBAAa,cAAc;IAKvB,qCAAqC;aACrB,YAAY,EAAE,UAAU;IACxC,8CAA8C;aAC9B,cAAc,EAAE,UAAU,GAAG,SAAS;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,MAAM;IAThB,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,OAAO,CAAsD;IAErE;IACE,qCAAqC;IACrB,YAAY,EAAE,UAAU;IACxC,8CAA8C;IAC9B,cAAc,EAAE,UAAU,GAAG,SAAS,EACrC,cAAc,EAAE,wBAAwB,EACjD,MAAM,EAAE,MAAM,EAcvB;IAED;;OAEG;IACU,aAAa,oBAKzB;IAED;;;OAGG;IACU,iBAAiB,CAAC,OAAO,EAAE,GAAG,mBAE1C;IAED;;;;OAIG;IACU,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,iBAQnD;IAED;;;;;OAKG;IACU,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,SAAK,iBAKlE;CACF;AAED,4DAA4D;AAC5D,qBAAa,uBAAuB;IAQhC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAElE,YACE,aAAa,EAAE,UAAU,EACzB,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GAAG,SAAS,EACrB,cAAc,EAAE,wBAAwB,EACxC,MAAM,EAAE,MAAM,EAQhC;IAED,6DAA6D;IACtD,eAAe,mBAErB;IAED;;;;;OAKG;IACU,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,UAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CA0DlH;IAED;;;;;OAKG;IACH,OAAoB,GAAG,CACrB,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,wBAAwB,EACxC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,uBAAuB,CAAC,CAclC;CACF;AAED,qFAAqF;AACrF,qBAAa,wBAAwB;IAQjC,SAAS,CAAC,cAAc,EAAE,wBAAwB;IAClD,SAAS,CAAC,MAAM,EAAE,MAAM;IAR1B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;IAEhD,YACE,aAAa,EAAE,UAAU,EACzB,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GAAG,SAAS,EAC5B,cAAc,EAAE,wBAAwB,EACxC,MAAM,EAAE,MAAM,EAQzB;IAED,6DAA6D;IACtD,eAAe,mBAErB;IAED;;;;;OAKG;IACU,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,UAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CA0CtG;IAED;;;;;OAKG;IACU,mBAAmB,CAC9B,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,UAAQ,GACX,OAAO,CAAC,0BAA0B,CAAC,CA0CrC;YAEa,WAAW;CAW1B;AAED,yGAAyG;AACzG,qBAAa,oBAAqB,SAAQ,wBAAwB;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IAExD,YACE,aAAa,EAAE,UAAU,EACzB,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GAAG,SAAS,EACtC,aAAa,EAAE,UAAU,EACzB,cAAc,EAAE,wBAAwB,EACxC,MAAM,EAAE,MAAM,EAQf;IAED;;;;;;;OAOG;IACU,aAAa,CACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,iBAkCjC;IAED;;;;;;OAMG;IACU,oBAAoB,CAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,UAAU,EACrB,QAAQ,EAAE,YAAY,EACtB,UAAU,GAAE,UAA4B,GACvC,OAAO,CAAC,EAAE,CAAC,CAiBb;CACF"}
@@ -118,9 +118,9 @@ import { getContract, toFunctionSelector } from 'viem';
118
118
  * @param mint - Whether to mint the tokens before sending (only during testing).
119
119
  */ async bridgeTokensPublic(to, amount, mint = false) {
120
120
  const [claimSecret, claimSecretHash] = await generateClaimSecret();
121
- const mintableAmount = await this.tokenManager.getMintAmount();
122
- const amountToBridge = amount ?? mintableAmount;
121
+ const amountToBridge = amount ?? await this.tokenManager.getMintAmount();
123
122
  if (mint) {
123
+ const mintableAmount = await this.tokenManager.getMintAmount();
124
124
  if (amountToBridge !== mintableAmount) {
125
125
  throw new Error(`Minting amount must be ${mintableAmount}`);
126
126
  }
@@ -170,10 +170,9 @@ import { getContract, toFunctionSelector } from 'viem';
170
170
  if (feeJuiceAddress.isZero() || feeJuicePortalAddress.isZero()) {
171
171
  throw new Error('Portal or token not deployed on L1');
172
172
  }
173
- if (!feeAssetHandlerAddress || feeAssetHandlerAddress.isZero()) {
174
- throw new Error('Handler not deployed on L1, or handler address is zero');
175
- }
176
- return new L1FeeJuicePortalManager(feeJuicePortalAddress, feeJuiceAddress, feeAssetHandlerAddress, extendedClient, logger);
173
+ // Handler is optional - it's only needed for minting tokens during testing
174
+ const handlerAddress = feeAssetHandlerAddress && !feeAssetHandlerAddress.isZero() ? feeAssetHandlerAddress : undefined;
175
+ return new L1FeeJuicePortalManager(feeJuicePortalAddress, feeJuiceAddress, handlerAddress, extendedClient, logger);
177
176
  }
178
177
  }
179
178
  /** Helper for interacting with a test TokenPortal on L1 for sending tokens to L2. */ export class L1ToL2TokenPortalManager {
@@ -285,40 +284,40 @@ import { getContract, toFunctionSelector } from 'viem';
285
284
  * Withdraws funds from the portal by consuming an L2 to L1 message. Returns once the tx is mined on L1.
286
285
  * @param amount - Amount to withdraw.
287
286
  * @param recipient - Who will receive the funds.
288
- * @param blockNumber - L2 block number of the message.
287
+ * @param epochNumber - Epoch number of the message.
289
288
  * @param messageIndex - Index of the message.
290
289
  * @param siblingPath - Sibling path of the message.
291
- */ async withdrawFunds(amount, recipient, blockNumber, messageIndex, siblingPath) {
292
- this.logger.info(`Sending L1 tx to consume message at block ${blockNumber} index ${messageIndex} to withdraw ${amount}`);
290
+ */ async withdrawFunds(amount, recipient, epochNumber, messageIndex, siblingPath) {
291
+ this.logger.info(`Sending L1 tx to consume message at epoch ${epochNumber} index ${messageIndex} to withdraw ${amount}`);
293
292
  const messageLeafId = getL2ToL1MessageLeafId({
294
293
  leafIndex: messageIndex,
295
294
  siblingPath
296
295
  });
297
- const isConsumedBefore = await this.outbox.read.hasMessageBeenConsumedAtCheckpoint([
298
- blockNumber,
296
+ const isConsumedBefore = await this.outbox.read.hasMessageBeenConsumedAtEpoch([
297
+ BigInt(epochNumber),
299
298
  messageLeafId
300
299
  ]);
301
300
  if (isConsumedBefore) {
302
- throw new Error(`L1 to L2 message at block ${blockNumber} index ${messageIndex} height ${siblingPath.pathSize} has already been consumed`);
301
+ throw new Error(`L2 to L1 message at epoch ${epochNumber} index ${messageIndex} height ${siblingPath.pathSize} has already been consumed`);
303
302
  }
304
303
  // Call function on L1 contract to consume the message
305
304
  const { request: withdrawRequest } = await this.portal.simulate.withdraw([
306
305
  recipient.toString(),
307
306
  amount,
308
307
  false,
309
- BigInt(blockNumber),
308
+ BigInt(epochNumber),
310
309
  messageIndex,
311
310
  siblingPath.toBufferArray().map((buf)=>`0x${buf.toString('hex')}`)
312
311
  ]);
313
312
  await this.extendedClient.waitForTransactionReceipt({
314
313
  hash: await this.extendedClient.writeContract(withdrawRequest)
315
314
  });
316
- const isConsumedAfter = await this.outbox.read.hasMessageBeenConsumedAtCheckpoint([
317
- blockNumber,
315
+ const isConsumedAfter = await this.outbox.read.hasMessageBeenConsumedAtEpoch([
316
+ BigInt(epochNumber),
318
317
  messageLeafId
319
318
  ]);
320
319
  if (!isConsumedAfter) {
321
- throw new Error(`L1 to L2 message at block ${blockNumber} index ${messageIndex} height ${siblingPath.pathSize} not consumed after withdrawal`);
320
+ throw new Error(`L2 to L1 message at epoch ${epochNumber} index ${messageIndex} height ${siblingPath.pathSize} not consumed after withdrawal`);
322
321
  }
323
322
  }
324
323
  /**
@@ -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() {
@@ -5,6 +5,7 @@ import type { Wallet } from '../wallet/wallet.js';
5
5
  import type { FeePaymentMethod } from './fee_payment_method.js';
6
6
  /**
7
7
  * Holds information about how the fee for a transaction is to be paid.
8
+ * @deprecated Is not supported on mainnet. Use {@link FeeJuicePaymentMethodWithClaim} or `SponsoredFeePaymentMethod` instead.
8
9
  */
9
10
  export declare class PrivateFeePaymentMethod implements FeePaymentMethod {
10
11
  /**
@@ -65,4 +66,4 @@ export declare class PrivateFeePaymentMethod implements FeePaymentMethod {
65
66
  getExecutionPayload(): Promise<ExecutionPayload>;
66
67
  getGasSettings(): GasSettings | undefined;
67
68
  }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9mZWVfcGF5bWVudF9tZXRob2QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mZWUvcHJpdmF0ZV9mZWVfcGF5bWVudF9tZXRob2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3BELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEU7O0dBRUc7QUFDSCxxQkFBYSx1QkFBd0IsWUFBVyxnQkFBZ0I7SUFJNUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsZUFBZTtJQUV2Qjs7T0FFRztJQUNILE9BQU8sQ0FBQyxNQUFNO0lBRWQ7O09BRUc7SUFDSCxPQUFPLENBQUMsTUFBTTtJQUNkOztPQUVHO0lBQ0gsU0FBUyxDQUFDLFdBQVcsRUFBRSxXQUFXO0lBQ2xDOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxjQUFjO0lBekJ4QixPQUFPLENBQUMsWUFBWSxDQUFzQztJQUUxRDtJQUNFOztPQUVHO0lBQ0ssZUFBZSxFQUFFLFlBQVk7SUFFckM7O09BRUc7SUFDSyxNQUFNLEVBQUUsWUFBWTtJQUU1Qjs7T0FFRztJQUNLLE1BQU0sRUFBRSxNQUFNO0lBQ3RCOztPQUVHO0lBQ08sV0FBVyxFQUFFLFdBQVc7SUFDbEM7OztPQUdHO0lBQ0ssY0FBYyxVQUFRLEVBQzVCO0lBRUo7OztPQUdHO0lBQ0csUUFBUSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0F1Q3RDO0lBRUQsV0FBVyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FFbkM7SUFFRDs7OztPQUlHO0lBQ0csbUJBQW1CLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBc0NyRDtJQUVELGNBQWMsSUFBSSxXQUFXLEdBQUcsU0FBUyxDQUV4QztDQUNGIn0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9mZWVfcGF5bWVudF9tZXRob2QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mZWUvcHJpdmF0ZV9mZWVfcGF5bWVudF9tZXRob2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3BELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEU7OztHQUdHO0FBQ0gscUJBQWEsdUJBQXdCLFlBQVcsZ0JBQWdCO0lBSTVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLGVBQWU7SUFFdkI7O09BRUc7SUFDSCxPQUFPLENBQUMsTUFBTTtJQUVkOztPQUVHO0lBQ0gsT0FBTyxDQUFDLE1BQU07SUFDZDs7T0FFRztJQUNILFNBQVMsQ0FBQyxXQUFXLEVBQUUsV0FBVztJQUNsQzs7O09BR0c7SUFDSCxPQUFPLENBQUMsY0FBYztJQXpCeEIsT0FBTyxDQUFDLFlBQVksQ0FBc0M7SUFFMUQ7SUFDRTs7T0FFRztJQUNLLGVBQWUsRUFBRSxZQUFZO0lBRXJDOztPQUVHO0lBQ0ssTUFBTSxFQUFFLFlBQVk7SUFFNUI7O09BRUc7SUFDSyxNQUFNLEVBQUUsTUFBTTtJQUN0Qjs7T0FFRztJQUNPLFdBQVcsRUFBRSxXQUFXO0lBQ2xDOzs7T0FHRztJQUNLLGNBQWMsVUFBUSxFQUM1QjtJQUVKOzs7T0FHRztJQUNHLFFBQVEsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLENBdUN0QztJQUVELFdBQVcsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLENBRW5DO0lBRUQ7Ozs7T0FJRztJQUNHLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQXNDckQ7SUFFRCxjQUFjLElBQUksV0FBVyxHQUFHLFNBQVMsQ0FFeEM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"private_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/private_fee_payment_method.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;GAEG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAI5D;;OAEG;IACH,OAAO,CAAC,eAAe;IAEvB;;OAEG;IACH,OAAO,CAAC,MAAM;IAEd;;OAEG;IACH,OAAO,CAAC,MAAM;IACd;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAzBxB,OAAO,CAAC,YAAY,CAAsC;IAE1D;IACE;;OAEG;IACK,eAAe,EAAE,YAAY;IAErC;;OAEG;IACK,MAAM,EAAE,YAAY;IAE5B;;OAEG;IACK,MAAM,EAAE,MAAM;IACtB;;OAEG;IACO,WAAW,EAAE,WAAW;IAClC;;;OAGG;IACK,cAAc,UAAQ,EAC5B;IAEJ;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,CAuCtC;IAED,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAEnC;IAED;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAsCrD;IAED,cAAc,IAAI,WAAW,GAAG,SAAS,CAExC;CACF"}
1
+ {"version":3,"file":"private_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/private_fee_payment_method.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAI5D;;OAEG;IACH,OAAO,CAAC,eAAe;IAEvB;;OAEG;IACH,OAAO,CAAC,MAAM;IAEd;;OAEG;IACH,OAAO,CAAC,MAAM;IACd;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAzBxB,OAAO,CAAC,YAAY,CAAsC;IAE1D;IACE;;OAEG;IACK,eAAe,EAAE,YAAY;IAErC;;OAEG;IACK,MAAM,EAAE,YAAY;IAE5B;;OAEG;IACK,MAAM,EAAE,MAAM;IACtB;;OAEG;IACO,WAAW,EAAE,WAAW;IAClC;;;OAGG;IACK,cAAc,UAAQ,EAC5B;IAEJ;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,CAuCtC;IAED,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAEnC;IAED;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAsCrD;IAED,cAAc,IAAI,WAAW,GAAG,SAAS,CAExC;CACF"}
@@ -1,10 +1,11 @@
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';
6
6
  /**
7
7
  * Holds information about how the fee for a transaction is to be paid.
8
+ * @deprecated Is not supported on mainnet. Use {@link FeeJuicePaymentMethodWithClaim} or `SponsoredFeePaymentMethod` instead.
8
9
  */ export class PrivateFeePaymentMethod {
9
10
  paymentContract;
10
11
  sender;
@@ -85,24 +86,24 @@ import { ContractFunctionInteraction } from '../contract/contract_function_inter
85
86
  const txNonce = Fr.random();
86
87
  const witness = await this.wallet.createAuthWit(this.sender, {
87
88
  caller: this.paymentContract,
88
- call: {
89
+ call: FunctionCall.from({
89
90
  name: 'transfer_to_public',
91
+ to: await this.getAsset(),
92
+ selector: await FunctionSelector.fromSignature('transfer_to_public((Field),(Field),u128,Field)'),
93
+ type: FunctionType.PRIVATE,
94
+ hideMsgSender: false,
95
+ isStatic: false,
90
96
  args: [
91
97
  this.sender.toField(),
92
98
  this.paymentContract.toField(),
93
99
  maxFee,
94
100
  txNonce
95
101
  ],
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
102
  returnTypes: []
102
- }
103
+ })
103
104
  });
104
105
  return new ExecutionPayload([
105
- {
106
+ FunctionCall.from({
106
107
  name: 'fee_entrypoint_private',
107
108
  to: this.paymentContract,
108
109
  selector: await FunctionSelector.fromSignature('fee_entrypoint_private(u128,Field)'),
@@ -114,7 +115,7 @@ import { ContractFunctionInteraction } from '../contract/contract_function_inter
114
115
  txNonce
115
116
  ],
116
117
  returnTypes: []
117
- }
118
+ })
118
119
  ], [
119
120
  witness
120
121
  ], [], [], this.paymentContract);
@@ -5,6 +5,7 @@ import type { Wallet } from '../wallet/wallet.js';
5
5
  import type { FeePaymentMethod } from './fee_payment_method.js';
6
6
  /**
7
7
  * Holds information about how the fee for a transaction is to be paid.
8
+ * @deprecated Is not supported on mainnet. Use {@link FeeJuicePaymentMethodWithClaim} or `SponsoredFeePaymentMethod` instead.
8
9
  */
9
10
  export declare class PublicFeePaymentMethod implements FeePaymentMethod {
10
11
  /**
@@ -55,4 +56,4 @@ export declare class PublicFeePaymentMethod implements FeePaymentMethod {
55
56
  getExecutionPayload(): Promise<ExecutionPayload>;
56
57
  getGasSettings(): GasSettings | undefined;
57
58
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2ZlZV9wYXltZW50X21ldGhvZC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZlZS9wdWJsaWNfZmVlX3BheW1lbnRfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRTs7R0FFRztBQUNILHFCQUFhLHNCQUF1QixZQUFXLGdCQUFnQjtJQUkzRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxlQUFlLEVBQUUsWUFBWTtJQUN2Qzs7T0FFRztJQUNILFNBQVMsQ0FBQyxNQUFNLEVBQUUsWUFBWTtJQUM5Qjs7T0FFRztJQUNILFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTtJQUN4Qjs7T0FFRztJQUNILFNBQVMsQ0FBQyxXQUFXLEVBQUUsV0FBVztJQWxCcEMsT0FBTyxDQUFDLFlBQVksQ0FBc0M7SUFFMUQ7SUFDRTs7T0FFRztJQUNPLGVBQWUsRUFBRSxZQUFZO0lBQ3ZDOztPQUVHO0lBQ08sTUFBTSxFQUFFLFlBQVk7SUFDOUI7O09BRUc7SUFDTyxNQUFNLEVBQUUsTUFBTTtJQUN4Qjs7T0FFRztJQUNPLFdBQVcsRUFBRSxXQUFXLEVBQ2hDO0lBRUo7OztPQUdHO0lBQ0csUUFBUSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0F1Q3RDO0lBRUQsV0FBVyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FFbkM7SUFFRDs7OztPQUlHO0lBQ0csbUJBQW1CLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBNENyRDtJQUVELGNBQWMsSUFBSSxXQUFXLEdBQUcsU0FBUyxDQUV4QztDQUNGIn0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2ZlZV9wYXltZW50X21ldGhvZC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZlZS9wdWJsaWNfZmVlX3BheW1lbnRfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRTs7O0dBR0c7QUFDSCxxQkFBYSxzQkFBdUIsWUFBVyxnQkFBZ0I7SUFJM0Q7O09BRUc7SUFDSCxTQUFTLENBQUMsZUFBZSxFQUFFLFlBQVk7SUFDdkM7O09BRUc7SUFDSCxTQUFTLENBQUMsTUFBTSxFQUFFLFlBQVk7SUFDOUI7O09BRUc7SUFDSCxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU07SUFDeEI7O09BRUc7SUFDSCxTQUFTLENBQUMsV0FBVyxFQUFFLFdBQVc7SUFsQnBDLE9BQU8sQ0FBQyxZQUFZLENBQXNDO0lBRTFEO0lBQ0U7O09BRUc7SUFDTyxlQUFlLEVBQUUsWUFBWTtJQUN2Qzs7T0FFRztJQUNPLE1BQU0sRUFBRSxZQUFZO0lBQzlCOztPQUVHO0lBQ08sTUFBTSxFQUFFLE1BQU07SUFDeEI7O09BRUc7SUFDTyxXQUFXLEVBQUUsV0FBVyxFQUNoQztJQUVKOzs7T0FHRztJQUNHLFFBQVEsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLENBdUN0QztJQUVELFdBQVcsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLENBRW5DO0lBRUQ7Ozs7T0FJRztJQUNHLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQTRDckQ7SUFFRCxjQUFjLElBQUksV0FBVyxHQUFHLFNBQVMsQ0FFeEM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"public_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/public_fee_payment_method.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;GAEG;AACH,qBAAa,sBAAuB,YAAW,gBAAgB;IAI3D;;OAEG;IACH,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY;IAC9B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,WAAW;IAlBpC,OAAO,CAAC,YAAY,CAAsC;IAE1D;IACE;;OAEG;IACO,eAAe,EAAE,YAAY;IACvC;;OAEG;IACO,MAAM,EAAE,YAAY;IAC9B;;OAEG;IACO,MAAM,EAAE,MAAM;IACxB;;OAEG;IACO,WAAW,EAAE,WAAW,EAChC;IAEJ;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,CAuCtC;IAED,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAEnC;IAED;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CA4CrD;IAED,cAAc,IAAI,WAAW,GAAG,SAAS,CAExC;CACF"}
1
+ {"version":3,"file":"public_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/public_fee_payment_method.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;GAGG;AACH,qBAAa,sBAAuB,YAAW,gBAAgB;IAI3D;;OAEG;IACH,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY;IAC9B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,WAAW;IAlBpC,OAAO,CAAC,YAAY,CAAsC;IAE1D;IACE;;OAEG;IACO,eAAe,EAAE,YAAY;IACvC;;OAEG;IACO,MAAM,EAAE,YAAY;IAC9B;;OAEG;IACO,MAAM,EAAE,MAAM;IACxB;;OAEG;IACO,WAAW,EAAE,WAAW,EAChC;IAEJ;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,CAuCtC;IAED,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAEnC;IAED;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CA4CrD;IAED,cAAc,IAAI,WAAW,GAAG,SAAS,CAExC;CACF"}
@@ -1,11 +1,12 @@
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';
6
6
  import { SetPublicAuthwitContractInteraction } from '../utils/authwit.js';
7
7
  /**
8
8
  * Holds information about how the fee for a transaction is to be paid.
9
+ * @deprecated Is not supported on mainnet. Use {@link FeeJuicePaymentMethodWithClaim} or `SponsoredFeePaymentMethod` instead.
9
10
  */ export class PublicFeePaymentMethod {
10
11
  paymentContract;
11
12
  sender;
@@ -79,26 +80,26 @@ import { SetPublicAuthwitContractInteraction } from '../utils/authwit.js';
79
80
  const maxFee = this.gasSettings.getFeeLimit();
80
81
  const intent = {
81
82
  caller: this.paymentContract,
82
- call: {
83
+ call: FunctionCall.from({
83
84
  name: 'transfer_in_public',
85
+ to: await this.getAsset(),
86
+ selector: await FunctionSelector.fromSignature('transfer_in_public((Field),(Field),u128,Field)'),
87
+ type: FunctionType.PUBLIC,
88
+ hideMsgSender: false,
89
+ isStatic: false,
84
90
  args: [
85
91
  this.sender.toField(),
86
92
  this.paymentContract.toField(),
87
93
  maxFee,
88
94
  txNonce
89
95
  ],
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
96
  returnTypes: []
96
- }
97
+ })
97
98
  };
98
99
  const setPublicAuthWitInteraction = await SetPublicAuthwitContractInteraction.create(this.wallet, this.sender, intent, true);
99
100
  return new ExecutionPayload([
100
101
  ...(await setPublicAuthWitInteraction.request()).calls,
101
- {
102
+ FunctionCall.from({
102
103
  name: 'fee_entrypoint_public',
103
104
  to: this.paymentContract,
104
105
  selector: await FunctionSelector.fromSignature('fee_entrypoint_public(u128,Field)'),
@@ -110,7 +111,7 @@ import { SetPublicAuthwitContractInteraction } from '../utils/authwit.js';
110
111
  txNonce
111
112
  ],
112
113
  returnTypes: []
113
- }
114
+ })
114
115
  ], [], [], [], this.paymentContract);
115
116
  }
116
117
  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() {
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVfcHJvdG9jb2xfY29udHJhY3RfdHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL2dlbmVyYXRlX3Byb3RvY29sX2NvbnRyYWN0X3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate_protocol_contract_types.d.ts","sourceRoot":"","sources":["../../src/scripts/generate_protocol_contract_types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Generates type-safe contract wrappers for protocol contracts.
3
+ * These wrappers use a minimal artifact (without bytecode) since PXE already has the full artifacts registered.
4
+ */ import { generateTypescriptContractInterface } from '@aztec/builder/codegen';
5
+ import { FunctionType, getAllFunctionAbis, loadContractArtifact } from '@aztec/stdlib/abi';
6
+ import { promises as fs } from 'fs';
7
+ import path from 'path';
8
+ const log = console.log;
9
+ const noirContractsRoot = path.join(import.meta.dirname, '../../../../noir-projects/noir-contracts');
10
+ const srcPath = path.join(noirContractsRoot, 'target');
11
+ const outputDir = path.join(import.meta.dirname, '../contract/protocol_contracts');
12
+ function toKebabCase(str) {
13
+ return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
14
+ }
15
+ function functionTypeToEnum(type) {
16
+ switch(type){
17
+ case FunctionType.PRIVATE:
18
+ return 'FunctionType.PRIVATE';
19
+ case FunctionType.PUBLIC:
20
+ return 'FunctionType.PUBLIC';
21
+ case FunctionType.UTILITY:
22
+ return 'FunctionType.UTILITY';
23
+ }
24
+ }
25
+ function generateFunctionAbiJson(abi) {
26
+ const baseObj = {
27
+ name: abi.name,
28
+ isOnlySelf: abi.isOnlySelf,
29
+ isStatic: abi.isStatic,
30
+ isInitializer: abi.isInitializer,
31
+ parameters: abi.parameters,
32
+ returnTypes: abi.returnTypes,
33
+ errorTypes: abi.errorTypes
34
+ };
35
+ const jsonStr = JSON.stringify(baseObj);
36
+ return jsonStr.replace('{', `{ functionType: ${functionTypeToEnum(abi.functionType)},`);
37
+ }
38
+ function generateProtocolContractArtifact(input) {
39
+ const allAbis = getAllFunctionAbis(input);
40
+ const functionAbis = input.functions.map((f)=>allAbis.find((abi)=>abi.name === f.name));
41
+ const nonDispatchAbis = input.nonDispatchPublicFunctions;
42
+ const functionsArray = functionAbis.map((abi)=>`{ ...${generateFunctionAbiJson(abi)}, bytecode: Buffer.from([]), debugSymbols: '' }`).join(',\n ');
43
+ const nonDispatchArray = nonDispatchAbis.map((abi)=>generateFunctionAbiJson(abi)).join(',\n ');
44
+ return `{
45
+ name: '${input.name}',
46
+ functions: [
47
+ ${functionsArray}
48
+ ],
49
+ nonDispatchPublicFunctions: [
50
+ ${nonDispatchArray}
51
+ ],
52
+ outputs: { structs: {}, globals: {} },
53
+ storageLayout: {},
54
+ fileMap: {},
55
+ }`;
56
+ }
57
+ async function generateProtocolContractInterface(input, protocolContractName) {
58
+ const baseInterface = await generateTypescriptContractInterface(input);
59
+ // Match everything between "public declare methods: {" and the closing "};"
60
+ const methodsMatch = baseInterface.match(/public declare methods: \{([\s\S]*?)\n \};/);
61
+ if (!methodsMatch) {
62
+ throw new Error('Could not extract methods from generated interface');
63
+ }
64
+ const artifactCode = generateProtocolContractArtifact(input);
65
+ const contractName = `${input.name}Contract`;
66
+ return `
67
+ /* Autogenerated file, do not edit! */
68
+
69
+ /* eslint-disable */
70
+ import { ProtocolContractAddress } from '@aztec/protocol-contracts';
71
+ import { FunctionType } from '@aztec/stdlib/abi';
72
+
73
+ import type { ContractArtifact } from '../../api/abi.js';
74
+ import { PublicKeys } from '../../api/keys.js';
75
+ import type { AztecAddressLike, EthAddressLike, FieldLike, FunctionSelectorLike, WrappedFieldLike } from '../../utils/abi_types.js';
76
+ import { ContractBase, type ContractMethod } from '../contract_base.js';
77
+ import { ContractFunctionInteraction } from '../contract_function_interaction.js';
78
+ import type { Wallet } from '../../wallet/wallet.js';
79
+
80
+ const ${contractName}Artifact: ContractArtifact = ${artifactCode};
81
+
82
+ export class ${contractName} extends ContractBase {
83
+ private constructor(wallet: Wallet) {
84
+ super(ProtocolContractAddress.${protocolContractName}, ${contractName}Artifact, wallet);
85
+ }
86
+
87
+ public static at(wallet: Wallet): ${contractName} {
88
+ return new ${contractName}(wallet);
89
+ }
90
+
91
+ public declare methods: {${methodsMatch[1]}
92
+ };
93
+ }
94
+ `;
95
+ }
96
+ async function main() {
97
+ await fs.rm(outputDir, {
98
+ recursive: true,
99
+ force: true
100
+ });
101
+ await fs.mkdir(outputDir, {
102
+ recursive: true
103
+ });
104
+ const srcNames = JSON.parse(await fs.readFile(path.join(noirContractsRoot, 'protocol_contracts.json'), 'utf8'));
105
+ for (const srcName of srcNames){
106
+ // srcName is like "auth_registry_contract-AuthRegistry", split to get the contract name
107
+ const name = srcName.split('-')[1];
108
+ const artifactPath = path.join(srcPath, `${srcName}.json`);
109
+ const json = JSON.parse(await fs.readFile(artifactPath, 'utf8'));
110
+ const contractArtifact = loadContractArtifact(json);
111
+ const content = await generateProtocolContractInterface(contractArtifact, name);
112
+ const fileName = `${toKebabCase(name)}.ts`;
113
+ await fs.writeFile(path.join(outputDir, fileName), content);
114
+ log(`Generated ${fileName}`);
115
+ }
116
+ }
117
+ main().catch((err)=>{
118
+ console.error('Error generating protocol contract types:', err);
119
+ process.exit(1);
120
+ });
@@ -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 { };