@aztec/aztec.js 0.23.0 → 0.26.1

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 (155) hide show
  1. package/dest/account/index.d.ts +1 -1
  2. package/dest/account/index.d.ts.map +1 -1
  3. package/dest/account/interface.d.ts +12 -2
  4. package/dest/account/interface.d.ts.map +1 -1
  5. package/dest/account/interface.js +1 -1
  6. package/dest/account_manager/index.d.ts +4 -2
  7. package/dest/account_manager/index.d.ts.map +1 -1
  8. package/dest/account_manager/index.js +15 -6
  9. package/dest/api/account.d.ts +1 -1
  10. package/dest/api/account.d.ts.map +1 -1
  11. package/dest/api/account.js +1 -1
  12. package/dest/api/deployment.d.ts +4 -0
  13. package/dest/api/deployment.d.ts.map +1 -0
  14. package/dest/api/deployment.js +4 -0
  15. package/dest/api/fee.d.ts +5 -0
  16. package/dest/api/fee.d.ts.map +1 -0
  17. package/dest/api/fee.js +4 -0
  18. package/dest/contract/base_contract_interaction.d.ts +5 -0
  19. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  20. package/dest/contract/base_contract_interaction.js +1 -1
  21. package/dest/contract/batch_call.d.ts +3 -2
  22. package/dest/contract/batch_call.d.ts.map +1 -1
  23. package/dest/contract/batch_call.js +4 -3
  24. package/dest/contract/contract.d.ts +4 -2
  25. package/dest/contract/contract.d.ts.map +1 -1
  26. package/dest/contract/contract.js +7 -5
  27. package/dest/contract/contract_function_interaction.d.ts +2 -2
  28. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  29. package/dest/contract/contract_function_interaction.js +4 -4
  30. package/dest/contract/deploy_method.d.ts +37 -12
  31. package/dest/contract/deploy_method.d.ts.map +1 -1
  32. package/dest/contract/deploy_method.js +79 -35
  33. package/dest/contract/deploy_sent_tx.d.ts +3 -3
  34. package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
  35. package/dest/contract/deploy_sent_tx.js +4 -7
  36. package/dest/contract/sent_tx.d.ts.map +1 -1
  37. package/dest/contract/sent_tx.js +10 -10
  38. package/dest/contract/unsafe_contract.d.ts +15 -0
  39. package/dest/contract/unsafe_contract.d.ts.map +1 -0
  40. package/dest/contract/unsafe_contract.js +14 -0
  41. package/dest/deployment/broadcast_function.d.ts +24 -0
  42. package/dest/deployment/broadcast_function.d.ts.map +1 -0
  43. package/dest/deployment/broadcast_function.js +67 -0
  44. package/dest/{contract_deployer → deployment}/contract_deployer.d.ts +4 -3
  45. package/dest/deployment/contract_deployer.d.ts.map +1 -0
  46. package/dest/{contract_deployer → deployment}/contract_deployer.js +5 -4
  47. package/dest/deployment/deploy_instance.d.ts +13 -0
  48. package/dest/deployment/deploy_instance.d.ts.map +1 -0
  49. package/dest/deployment/deploy_instance.js +13 -0
  50. package/dest/deployment/index.d.ts.map +1 -0
  51. package/dest/{contract_deployer → deployment}/index.js +1 -1
  52. package/dest/deployment/protocol_contracts.d.ts +7 -0
  53. package/dest/deployment/protocol_contracts.d.ts.map +1 -0
  54. package/dest/deployment/protocol_contracts.js +14 -0
  55. package/dest/deployment/register_class.d.ts +6 -0
  56. package/dest/deployment/register_class.d.ts.map +1 -0
  57. package/dest/deployment/register_class.js +12 -0
  58. package/dest/fee/fee_payment_method.d.ts +24 -0
  59. package/dest/fee/fee_payment_method.d.ts.map +1 -0
  60. package/dest/fee/fee_payment_method.js +2 -0
  61. package/dest/fee/native_fee_payment_method.d.ts +32 -0
  62. package/dest/fee/native_fee_payment_method.d.ts.map +1 -0
  63. package/dest/fee/native_fee_payment_method.js +54 -0
  64. package/dest/fee/private_fee_payment_method.d.ts +52 -0
  65. package/dest/fee/private_fee_payment_method.d.ts.map +1 -0
  66. package/dest/fee/private_fee_payment_method.js +62 -0
  67. package/dest/fee/public_fee_payment_method.d.ts +52 -0
  68. package/dest/fee/public_fee_payment_method.d.ts.map +1 -0
  69. package/dest/fee/public_fee_payment_method.js +62 -0
  70. package/dest/index.d.ts +6 -4
  71. package/dest/index.d.ts.map +1 -1
  72. package/dest/index.js +7 -5
  73. package/dest/rpc_clients/pxe_client.d.ts.map +1 -1
  74. package/dest/rpc_clients/pxe_client.js +15 -15
  75. package/dest/utils/authwit.d.ts +30 -4
  76. package/dest/utils/authwit.d.ts.map +1 -1
  77. package/dest/utils/authwit.js +35 -5
  78. package/dest/utils/cheat_codes.js +3 -3
  79. package/dest/utils/index.d.ts +0 -1
  80. package/dest/utils/index.d.ts.map +1 -1
  81. package/dest/utils/index.js +1 -2
  82. package/dest/utils/l2_contracts.js +2 -2
  83. package/dest/wallet/account_wallet.d.ts +10 -3
  84. package/dest/wallet/account_wallet.d.ts.map +1 -1
  85. package/dest/wallet/account_wallet.js +34 -10
  86. package/dest/wallet/base_wallet.d.ts +7 -4
  87. package/dest/wallet/base_wallet.d.ts.map +1 -1
  88. package/dest/wallet/base_wallet.js +9 -3
  89. package/dest/wallet/signerless_wallet.js +2 -2
  90. package/package.json +9 -6
  91. package/src/account/contract.ts +33 -0
  92. package/src/account/index.ts +16 -0
  93. package/src/account/interface.ts +47 -0
  94. package/src/account/wallet.ts +8 -0
  95. package/src/account_manager/deploy_account_sent_tx.ts +42 -0
  96. package/src/account_manager/index.ts +188 -0
  97. package/src/api/README.md +7 -0
  98. package/src/api/abi.ts +3 -0
  99. package/src/api/account.ts +13 -0
  100. package/src/api/aztec_address.ts +1 -0
  101. package/src/api/deployment.ts +3 -0
  102. package/src/api/eth_address.ts +1 -0
  103. package/src/api/ethereum.ts +6 -0
  104. package/src/api/fee.ts +4 -0
  105. package/src/api/fields.ts +1 -0
  106. package/src/api/init.ts +10 -0
  107. package/src/api/interfaces/pxe.ts +1 -0
  108. package/src/api/log_id.ts +1 -0
  109. package/src/api/tx_hash.ts +1 -0
  110. package/src/api/wallet.ts +1 -0
  111. package/src/contract/base_contract_interaction.ts +67 -0
  112. package/src/contract/batch_call.ts +24 -0
  113. package/src/contract/checker.ts +117 -0
  114. package/src/contract/contract.ts +64 -0
  115. package/src/contract/contract_base.ts +72 -0
  116. package/src/contract/contract_function_interaction.ts +80 -0
  117. package/src/contract/deploy_method.ts +192 -0
  118. package/src/contract/deploy_sent_tx.ts +66 -0
  119. package/src/contract/index.ts +44 -0
  120. package/src/contract/sent_tx.ts +135 -0
  121. package/src/contract/unsafe_contract.ts +19 -0
  122. package/src/deployment/broadcast_function.ts +118 -0
  123. package/src/deployment/contract_deployer.ts +42 -0
  124. package/src/deployment/deploy_instance.ts +28 -0
  125. package/src/deployment/index.ts +1 -0
  126. package/src/deployment/protocol_contracts.ts +17 -0
  127. package/src/deployment/register_class.ts +19 -0
  128. package/src/fee/fee_payment_method.ts +25 -0
  129. package/src/fee/native_fee_payment_method.ts +60 -0
  130. package/src/fee/private_fee_payment_method.ts +79 -0
  131. package/src/fee/public_fee_payment_method.ts +79 -0
  132. package/src/index.ts +150 -0
  133. package/src/rpc_clients/index.ts +1 -0
  134. package/src/rpc_clients/pxe_client.ts +63 -0
  135. package/src/utils/abi_types.ts +16 -0
  136. package/src/utils/account.ts +32 -0
  137. package/src/utils/authwit.ts +62 -0
  138. package/src/utils/cheat_codes.ts +297 -0
  139. package/src/utils/index.ts +8 -0
  140. package/src/utils/l1_contracts.ts +21 -0
  141. package/src/utils/l2_contracts.ts +12 -0
  142. package/src/utils/pub_key.ts +12 -0
  143. package/src/utils/pxe.ts +16 -0
  144. package/src/wallet/account_wallet.ts +94 -0
  145. package/src/wallet/account_wallet_with_private_key.ts +28 -0
  146. package/src/wallet/base_wallet.ts +129 -0
  147. package/src/wallet/create_recipient.ts +13 -0
  148. package/src/wallet/index.ts +31 -0
  149. package/src/wallet/signerless_wallet.ts +37 -0
  150. package/dest/contract_deployer/contract_deployer.d.ts.map +0 -1
  151. package/dest/contract_deployer/index.d.ts.map +0 -1
  152. package/dest/utils/secrets.d.ts +0 -8
  153. package/dest/utils/secrets.d.ts.map +0 -1
  154. package/dest/utils/secrets.js +0 -10
  155. /package/dest/{contract_deployer → deployment}/index.d.ts +0 -0
@@ -0,0 +1,24 @@
1
+ import { FunctionCall } from '@aztec/circuit-types';
2
+ import { AztecAddress } from '@aztec/foundation/aztec-address';
3
+ import { Fr } from '@aztec/foundation/fields';
4
+ /**
5
+ * Holds information about how the fee for a transaction is to be paid.
6
+ */
7
+ export interface FeePaymentMethod {
8
+ /**
9
+ * The asset used to pay the fee.
10
+ */
11
+ getAsset(): AztecAddress;
12
+ /**
13
+ * Address which will hold the fee payment.
14
+ */
15
+ getPaymentContract(): AztecAddress;
16
+ /**
17
+ * Creates a function call to pay the fee in the given asset.
18
+ * TODO(fees) replace maxFee with gas limits
19
+ * @param maxFee - The maximum fee to be paid in the given asset.
20
+ * @returns The function call to pay the fee.
21
+ */
22
+ getFunctionCalls(maxFee: Fr): Promise<FunctionCall[]>;
23
+ }
24
+ //# sourceMappingURL=fee_payment_method.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,IAAI,YAAY,CAAC;IACzB;;OAEG;IACH,kBAAkB,IAAI,YAAY,CAAC;IAEnC;;;;;OAKG;IACH,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACvD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX3BheW1lbnRfbWV0aG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZlZS9mZWVfcGF5bWVudF9tZXRob2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,32 @@
1
+ import { FunctionCall } from '@aztec/circuit-types';
2
+ import { Fr } from '@aztec/foundation/fields';
3
+ import { FeePaymentMethod } from './fee_payment_method.js';
4
+ /**
5
+ * Pay fee directly in the native gas token.
6
+ */
7
+ export declare class NativeFeePaymentMethod implements FeePaymentMethod {
8
+ #private;
9
+ constructor();
10
+ /**
11
+ * Gets the native gas asset used to pay the fee.
12
+ * @returns The asset used to pay the fee.
13
+ */
14
+ getAsset(): import("@aztec/circuits.js").AztecAddress;
15
+ /**
16
+ * The contract responsible for fee payment. This will be the same as the asset.
17
+ * @returns The contract address responsible for holding the fee payment.
18
+ */
19
+ getPaymentContract(): import("@aztec/circuits.js").AztecAddress;
20
+ /**
21
+ * Fee payments in the native gas token are always public.
22
+ * @returns false
23
+ */
24
+ isPrivateFeePayment(): boolean;
25
+ /**
26
+ * Creates a function call to pay the fee in gas token..
27
+ * @param feeLimit - The maximum fee to be paid in gas token.
28
+ * @returns A function call
29
+ */
30
+ getFunctionCalls(feeLimit: Fr): Promise<FunctionCall[]>;
31
+ }
32
+ //# sourceMappingURL=native_fee_payment_method.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/native_fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,qBAAa,sBAAuB,YAAW,gBAAgB;;;IAK7D;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,kBAAkB;IAIlB;;;OAGG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAcxD"}
@@ -0,0 +1,54 @@
1
+ var _a, _NativeFeePaymentMethod_GAS_TOKEN;
2
+ import { __classPrivateFieldGet } from "tslib";
3
+ import { FunctionData } from '@aztec/circuits.js';
4
+ import { FunctionSelector } from '@aztec/foundation/abi';
5
+ import { GasTokenAddress } from '@aztec/protocol-contracts/gas-token';
6
+ /**
7
+ * Pay fee directly in the native gas token.
8
+ */
9
+ export class NativeFeePaymentMethod {
10
+ constructor() { }
11
+ /**
12
+ * Gets the native gas asset used to pay the fee.
13
+ * @returns The asset used to pay the fee.
14
+ */
15
+ getAsset() {
16
+ return __classPrivateFieldGet(_a, _a, "f", _NativeFeePaymentMethod_GAS_TOKEN);
17
+ }
18
+ /**
19
+ * The contract responsible for fee payment. This will be the same as the asset.
20
+ * @returns The contract address responsible for holding the fee payment.
21
+ */
22
+ getPaymentContract() {
23
+ return __classPrivateFieldGet(_a, _a, "f", _NativeFeePaymentMethod_GAS_TOKEN);
24
+ }
25
+ /**
26
+ * Fee payments in the native gas token are always public.
27
+ * @returns false
28
+ */
29
+ isPrivateFeePayment() {
30
+ return false;
31
+ }
32
+ /**
33
+ * Creates a function call to pay the fee in gas token..
34
+ * @param feeLimit - The maximum fee to be paid in gas token.
35
+ * @returns A function call
36
+ */
37
+ getFunctionCalls(feeLimit) {
38
+ return Promise.resolve([
39
+ {
40
+ to: __classPrivateFieldGet(_a, _a, "f", _NativeFeePaymentMethod_GAS_TOKEN),
41
+ functionData: new FunctionData(FunctionSelector.fromSignature('check_balance(Field)'), false, false, false),
42
+ args: [feeLimit],
43
+ },
44
+ {
45
+ to: __classPrivateFieldGet(_a, _a, "f", _NativeFeePaymentMethod_GAS_TOKEN),
46
+ functionData: new FunctionData(FunctionSelector.fromSignature('pay_fee(Field)'), false, false, false),
47
+ args: [feeLimit],
48
+ },
49
+ ]);
50
+ }
51
+ }
52
+ _a = NativeFeePaymentMethod;
53
+ _NativeFeePaymentMethod_GAS_TOKEN = { value: GasTokenAddress };
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlX2ZlZV9wYXltZW50X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mZWUvbmF0aXZlX2ZlZV9wYXltZW50X21ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFJdEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLGdCQUFlLENBQUM7SUFFaEI7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sdUJBQUEsRUFBc0IsNkNBQVcsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sdUJBQUEsRUFBc0IsNkNBQVcsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsbUJBQW1CO1FBQ2pCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxRQUFZO1FBQzNCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUNyQjtnQkFDRSxFQUFFLEVBQUUsdUJBQUEsRUFBc0IsNkNBQVc7Z0JBQ3JDLFlBQVksRUFBRSxJQUFJLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztnQkFDM0csSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO2FBQ2pCO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLHVCQUFBLEVBQXNCLDZDQUFXO2dCQUNyQyxZQUFZLEVBQUUsSUFBSSxZQUFZLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7Z0JBQ3JHLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNqQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OztBQTlDTSw2Q0FBYSxlQUFlLEVBQWxCLENBQW1CIn0=
@@ -0,0 +1,52 @@
1
+ import { FunctionCall } from '@aztec/circuit-types';
2
+ import { AztecAddress } from '@aztec/foundation/aztec-address';
3
+ import { Fr } from '@aztec/foundation/fields';
4
+ import { AccountWalletWithPrivateKey } from '../wallet/account_wallet_with_private_key.js';
5
+ import { FeePaymentMethod } from './fee_payment_method.js';
6
+ /**
7
+ * Holds information about how the fee for a transaction is to be paid.
8
+ */
9
+ export declare class PrivateFeePaymentMethod implements FeePaymentMethod {
10
+ /**
11
+ * The asset used to pay the fee.
12
+ */
13
+ private asset;
14
+ /**
15
+ * Address which will hold the fee payment.
16
+ */
17
+ private paymentContract;
18
+ /**
19
+ * An auth witness provider to authorize fee payments
20
+ */
21
+ private wallet;
22
+ constructor(
23
+ /**
24
+ * The asset used to pay the fee.
25
+ */
26
+ asset: AztecAddress,
27
+ /**
28
+ * Address which will hold the fee payment.
29
+ */
30
+ paymentContract: AztecAddress,
31
+ /**
32
+ * An auth witness provider to authorize fee payments
33
+ */
34
+ wallet: AccountWalletWithPrivateKey);
35
+ /**
36
+ * The asset used to pay the fee.
37
+ * @returns The asset used to pay the fee.
38
+ */
39
+ getAsset(): AztecAddress;
40
+ /**
41
+ * The address which will facilitate the fee payment.
42
+ * @returns The contract address responsible for holding the fee payment.
43
+ */
44
+ getPaymentContract(): AztecAddress;
45
+ /**
46
+ * Creates a function call to pay the fee in the given asset.
47
+ * @param maxFee - The maximum fee to be paid in the given asset.
48
+ * @returns The function call to pay the fee.
49
+ */
50
+ getFunctionCalls(maxFee: Fr): Promise<FunctionCall[]>;
51
+ }
52
+ //# sourceMappingURL=private_fee_payment_method.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/private_fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAE5D;;OAEG;IACH,OAAO,CAAC,KAAK;IACb;;OAEG;IACH,OAAO,CAAC,eAAe;IAEvB;;OAEG;IACH,OAAO,CAAC,MAAM;;IAZd;;OAEG;IACK,KAAK,EAAE,YAAY;IAC3B;;OAEG;IACK,eAAe,EAAE,YAAY;IAErC;;OAEG;IACK,MAAM,EAAE,2BAA2B;IAG7C;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,kBAAkB;IAIlB;;;;OAIG;IACG,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CA2B5D"}
@@ -0,0 +1,62 @@
1
+ import { FunctionData } from '@aztec/circuits.js';
2
+ import { FunctionSelector } from '@aztec/foundation/abi';
3
+ import { Fr } from '@aztec/foundation/fields';
4
+ import { computeAuthWitMessageHash } from '../utils/authwit.js';
5
+ /**
6
+ * Holds information about how the fee for a transaction is to be paid.
7
+ */
8
+ export class PrivateFeePaymentMethod {
9
+ constructor(
10
+ /**
11
+ * The asset used to pay the fee.
12
+ */
13
+ asset,
14
+ /**
15
+ * Address which will hold the fee payment.
16
+ */
17
+ paymentContract,
18
+ /**
19
+ * An auth witness provider to authorize fee payments
20
+ */
21
+ wallet) {
22
+ this.asset = asset;
23
+ this.paymentContract = paymentContract;
24
+ this.wallet = wallet;
25
+ }
26
+ /**
27
+ * The asset used to pay the fee.
28
+ * @returns The asset used to pay the fee.
29
+ */
30
+ getAsset() {
31
+ return this.asset;
32
+ }
33
+ /**
34
+ * The address which will facilitate the fee payment.
35
+ * @returns The contract address responsible for holding the fee payment.
36
+ */
37
+ getPaymentContract() {
38
+ return this.paymentContract;
39
+ }
40
+ /**
41
+ * Creates a function call to pay the fee in the given asset.
42
+ * @param maxFee - The maximum fee to be paid in the given asset.
43
+ * @returns The function call to pay the fee.
44
+ */
45
+ async getFunctionCalls(maxFee) {
46
+ const nonce = Fr.random();
47
+ const messageHash = computeAuthWitMessageHash(this.paymentContract, {
48
+ args: [this.wallet.getAddress(), this.paymentContract, maxFee, nonce],
49
+ functionData: new FunctionData(FunctionSelector.fromSignature('unshield((Field),(Field),Field,Field)'), false, true, false),
50
+ to: this.asset,
51
+ });
52
+ await this.wallet.createAuthWitness(messageHash);
53
+ return [
54
+ {
55
+ to: this.getPaymentContract(),
56
+ functionData: new FunctionData(FunctionSelector.fromSignature('fee_entrypoint_private(Field,(Field),Field)'), false, true, false),
57
+ args: [maxFee, this.asset, nonce],
58
+ },
59
+ ];
60
+ }
61
+ }
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9mZWVfcGF5bWVudF9tZXRob2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmVlL3ByaXZhdGVfZmVlX3BheW1lbnRfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJaEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDO0lBQ0U7O09BRUc7SUFDSyxLQUFtQjtJQUMzQjs7T0FFRztJQUNLLGVBQTZCO0lBRXJDOztPQUVHO0lBQ0ssTUFBbUM7UUFUbkMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUluQixvQkFBZSxHQUFmLGVBQWUsQ0FBYztRQUs3QixXQUFNLEdBQU4sTUFBTSxDQUE2QjtJQUMxQyxDQUFDO0lBRUo7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFVO1FBQy9CLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixNQUFNLFdBQVcsR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ2xFLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQ3JFLFlBQVksRUFBRSxJQUFJLFlBQVksQ0FDNUIsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLHVDQUF1QyxDQUFDLEVBQ3ZFLEtBQUssRUFDTCxJQUFJLEVBQ0osS0FBSyxDQUNOO1lBQ0QsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWpELE9BQU87WUFDTDtnQkFDRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFO2dCQUM3QixZQUFZLEVBQUUsSUFBSSxZQUFZLENBQzVCLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyw2Q0FBNkMsQ0FBQyxFQUM3RSxLQUFLLEVBQ0wsSUFBSSxFQUNKLEtBQUssQ0FDTjtnQkFDRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7YUFDbEM7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
@@ -0,0 +1,52 @@
1
+ import { FunctionCall } from '@aztec/circuit-types';
2
+ import { AztecAddress } from '@aztec/foundation/aztec-address';
3
+ import { Fr } from '@aztec/foundation/fields';
4
+ import { AccountWallet } from '../wallet/account_wallet.js';
5
+ import { FeePaymentMethod } from './fee_payment_method.js';
6
+ /**
7
+ * Holds information about how the fee for a transaction is to be paid.
8
+ */
9
+ export declare class PublicFeePaymentMethod implements FeePaymentMethod {
10
+ /**
11
+ * The asset used to pay the fee.
12
+ */
13
+ private asset;
14
+ /**
15
+ * Address which will hold the fee payment.
16
+ */
17
+ private paymentContract;
18
+ /**
19
+ * An auth witness provider to authorize fee payments
20
+ */
21
+ private wallet;
22
+ constructor(
23
+ /**
24
+ * The asset used to pay the fee.
25
+ */
26
+ asset: AztecAddress,
27
+ /**
28
+ * Address which will hold the fee payment.
29
+ */
30
+ paymentContract: AztecAddress,
31
+ /**
32
+ * An auth witness provider to authorize fee payments
33
+ */
34
+ wallet: AccountWallet);
35
+ /**
36
+ * The asset used to pay the fee.
37
+ * @returns The asset used to pay the fee.
38
+ */
39
+ getAsset(): AztecAddress;
40
+ /**
41
+ * The address which will facilitate the fee payment.
42
+ * @returns The contract address responsible for holding the fee payment.
43
+ */
44
+ getPaymentContract(): AztecAddress;
45
+ /**
46
+ * Creates a function call to pay the fee in the given asset.
47
+ * @param maxFee - The maximum fee to be paid in the given asset.
48
+ * @returns The function call to pay the fee.
49
+ */
50
+ getFunctionCalls(maxFee: Fr): Promise<FunctionCall[]>;
51
+ }
52
+ //# sourceMappingURL=public_fee_payment_method.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/public_fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,qBAAa,sBAAuB,YAAW,gBAAgB;IAE3D;;OAEG;IACH,OAAO,CAAC,KAAK;IACb;;OAEG;IACH,OAAO,CAAC,eAAe;IAEvB;;OAEG;IACH,OAAO,CAAC,MAAM;;IAZd;;OAEG;IACK,KAAK,EAAE,YAAY;IAC3B;;OAEG;IACK,eAAe,EAAE,YAAY;IAErC;;OAEG;IACK,MAAM,EAAE,aAAa;IAG/B;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,kBAAkB;IAIlB;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CA2BtD"}
@@ -0,0 +1,62 @@
1
+ import { FunctionData } from '@aztec/circuits.js';
2
+ import { FunctionSelector } from '@aztec/foundation/abi';
3
+ import { Fr } from '@aztec/foundation/fields';
4
+ import { computeAuthWitMessageHash } from '../utils/authwit.js';
5
+ /**
6
+ * Holds information about how the fee for a transaction is to be paid.
7
+ */
8
+ export class PublicFeePaymentMethod {
9
+ constructor(
10
+ /**
11
+ * The asset used to pay the fee.
12
+ */
13
+ asset,
14
+ /**
15
+ * Address which will hold the fee payment.
16
+ */
17
+ paymentContract,
18
+ /**
19
+ * An auth witness provider to authorize fee payments
20
+ */
21
+ wallet) {
22
+ this.asset = asset;
23
+ this.paymentContract = paymentContract;
24
+ this.wallet = wallet;
25
+ }
26
+ /**
27
+ * The asset used to pay the fee.
28
+ * @returns The asset used to pay the fee.
29
+ */
30
+ getAsset() {
31
+ return this.asset;
32
+ }
33
+ /**
34
+ * The address which will facilitate the fee payment.
35
+ * @returns The contract address responsible for holding the fee payment.
36
+ */
37
+ getPaymentContract() {
38
+ return this.paymentContract;
39
+ }
40
+ /**
41
+ * Creates a function call to pay the fee in the given asset.
42
+ * @param maxFee - The maximum fee to be paid in the given asset.
43
+ * @returns The function call to pay the fee.
44
+ */
45
+ getFunctionCalls(maxFee) {
46
+ const nonce = Fr.random();
47
+ const messageHash = computeAuthWitMessageHash(this.paymentContract, {
48
+ args: [this.wallet.getAddress(), this.paymentContract, maxFee, nonce],
49
+ functionData: new FunctionData(FunctionSelector.fromSignature('transfer_public((Field),(Field),Field,Field)'), false, false, false),
50
+ to: this.asset,
51
+ });
52
+ return Promise.resolve([
53
+ this.wallet.setPublicAuth(messageHash, true).request(),
54
+ {
55
+ to: this.getPaymentContract(),
56
+ functionData: new FunctionData(FunctionSelector.fromSignature('fee_entrypoint_public(Field,(Field),Field)'), false, true, false),
57
+ args: [maxFee, this.asset, nonce],
58
+ },
59
+ ]);
60
+ }
61
+ }
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2ZlZV9wYXltZW50X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mZWUvcHVibGljX2ZlZV9wYXltZW50X21ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSWhFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQztJQUNFOztPQUVHO0lBQ0ssS0FBbUI7SUFDM0I7O09BRUc7SUFDSyxlQUE2QjtJQUVyQzs7T0FFRztJQUNLLE1BQXFCO1FBVHJCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFJbkIsb0JBQWUsR0FBZixlQUFlLENBQWM7UUFLN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtJQUM1QixDQUFDO0lBRUo7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLE1BQVU7UUFDekIsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLE1BQU0sV0FBVyxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDbEUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7WUFDckUsWUFBWSxFQUFFLElBQUksWUFBWSxDQUM1QixnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsOENBQThDLENBQUMsRUFDOUUsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLENBQ047WUFDRCxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDZixDQUFDLENBQUM7UUFFSCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUN0RDtnQkFDRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFO2dCQUM3QixZQUFZLEVBQUUsSUFBSSxZQUFZLENBQzVCLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyw0Q0FBNEMsQ0FBQyxFQUM1RSxLQUFLLEVBQ0wsSUFBSSxFQUNKLEtBQUssQ0FDTjtnQkFDRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7YUFDbEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
package/dest/index.d.ts CHANGED
@@ -20,16 +20,17 @@
20
20
  * TODO: Ultimately reimplement this mega exporter by mega exporting a granular api (then deprecate it).
21
21
  */
22
22
  export { WaitOpts, ContractFunctionInteraction, Contract, ContractBase, ContractMethod, SentTx, BatchCall, DeployMethod, DeploySentTx, } from './contract/index.js';
23
- export { ContractDeployer } from './contract_deployer/index.js';
24
- export { generatePublicKey, FieldLike, EthAddressLike, computeMessageSecretHash, CheatCodes, AztecAddressLike, FunctionSelectorLike, WrappedFieldLike, isContractDeployed, EthCheatCodes, computeAuthWitMessageHash, waitForPXE, waitForAccountSynch, } from './utils/index.js';
23
+ export { ContractDeployer } from './deployment/index.js';
24
+ export { generatePublicKey, FieldLike, EthAddressLike, CheatCodes, AztecAddressLike, FunctionSelectorLike, WrappedFieldLike, isContractDeployed, EthCheatCodes, computeAuthWitMessageHash, computeInnerAuthWitHash, computeOuterAuthWitHash, waitForPXE, waitForAccountSynch, } from './utils/index.js';
25
25
  export { createPXEClient } from './rpc_clients/index.js';
26
26
  export { AuthWitnessProvider } from './account/index.js';
27
27
  export { AccountContract } from './account/index.js';
28
28
  export { AccountManager } from './account_manager/index.js';
29
29
  export { AccountWalletWithPrivateKey, AccountWallet, Wallet, SignerlessWallet } from './wallet/index.js';
30
- export { AztecAddress, EthAddress, Fr, Fq, GlobalVariables, GrumpkinScalar, Point, getContractInstanceFromDeployParams, getContractClassFromArtifact, } from '@aztec/circuits.js';
30
+ export { AztecAddress, EthAddress, Fr, Fq, GlobalVariables, GrumpkinScalar, Point, getContractInstanceFromDeployParams, getContractClassFromArtifact, INITIAL_L2_BLOCK_NUM, } from '@aztec/circuits.js';
31
+ export { computeMessageSecretHash } from '@aztec/circuits.js/hash';
31
32
  export { Grumpkin, Schnorr } from '@aztec/circuits.js/barretenberg';
32
- export { AuthWitness, AztecNode, CompleteAddress, ContractData, DeployedContract, ExtendedContractData, ExtendedNote, FunctionCall, GrumpkinPrivateKey, INITIAL_L2_BLOCK_NUM, L2Actor, L2Block, L2BlockL2Logs, LogFilter, LogId, LogType, MerkleTreeId, Note, PXE, PackedArguments, PartialAddress, PublicKey, SyncStatus, Tx, TxExecutionRequest, TxHash, TxReceipt, TxStatus, UnencryptedL2Log, createAztecNodeClient, emptyFunctionCall, merkleTreeIds, mockTx, Comparator, } from '@aztec/circuit-types';
33
+ export { AuthWitness, AztecNode, Body, CompleteAddress, ContractData, DeployedContract, ExtendedContractData, ExtendedNote, FunctionCall, GrumpkinPrivateKey, L1ToL2Message, L1Actor, L2Actor, L2Block, L2BlockL2Logs, LogFilter, LogId, LogType, MerkleTreeId, Note, PXE, PackedArguments, PartialAddress, PublicKey, SyncStatus, Tx, TxExecutionRequest, TxHash, TxReceipt, TxStatus, UnencryptedL2Log, createAztecNodeClient, emptyFunctionCall, merkleTreeIds, mockTx, Comparator, } from '@aztec/circuit-types';
33
34
  export { NodeInfo } from '@aztec/types/interfaces';
34
35
  export { ContractInstanceWithAddress, ContractClassWithId } from '@aztec/types/contracts';
35
36
  export { encodeArguments } from '@aztec/foundation/abi';
@@ -46,4 +47,5 @@ export { FieldsOf } from '@aztec/foundation/types';
46
47
  export { DeployL1Contracts, L1ContractArtifactsForDeployment, deployL1Contract, deployL1Contracts, } from '@aztec/ethereum';
47
48
  export * from './api/init.js';
48
49
  export * from './api/abi.js';
50
+ export * from './api/fee.js';
49
51
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EACL,QAAQ,EACR,2BAA2B,EAC3B,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,MAAM,EACN,SAAS,EACT,YAAY,EACZ,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,wBAAwB,EACxB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAIzG,OAAO,EACL,YAAY,EACZ,UAAU,EACV,EAAE,EACF,EAAE,EACF,eAAe,EACf,cAAc,EACd,KAAK,EACL,mCAAmC,EACnC,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EACL,WAAW,EACX,SAAS,EACT,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,EACP,OAAO,EACP,aAAa,EACb,SAAS,EACT,KAAK,EACL,OAAO,EACP,YAAY,EACZ,IAAI,EACJ,GAAG,EACH,eAAe,EACf,cAAc,EACd,SAAS,EACT,UAAU,EACV,EAAE,EACF,kBAAkB,EAClB,MAAM,EACN,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAK1F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACL,iBAAiB,EACjB,gCAAgC,EAChC,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAKzB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EACL,QAAQ,EACR,2BAA2B,EAC3B,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,MAAM,EACN,SAAS,EACT,YAAY,EACZ,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,UAAU,EACV,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAIzG,OAAO,EACL,YAAY,EACZ,UAAU,EACV,EAAE,EACF,EAAE,EACF,eAAe,EACf,cAAc,EACd,KAAK,EACL,mCAAmC,EACnC,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EACL,WAAW,EACX,SAAS,EACT,IAAI,EACJ,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,OAAO,EACP,OAAO,EACP,OAAO,EACP,aAAa,EACb,SAAS,EACT,KAAK,EACL,OAAO,EACP,YAAY,EACZ,IAAI,EACJ,GAAG,EACH,eAAe,EACf,cAAc,EACd,SAAS,EACT,UAAU,EACV,EAAE,EACF,kBAAkB,EAClB,MAAM,EACN,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAK1F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACL,iBAAiB,EACjB,gCAAgC,EAChC,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAKzB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
package/dest/index.js CHANGED
@@ -20,16 +20,17 @@
20
20
  * TODO: Ultimately reimplement this mega exporter by mega exporting a granular api (then deprecate it).
21
21
  */
22
22
  export { ContractFunctionInteraction, Contract, ContractBase, SentTx, BatchCall, DeployMethod, DeploySentTx, } from './contract/index.js';
23
- export { ContractDeployer } from './contract_deployer/index.js';
24
- export { generatePublicKey, computeMessageSecretHash, CheatCodes, isContractDeployed, EthCheatCodes, computeAuthWitMessageHash, waitForPXE, waitForAccountSynch, } from './utils/index.js';
23
+ export { ContractDeployer } from './deployment/index.js';
24
+ export { generatePublicKey, CheatCodes, isContractDeployed, EthCheatCodes, computeAuthWitMessageHash, computeInnerAuthWitHash, computeOuterAuthWitHash, waitForPXE, waitForAccountSynch, } from './utils/index.js';
25
25
  export { createPXEClient } from './rpc_clients/index.js';
26
26
  export { AccountManager } from './account_manager/index.js';
27
27
  export { AccountWalletWithPrivateKey, AccountWallet, SignerlessWallet } from './wallet/index.js';
28
28
  // // TODO https://github.com/AztecProtocol/aztec-packages/issues/2632 --> FunctionSelector might not need to be exposed
29
29
  // // here once the issue is resolved.
30
- export { AztecAddress, EthAddress, Fr, Fq, GlobalVariables, GrumpkinScalar, Point, getContractInstanceFromDeployParams, getContractClassFromArtifact, } from '@aztec/circuits.js';
30
+ export { AztecAddress, EthAddress, Fr, Fq, GlobalVariables, GrumpkinScalar, Point, getContractInstanceFromDeployParams, getContractClassFromArtifact, INITIAL_L2_BLOCK_NUM, } from '@aztec/circuits.js';
31
+ export { computeMessageSecretHash } from '@aztec/circuits.js/hash';
31
32
  export { Grumpkin, Schnorr } from '@aztec/circuits.js/barretenberg';
32
- export { AuthWitness, CompleteAddress, ContractData, ExtendedContractData, ExtendedNote, INITIAL_L2_BLOCK_NUM, L2Actor, L2Block, L2BlockL2Logs, LogId, LogType, MerkleTreeId, Note, PackedArguments, Tx, TxExecutionRequest, TxHash, TxReceipt, TxStatus, UnencryptedL2Log, createAztecNodeClient, emptyFunctionCall, merkleTreeIds, mockTx, Comparator, } from '@aztec/circuit-types';
33
+ export { AuthWitness, Body, CompleteAddress, ContractData, ExtendedContractData, ExtendedNote, L1ToL2Message, L1Actor, L2Actor, L2Block, L2BlockL2Logs, LogId, LogType, MerkleTreeId, Note, PackedArguments, Tx, TxExecutionRequest, TxHash, TxReceipt, TxStatus, UnencryptedL2Log, createAztecNodeClient, emptyFunctionCall, merkleTreeIds, mockTx, Comparator, } from '@aztec/circuit-types';
33
34
  // TODO: These kinds of things have no place on our public api.
34
35
  // External devs will almost certainly have their own methods of doing these things.
35
36
  // If we want to use them in our own "aztec.js consuming code", import them from foundation as needed.
@@ -49,4 +50,5 @@ export { deployL1Contract, deployL1Contracts, } from '@aztec/ethereum';
49
50
  // This entire index file will be deprecated at some point after we're satisfied.
50
51
  export * from './api/init.js';
51
52
  export * from './api/abi.js';
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsT0FBTyxFQUVMLDJCQUEyQixFQUMzQixRQUFRLEVBQ1IsWUFBWSxFQUVaLE1BQU0sRUFDTixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksR0FDYixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFDTCxpQkFBaUIsRUFHakIsd0JBQXdCLEVBQ3hCLFVBQVUsRUFJVixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLHlCQUF5QixFQUN6QixVQUFVLEVBQ1YsbUJBQW1CLEdBQ3BCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBS3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsYUFBYSxFQUFVLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFekcsd0hBQXdIO0FBQ3hILHNDQUFzQztBQUN0QyxPQUFPLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixFQUFFLEVBQ0YsRUFBRSxFQUNGLGVBQWUsRUFDZixjQUFjLEVBQ2QsS0FBSyxFQUNMLG1DQUFtQyxFQUNuQyw0QkFBNEIsR0FDN0IsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFDTCxXQUFXLEVBRVgsZUFBZSxFQUNmLFlBQVksRUFFWixvQkFBb0IsRUFDcEIsWUFBWSxFQUdaLG9CQUFvQixFQUNwQixPQUFPLEVBQ1AsT0FBTyxFQUNQLGFBQWEsRUFFYixLQUFLLEVBQ0wsT0FBTyxFQUNQLFlBQVksRUFDWixJQUFJLEVBRUosZUFBZSxFQUlmLEVBQUUsRUFDRixrQkFBa0IsRUFDbEIsTUFBTSxFQUNOLFNBQVMsRUFDVCxRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLE1BQU0sRUFDTixVQUFVLEdBQ1gsTUFBTSxzQkFBc0IsQ0FBQztBQUs5QiwrREFBK0Q7QUFDL0Qsb0ZBQW9GO0FBQ3BGLHNHQUFzRztBQUN0RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBZSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUc5RCxPQUFPLEVBR0wsZ0JBQWdCLEVBQ2hCLGlCQUFpQixHQUNsQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLDZEQUE2RDtBQUM3RCxzRkFBc0Y7QUFDdEYsaUZBQWlGO0FBQ2pGLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsY0FBYyxDQUFDIn0=
53
+ export * from './api/fee.js';
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsT0FBTyxFQUVMLDJCQUEyQixFQUMzQixRQUFRLEVBQ1IsWUFBWSxFQUVaLE1BQU0sRUFDTixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksR0FDYixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE9BQU8sRUFDTCxpQkFBaUIsRUFHakIsVUFBVSxFQUlWLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsVUFBVSxFQUNWLG1CQUFtQixHQUNwQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUt6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLGFBQWEsRUFBVSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXpHLHdIQUF3SDtBQUN4SCxzQ0FBc0M7QUFDdEMsT0FBTyxFQUNMLFlBQVksRUFDWixVQUFVLEVBQ1YsRUFBRSxFQUNGLEVBQUUsRUFDRixlQUFlLEVBQ2YsY0FBYyxFQUNkLEtBQUssRUFDTCxtQ0FBbUMsRUFDbkMsNEJBQTRCLEVBQzVCLG9CQUFvQixHQUNyQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFcEUsT0FBTyxFQUNMLFdBQVcsRUFFWCxJQUFJLEVBQ0osZUFBZSxFQUNmLFlBQVksRUFFWixvQkFBb0IsRUFDcEIsWUFBWSxFQUdaLGFBQWEsRUFDYixPQUFPLEVBQ1AsT0FBTyxFQUNQLE9BQU8sRUFDUCxhQUFhLEVBRWIsS0FBSyxFQUNMLE9BQU8sRUFDUCxZQUFZLEVBQ1osSUFBSSxFQUVKLGVBQWUsRUFJZixFQUFFLEVBQ0Ysa0JBQWtCLEVBQ2xCLE1BQU0sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixNQUFNLEVBQ04sVUFBVSxHQUNYLE1BQU0sc0JBQXNCLENBQUM7QUFLOUIsK0RBQStEO0FBQy9ELG9GQUFvRjtBQUNwRixzR0FBc0c7QUFDdEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQWUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHOUQsT0FBTyxFQUdMLGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6Qiw2REFBNkQ7QUFDN0Qsc0ZBQXNGO0FBQ3RGLGlGQUFpRjtBQUNqRixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"pxe_client.d.ts","sourceRoot":"","sources":["../../src/rpc_clients/pxe_client.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,GAAG,EAKJ,MAAM,sBAAsB,CAAC;AAY9B;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAS,MAAM,qGAAuC,GA2B/E,CAAC"}
1
+ {"version":3,"file":"pxe_client.d.ts","sourceRoot":"","sources":["../../src/rpc_clients/pxe_client.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,GAAG,EAMJ,MAAM,sBAAsB,CAAC;AAY9B;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAS,MAAM,qGAAwC,GA2BhF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AuthWitness, ContractData, ExtendedContractData, ExtendedNote, ExtendedUnencryptedL2Log, L2Block, L2BlockL2Logs, L2Tx, LogId, Note, Tx, TxExecutionRequest, TxHash, TxReceipt, } from '@aztec/circuit-types';
1
+ import { AuthWitness, ContractData, ExtendedContractData, ExtendedNote, ExtendedUnencryptedL2Log, L2Block, L2BlockL2Logs, LogId, Note, NullifierMembershipWitness, Tx, TxEffect, TxExecutionRequest, TxHash, TxReceipt, } from '@aztec/circuit-types';
2
2
  import { AztecAddress, CompleteAddress, EthAddress, Fr, FunctionSelector, GrumpkinScalar, Point, } from '@aztec/circuits.js';
3
3
  import { createJsonRpcClient, makeFetch } from '@aztec/foundation/json-rpc/client';
4
4
  /**
@@ -7,24 +7,24 @@ import { createJsonRpcClient, makeFetch } from '@aztec/foundation/json-rpc/clien
7
7
  * @param fetch - The fetch implementation to use.
8
8
  * @returns A JSON-RPC client of PXE.
9
9
  */
10
- export const createPXEClient = (url, fetch = makeFetch([1, 2, 3], true)) => createJsonRpcClient(url, {
11
- CompleteAddress,
12
- FunctionSelector,
10
+ export const createPXEClient = (url, fetch = makeFetch([1, 2, 3], false)) => createJsonRpcClient(url, {
11
+ AuthWitness,
13
12
  AztecAddress,
14
- TxExecutionRequest,
13
+ CompleteAddress,
15
14
  ContractData,
15
+ FunctionSelector,
16
+ EthAddress,
16
17
  ExtendedContractData,
18
+ ExtendedNote,
17
19
  ExtendedUnencryptedL2Log,
18
- TxHash,
19
- EthAddress,
20
- Point,
21
20
  Fr,
22
21
  GrumpkinScalar,
23
- Note,
24
- ExtendedNote,
25
- AuthWitness,
26
- L2Tx,
27
- LogId,
28
22
  L2Block,
29
- }, { Tx, TxReceipt, L2BlockL2Logs }, false, 'pxe', fetch);
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHhlX2NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ycGNfY2xpZW50cy9weGVfY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osd0JBQXdCLEVBQ3hCLE9BQU8sRUFDUCxhQUFhLEVBQ2IsSUFBSSxFQUNKLEtBQUssRUFDTCxJQUFJLEVBRUosRUFBRSxFQUNGLGtCQUFrQixFQUNsQixNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLEVBQUUsRUFDRixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLEtBQUssR0FDTixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVuRjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBTyxFQUFFLENBQ3RGLG1CQUFtQixDQUNqQixHQUFHLEVBQ0g7SUFDRSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQix3QkFBd0I7SUFDeEIsTUFBTTtJQUNOLFVBQVU7SUFDVixLQUFLO0lBQ0wsRUFBRTtJQUNGLGNBQWM7SUFDZCxJQUFJO0lBQ0osWUFBWTtJQUNaLFdBQVc7SUFDWCxJQUFJO0lBQ0osS0FBSztJQUNMLE9BQU87Q0FDUixFQUNELEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsRUFDaEMsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLENBQ04sQ0FBQyJ9
23
+ TxEffect,
24
+ LogId,
25
+ Note,
26
+ Point,
27
+ TxExecutionRequest,
28
+ TxHash,
29
+ }, { Tx, TxReceipt, L2BlockL2Logs, NullifierMembershipWitness }, false, 'pxe', fetch);
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHhlX2NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ycGNfY2xpZW50cy9weGVfY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osd0JBQXdCLEVBQ3hCLE9BQU8sRUFDUCxhQUFhLEVBQ2IsS0FBSyxFQUNMLElBQUksRUFDSiwwQkFBMEIsRUFFMUIsRUFBRSxFQUNGLFFBQVEsRUFDUixrQkFBa0IsRUFDbEIsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDTCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixFQUFFLEVBQ0YsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxLQUFLLEdBQ04sTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbkY7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQU8sRUFBRSxDQUN2RixtQkFBbUIsQ0FDakIsR0FBRyxFQUNIO0lBQ0UsV0FBVztJQUNYLFlBQVk7SUFDWixlQUFlO0lBQ2YsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1Ysb0JBQW9CO0lBQ3BCLFlBQVk7SUFDWix3QkFBd0I7SUFDeEIsRUFBRTtJQUNGLGNBQWM7SUFDZCxPQUFPO0lBQ1AsUUFBUTtJQUNSLEtBQUs7SUFDTCxJQUFJO0lBQ0osS0FBSztJQUNMLGtCQUFrQjtJQUNsQixNQUFNO0NBQ1AsRUFDRCxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLDBCQUEwQixFQUFFLEVBQzVELEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxDQUNOLENBQUMifQ==
@@ -1,12 +1,38 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  import { FunctionCall } from '@aztec/circuit-types';
3
- import { AztecAddress } from '@aztec/circuits.js';
2
+ import { AztecAddress, Fr } from '@aztec/circuits.js';
4
3
  /**
5
4
  * Compute an authentication witness message hash from a caller and a request
6
- * H(caller: AztecAddress, target: AztecAddress, selector: Field, args_hash: Field)
5
+ * H(target: AztecAddress, H(caller: AztecAddress, selector: Field, args_hash: Field))
6
+ * Example usage would be `bob` authenticating `alice` to perform a transfer of `10`
7
+ * tokens from his account to herself:
8
+ * H(token, H(alice, transfer_selector, H(bob, alice, 10, nonce)))
9
+ * `bob` then signs the message hash and gives it to `alice` who can then perform the
10
+ * action.
7
11
  * @param caller - The caller approved to make the call
8
12
  * @param request - The request to be made (function call)
9
13
  * @returns The message hash for the witness
10
14
  */
11
- export declare const computeAuthWitMessageHash: (caller: AztecAddress, request: FunctionCall) => Buffer;
15
+ export declare const computeAuthWitMessageHash: (caller: AztecAddress, request: FunctionCall) => Fr;
16
+ /**
17
+ * Compute the inner hash for an authentication witness.
18
+ * This is the "intent" of the message, before siloed with the consumer.
19
+ * It is used as part of the `computeAuthWitMessageHash` but can also be used
20
+ * in case the message is not a "call" to a function, but arbitrary data.
21
+ * @param args - The arguments to hash
22
+ * @returns The inner hash for the witness
23
+ */
24
+ export declare const computeInnerAuthWitHash: (args: Fr[]) => Fr;
25
+ /**
26
+ * Compute the outer hash for an authentication witness.
27
+ * This is the value siloed with its "consumer" and what the `on_behalf_of`
28
+ * should be signing.
29
+ * The consumer is who will be consuming the message, for token approvals it
30
+ * is the token contract itself (because the token makes the call to check the approval).
31
+ * It is used as part of the `computeAuthWitMessageHash` but can also be used
32
+ * in case the message is not a "call" to a function, but arbitrary data.
33
+ * @param consumer - The address that can "consume" the authwit
34
+ * @param innerHash - The inner hash for the witness
35
+ * @returns The outer hash for the witness
36
+ */
37
+ export declare const computeOuterAuthWitHash: (consumer: AztecAddress, innerHash: Fr) => Fr;
12
38
  //# sourceMappingURL=authwit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AAIlE;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,WAAY,YAAY,WAAW,YAAY,WAUpF,CAAC"}
1
+ {"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAkB,MAAM,oBAAoB,CAAC;AAItE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,WAAY,YAAY,WAAW,YAAY,OASpF,CAAC;AAGF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,SAAU,EAAE,EAAE,OAKjD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,aAAc,YAAY,aAAa,EAAE,OAK5E,CAAC"}
@@ -4,18 +4,48 @@ import { pedersenHash } from '@aztec/foundation/crypto';
4
4
  // docs:start:authwit_computeAuthWitMessageHash
5
5
  /**
6
6
  * Compute an authentication witness message hash from a caller and a request
7
- * H(caller: AztecAddress, target: AztecAddress, selector: Field, args_hash: Field)
7
+ * H(target: AztecAddress, H(caller: AztecAddress, selector: Field, args_hash: Field))
8
+ * Example usage would be `bob` authenticating `alice` to perform a transfer of `10`
9
+ * tokens from his account to herself:
10
+ * H(token, H(alice, transfer_selector, H(bob, alice, 10, nonce)))
11
+ * `bob` then signs the message hash and gives it to `alice` who can then perform the
12
+ * action.
8
13
  * @param caller - The caller approved to make the call
9
14
  * @param request - The request to be made (function call)
10
15
  * @returns The message hash for the witness
11
16
  */
12
17
  export const computeAuthWitMessageHash = (caller, request) => {
13
- return pedersenHash([
18
+ return computeOuterAuthWitHash(request.to.toField(), computeInnerAuthWitHash([
14
19
  caller.toField(),
15
- request.to.toField(),
16
20
  request.functionData.selector.toField(),
17
21
  PackedArguments.fromArgs(request.args).hash,
18
- ].map(fr => fr.toBuffer()), GeneratorIndex.SIGNATURE_PAYLOAD);
22
+ ]));
19
23
  };
20
24
  // docs:end:authwit_computeAuthWitMessageHash
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aHdpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hdXRod2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFnQixjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsK0NBQStDO0FBQy9DOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsTUFBb0IsRUFBRSxPQUFxQixFQUFFLEVBQUU7SUFDdkYsT0FBTyxZQUFZLENBQ2pCO1FBQ0UsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNoQixPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRTtRQUNwQixPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUU7UUFDdkMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSTtLQUM1QyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUMxQixjQUFjLENBQUMsaUJBQWlCLENBQ2pDLENBQUM7QUFDSixDQUFDLENBQUM7QUFDRiw2Q0FBNkMifQ==
25
+ /**
26
+ * Compute the inner hash for an authentication witness.
27
+ * This is the "intent" of the message, before siloed with the consumer.
28
+ * It is used as part of the `computeAuthWitMessageHash` but can also be used
29
+ * in case the message is not a "call" to a function, but arbitrary data.
30
+ * @param args - The arguments to hash
31
+ * @returns The inner hash for the witness
32
+ */
33
+ export const computeInnerAuthWitHash = (args) => {
34
+ return pedersenHash(args.map(fr => fr.toBuffer()), GeneratorIndex.AUTHWIT_INNER);
35
+ };
36
+ /**
37
+ * Compute the outer hash for an authentication witness.
38
+ * This is the value siloed with its "consumer" and what the `on_behalf_of`
39
+ * should be signing.
40
+ * The consumer is who will be consuming the message, for token approvals it
41
+ * is the token contract itself (because the token makes the call to check the approval).
42
+ * It is used as part of the `computeAuthWitMessageHash` but can also be used
43
+ * in case the message is not a "call" to a function, but arbitrary data.
44
+ * @param consumer - The address that can "consume" the authwit
45
+ * @param innerHash - The inner hash for the witness
46
+ * @returns The outer hash for the witness
47
+ */
48
+ export const computeOuterAuthWitHash = (consumer, innerHash) => {
49
+ return pedersenHash([consumer.toField(), innerHash].map(fr => fr.toBuffer()), GeneratorIndex.AUTHWIT_OUTER);
50
+ };
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aHdpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hdXRod2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsK0NBQStDO0FBQy9DOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxNQUFvQixFQUFFLE9BQXFCLEVBQUUsRUFBRTtJQUN2RixPQUFPLHVCQUF1QixDQUM1QixPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUNwQix1QkFBdUIsQ0FBQztRQUN0QixNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2hCLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtRQUN2QyxlQUFlLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJO0tBQzVDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBQ0YsNkNBQTZDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO0lBQ3BELE9BQU8sWUFBWSxDQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQzdCLGNBQWMsQ0FBQyxhQUFhLENBQzdCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsUUFBc0IsRUFBRSxTQUFhLEVBQUUsRUFBRTtJQUMvRSxPQUFPLFlBQVksQ0FDakIsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQ3hELGNBQWMsQ0FBQyxhQUFhLENBQzdCLENBQUM7QUFDSixDQUFDLENBQUMifQ==