@aztec/aztec.js 0.65.0 → 0.65.2

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 (49) hide show
  1. package/dest/account_manager/deploy_account_method.d.ts +1 -1
  2. package/dest/account_manager/deploy_account_method.d.ts.map +1 -1
  3. package/dest/account_manager/deploy_account_method.js +3 -2
  4. package/dest/account_manager/index.d.ts +1 -1
  5. package/dest/account_manager/index.d.ts.map +1 -1
  6. package/dest/account_manager/index.js +1 -2
  7. package/dest/contract/base_contract_interaction.d.ts +14 -9
  8. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  9. package/dest/contract/base_contract_interaction.js +29 -13
  10. package/dest/contract/batch_call.d.ts.map +1 -1
  11. package/dest/contract/batch_call.js +11 -15
  12. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  13. package/dest/contract/contract_function_interaction.js +5 -10
  14. package/dest/contract/deploy_method.d.ts +2 -2
  15. package/dest/contract/deploy_method.d.ts.map +1 -1
  16. package/dest/contract/deploy_method.js +10 -17
  17. package/dest/contract/get_gas_limits.d.ts +1 -1
  18. package/dest/contract/get_gas_limits.js +1 -1
  19. package/dest/entrypoint/default_entrypoint.d.ts.map +1 -1
  20. package/dest/entrypoint/default_entrypoint.js +4 -5
  21. package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +1 -1
  22. package/dest/entrypoint/default_multi_call_entrypoint.js +4 -5
  23. package/dest/entrypoint/entrypoint.d.ts +1 -1
  24. package/dest/entrypoint/entrypoint.d.ts.map +1 -1
  25. package/dest/entrypoint/payload.d.ts +12 -0
  26. package/dest/entrypoint/payload.d.ts.map +1 -1
  27. package/dest/entrypoint/payload.js +1 -1
  28. package/dest/main.js +1 -1
  29. package/dest/rpc_clients/node/index.d.ts.map +1 -1
  30. package/dest/rpc_clients/node/index.js +17 -27
  31. package/dest/utils/anvil_test_watcher.js +3 -3
  32. package/dest/wallet/base_wallet.d.ts +2 -1
  33. package/dest/wallet/base_wallet.d.ts.map +1 -1
  34. package/dest/wallet/base_wallet.js +4 -1
  35. package/package.json +8 -8
  36. package/src/account_manager/deploy_account_method.ts +5 -2
  37. package/src/account_manager/index.ts +1 -2
  38. package/src/contract/base_contract_interaction.ts +42 -16
  39. package/src/contract/batch_call.ts +18 -27
  40. package/src/contract/contract_function_interaction.ts +4 -9
  41. package/src/contract/deploy_method.ts +15 -18
  42. package/src/contract/get_gas_limits.ts +1 -1
  43. package/src/entrypoint/default_entrypoint.ts +3 -4
  44. package/src/entrypoint/default_multi_call_entrypoint.ts +3 -4
  45. package/src/entrypoint/entrypoint.ts +1 -1
  46. package/src/entrypoint/payload.ts +13 -0
  47. package/src/rpc_clients/node/index.ts +16 -29
  48. package/src/utils/anvil_test_watcher.ts +2 -2
  49. package/src/wallet/base_wallet.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rpc_clients/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA0DzD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAcxF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rpc_clients/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA4CzD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAcxF"}
@@ -1,5 +1,7 @@
1
+ import { jsonStringify } from '@aztec/foundation/json-rpc';
1
2
  import { NoRetryError, makeBackoff, retry } from '@aztec/foundation/retry';
2
- import axios from 'axios';
3
+ import { Axios } from 'axios';
4
+ import { inspect } from 'util';
3
5
  import { createPXEClient } from '../pxe_client.js';
4
6
  /**
5
7
  * A fetch implementation using axios.
@@ -10,31 +12,19 @@ import { createPXEClient } from '../pxe_client.js';
10
12
  * @returns The response data.
11
13
  */
12
14
  async function axiosFetch(host, rpcMethod, body, useApiEndpoints) {
13
- let resp;
14
- if (useApiEndpoints) {
15
- resp = await axios
16
- .post(`${host}/${rpcMethod}`, body, {
17
- headers: { 'content-type': 'application/json' },
18
- })
19
- .catch((error) => {
20
- if (error.response) {
21
- return error.response;
22
- }
23
- throw error;
24
- });
25
- }
26
- else {
27
- resp = await axios
28
- .post(host, { ...body, method: rpcMethod }, {
29
- headers: { 'content-type': 'application/json' },
30
- })
31
- .catch((error) => {
32
- if (error.response) {
33
- return error.response;
34
- }
35
- throw error;
36
- });
37
- }
15
+ const request = new Axios({
16
+ headers: { 'content-type': 'application/json' },
17
+ transformRequest: [(data) => jsonStringify(data)],
18
+ transformResponse: [(data) => JSON.parse(data)],
19
+ });
20
+ const [url, content] = useApiEndpoints ? [`${host}/${rpcMethod}`, body] : [host, { ...body, method: rpcMethod }];
21
+ const resp = await request.post(url, content).catch((error) => {
22
+ if (error.response) {
23
+ return error.response;
24
+ }
25
+ const errorMessage = `Error fetching from host ${host} with method ${rpcMethod}: ${inspect(error)}`;
26
+ throw new Error(errorMessage);
27
+ });
38
28
  const isOK = resp.status >= 200 && resp.status < 300;
39
29
  if (isOK) {
40
30
  return resp.data;
@@ -64,4 +54,4 @@ export function createCompatibleClient(rpcUrl, logger) {
64
54
  const pxe = createPXEClient(rpcUrl, fetch);
65
55
  return Promise.resolve(pxe);
66
56
  }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnBjX2NsaWVudHMvbm9kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRSxPQUFPLEtBQThDLE1BQU0sT0FBTyxDQUFDO0FBRW5FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRDs7Ozs7OztHQU9HO0FBQ0gsS0FBSyxVQUFVLFVBQVUsQ0FBQyxJQUFZLEVBQUUsU0FBaUIsRUFBRSxJQUFTLEVBQUUsZUFBd0I7SUFDNUYsSUFBSSxJQUFtQixDQUFDO0lBQ3hCLElBQUksZUFBZSxFQUFFLENBQUM7UUFDcEIsSUFBSSxHQUFHLE1BQU0sS0FBSzthQUNmLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUU7WUFDbEMsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFO1NBQ2hELENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7WUFDM0IsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUN4QixDQUFDO1lBQ0QsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7U0FBTSxDQUFDO1FBQ04sSUFBSSxHQUFHLE1BQU0sS0FBSzthQUNmLElBQUksQ0FDSCxJQUFJLEVBQ0osRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQzlCO1lBQ0UsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFO1NBQ2hELENBQ0Y7YUFDQSxLQUFLLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7WUFDM0IsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUN4QixDQUFDO1lBQ0QsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUNyRCxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxZQUFZLEdBQUcsK0JBQStCLElBQUksYUFBYSxTQUFTLFdBQVcsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuSSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDNUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLE1BQWMsRUFBRSxNQUFtQjtJQUN4RSwrREFBK0Q7SUFDL0QsTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBRSxTQUFpQixFQUFFLElBQVMsRUFBRSxlQUF3QixFQUFFLEVBQUU7UUFDM0YsT0FBTyxNQUFNLEtBQUssQ0FDaEIsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQyxFQUN4RCx5QkFBeUIsU0FBUyxPQUFPLElBQUksRUFBRSxFQUMvQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ3RCLE1BQU0sRUFDTixLQUFLLENBQ04sQ0FBQztJQUNKLENBQUMsQ0FBQztJQUNGLE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFM0MsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlCLENBQUMifQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnBjX2NsaWVudHMvbm9kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFM0UsT0FBTyxFQUFFLEtBQUssRUFBbUIsTUFBTSxPQUFPLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQ7Ozs7Ozs7R0FPRztBQUNILEtBQUssVUFBVSxVQUFVLENBQUMsSUFBWSxFQUFFLFNBQWlCLEVBQUUsSUFBUyxFQUFFLGVBQXdCO0lBQzVGLE1BQU0sT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDO1FBQ3hCLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRTtRQUMvQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNyRCxDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNqSCxNQUFNLElBQUksR0FBRyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtRQUN4RSxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDeEIsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLDRCQUE0QixJQUFJLGdCQUFnQixTQUFTLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDcEcsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ3JELElBQUksSUFBSSxFQUFFLENBQUM7UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLFlBQVksR0FBRywrQkFBK0IsSUFBSSxhQUFhLFNBQVMsV0FBVyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25JLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsTUFBYyxFQUFFLE1BQW1CO0lBQ3hFLCtEQUErRDtJQUMvRCxNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsSUFBWSxFQUFFLFNBQWlCLEVBQUUsSUFBUyxFQUFFLGVBQXdCLEVBQUUsRUFBRTtRQUMzRixPQUFPLE1BQU0sS0FBSyxDQUNoQixHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLEVBQ3hELHlCQUF5QixTQUFTLE9BQU8sSUFBSSxFQUFFLEVBQy9DLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDdEIsTUFBTSxFQUNOLEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBQ0YsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUUzQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDOUIsQ0FBQyJ9
@@ -45,8 +45,8 @@ export class AnvilTestWatcher {
45
45
  try {
46
46
  const currentSlot = await this.rollup.read.getCurrentSlot();
47
47
  const pendingBlockNumber = BigInt(await this.rollup.read.getPendingBlockNumber());
48
- const [, , lastSlotNumber] = await this.rollup.read.blocks([pendingBlockNumber]);
49
- if (currentSlot === lastSlotNumber) {
48
+ const blockLog = await this.rollup.read.getBlock([pendingBlockNumber]);
49
+ if (currentSlot === blockLog.slotNumber) {
50
50
  // We should jump to the next slot
51
51
  const timestamp = await this.rollup.read.getTimestampForSlot([currentSlot + 1n]);
52
52
  try {
@@ -63,4 +63,4 @@ export class AnvilTestWatcher {
63
63
  }
64
64
  }
65
65
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW52aWxfdGVzdF93YXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2FudmlsX3Rlc3Rfd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdDLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxPQUFPLEVBQXFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEg7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQixZQUNVLFVBQXlCLEVBQ2pDLGFBQXlCLEVBQ3pCLFlBQXVEO1FBRi9DLGVBQVUsR0FBVixVQUFVLENBQWU7UUFIM0IsV0FBTSxHQUFnQixpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBT3JFLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1lBQ3hCLE9BQU8sRUFBRSxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdDLEdBQUcsRUFBRSxTQUFTO1lBQ2QsTUFBTSxFQUFFLFlBQVk7U0FDckIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUNBQWlDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELDRFQUE0RTtRQUM1RSw4RUFBOEU7UUFDOUUsK0VBQStFO1FBQy9FLGlCQUFpQjtRQUNqQixNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFMUQsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQjtRQUNwQixJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzVELE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1lBQ2xGLE1BQU0sQ0FBQyxFQUFFLEFBQUQsRUFBRyxjQUFjLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztZQUVqRixJQUFJLFdBQVcsS0FBSyxjQUFjLEVBQUUsQ0FBQztnQkFDbkMsa0NBQWtDO2dCQUNsQyxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pGLElBQUksQ0FBQztvQkFDSCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxDQUFDO2dCQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsK0JBQStCLFNBQVMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RSxDQUFDO2dCQUVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsV0FBVyxrQ0FBa0MsQ0FBQyxDQUFDO1lBQzFFLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRiJ9
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW52aWxfdGVzdF93YXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2FudmlsX3Rlc3Rfd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdDLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxPQUFPLEVBQXFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEg7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQixZQUNVLFVBQXlCLEVBQ2pDLGFBQXlCLEVBQ3pCLFlBQXVEO1FBRi9DLGVBQVUsR0FBVixVQUFVLENBQWU7UUFIM0IsV0FBTSxHQUFnQixpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBT3JFLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1lBQ3hCLE9BQU8sRUFBRSxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdDLEdBQUcsRUFBRSxTQUFTO1lBQ2QsTUFBTSxFQUFFLFlBQVk7U0FDckIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUNBQWlDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELDRFQUE0RTtRQUM1RSw4RUFBOEU7UUFDOUUsK0VBQStFO1FBQy9FLGlCQUFpQjtRQUNqQixNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFMUQsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQjtRQUNwQixJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzVELE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1lBQ2xGLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1lBRXZFLElBQUksV0FBVyxLQUFLLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDeEMsa0NBQWtDO2dCQUNsQyxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pGLElBQUksQ0FBQztvQkFDSCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxDQUFDO2dCQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsK0JBQStCLFNBQVMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RSxDQUFDO2dCQUVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsV0FBVyxrQ0FBa0MsQ0FBQyxDQUFDO1lBQzFFLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRiJ9
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
3
  import { type AuthWitness, type EventMetadataDefinition, type ExtendedNote, type GetUnencryptedLogsResponse, type IncomingNotesFilter, type L2Block, type LogFilter, type OutgoingNotesFilter, type PXE, type PXEInfo, type PrivateExecutionResult, type SiblingPath, type SyncStatus, type Tx, type TxExecutionRequest, type TxHash, type TxProvingResult, type TxReceipt, type TxSimulationResult, type UniqueNote } from '@aztec/circuit-types';
4
- import { type AztecAddress, type CompleteAddress, type ContractClassWithId, type ContractInstanceWithAddress, type Fr, type L1_TO_L2_MSG_TREE_HEIGHT, type NodeInfo, type PartialAddress, type Point } from '@aztec/circuits.js';
4
+ import { type AztecAddress, type CompleteAddress, type ContractClassWithId, type ContractInstanceWithAddress, type Fr, type GasFees, type L1_TO_L2_MSG_TREE_HEIGHT, type NodeInfo, type PartialAddress, type Point } from '@aztec/circuits.js';
5
5
  import type { AbiDecoded, ContractArtifact } from '@aztec/foundation/abi';
6
6
  import { type Wallet } from '../account/wallet.js';
7
7
  import { type ExecutionRequestInit } from '../entrypoint/entrypoint.js';
@@ -48,6 +48,7 @@ export declare abstract class BaseWallet implements Wallet {
48
48
  addNote(note: ExtendedNote): Promise<void>;
49
49
  addNullifiedNote(note: ExtendedNote): Promise<void>;
50
50
  getBlock(number: number): Promise<L2Block | undefined>;
51
+ getCurrentBaseFees(): Promise<GasFees>;
51
52
  simulateUnconstrained(functionName: string, args: any[], to: AztecAddress, from?: AztecAddress | undefined): Promise<AbiDecoded>;
52
53
  getUnencryptedLogs(filter: LogFilter): Promise<GetUnencryptedLogsResponse>;
53
54
  getContractClassLogs(filter: LogFilter): Promise<GetUnencryptedLogsResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/base_wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/base_wallet.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,9 @@ export class BaseWallet {
87
87
  getBlock(number) {
88
88
  return this.pxe.getBlock(number);
89
89
  }
90
+ getCurrentBaseFees() {
91
+ return this.pxe.getCurrentBaseFees();
92
+ }
90
93
  simulateUnconstrained(functionName, args, to, from) {
91
94
  return this.pxe.simulateUnconstrained(functionName, args, to, from);
92
95
  }
@@ -142,4 +145,4 @@ export class BaseWallet {
142
145
  return this.pxe.getL1ToL2MembershipWitness(contractAddress, messageHash, secret);
143
146
  }
144
147
  }
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2Jhc2Vfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVDQTs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUM5QixZQUErQixHQUFRLEVBQVUsTUFBdUI7UUFBekMsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUFVLFdBQU0sR0FBTixNQUFNLENBQWlCO0lBQUcsQ0FBQztJQVk1RSxTQUFTLENBQUMsTUFBc0I7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMzQyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsT0FBcUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFNO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsRUFBTTtRQUN4QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELFVBQVUsQ0FBQyxPQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELGVBQWUsQ0FBQyxTQUFhLEVBQUUsY0FBOEI7UUFDM0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDN0QsQ0FB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
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2Jhc2Vfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdDQTs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUM5QixZQUErQixHQUFRLEVBQVUsTUFBdUI7UUFBekMsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUFVLFdBQU0sR0FBTixNQUFNLENBQWlCO0lBQUcsQ0FBQztJQVk1RSxTQUFTLENBQUMsTUFBc0I7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMzQyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsT0FBcUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFNO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsRUFBTTtRQUN4QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELFVBQVUsQ0FBQyxPQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELGVBQWUsQ0FBQyxTQUFhLEVBQUUsY0FBOEI7UUFDM0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDN0QsQ0FB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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aztec/aztec.js",
3
3
  "homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/aztec.js",
4
- "version": "0.65.0",
4
+ "version": "0.65.2",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": "./dest/index.js",
@@ -76,13 +76,13 @@
76
76
  ]
77
77
  },
78
78
  "dependencies": {
79
- "@aztec/circuit-types": "0.65.0",
80
- "@aztec/circuits.js": "0.65.0",
81
- "@aztec/ethereum": "0.65.0",
82
- "@aztec/foundation": "0.65.0",
83
- "@aztec/l1-artifacts": "0.65.0",
84
- "@aztec/protocol-contracts": "0.65.0",
85
- "@aztec/types": "0.65.0",
79
+ "@aztec/circuit-types": "0.65.2",
80
+ "@aztec/circuits.js": "0.65.2",
81
+ "@aztec/ethereum": "0.65.2",
82
+ "@aztec/foundation": "0.65.2",
83
+ "@aztec/l1-artifacts": "0.65.2",
84
+ "@aztec/protocol-contracts": "0.65.2",
85
+ "@aztec/types": "0.65.2",
86
86
  "axios": "^1.7.2",
87
87
  "tslib": "^2.4.0",
88
88
  "viem": "^2.7.15"
@@ -46,13 +46,16 @@ export class DeployAccountMethod extends DeployMethod {
46
46
  : feePaymentNameOrArtifact;
47
47
  }
48
48
 
49
- protected override async getInitializeFunctionCalls(options: DeployOptions): Promise<ExecutionRequestInit> {
49
+ protected override async getInitializeFunctionCalls(
50
+ options: DeployOptions,
51
+ ): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | 'packedArguments'>> {
50
52
  const exec = await super.getInitializeFunctionCalls(options);
51
53
 
52
54
  if (options.fee && this.#feePaymentArtifact) {
53
55
  const { address } = this.getInstance();
54
56
  const emptyAppPayload = EntrypointPayload.fromAppExecution([]);
55
- const feePayload = await EntrypointPayload.fromFeeOptions(address, options?.fee);
57
+ const fee = await this.getDefaultFeeOptions(options.fee);
58
+ const feePayload = await EntrypointPayload.fromFeeOptions(address, fee);
56
59
 
57
60
  exec.calls.push({
58
61
  name: this.#feePaymentArtifact.name,
@@ -17,7 +17,7 @@ import { DeployAccountSentTx } from './deploy_account_sent_tx.js';
17
17
  */
18
18
  export type DeployAccountOptions = Pick<
19
19
  DeployOptions,
20
- 'fee' | 'skipClassRegistration' | 'skipPublicDeployment' | 'estimateGas' | 'skipInitialization'
20
+ 'fee' | 'skipClassRegistration' | 'skipPublicDeployment' | 'skipInitialization'
21
21
  >;
22
22
 
23
23
  /**
@@ -166,7 +166,6 @@ export class AccountManager {
166
166
  skipInitialization: opts?.skipInitialization ?? false,
167
167
  universalDeploy: true,
168
168
  fee: opts?.fee,
169
- estimateGas: opts?.estimateGas,
170
169
  }),
171
170
  )
172
171
  .then(tx => tx.getTxHash());
@@ -3,7 +3,9 @@ import { type Fr, GasSettings } from '@aztec/circuits.js';
3
3
  import { createDebugLogger } from '@aztec/foundation/log';
4
4
 
5
5
  import { type Wallet } from '../account/wallet.js';
6
- import { type ExecutionRequestInit, type FeeOptions } from '../entrypoint/entrypoint.js';
6
+ import { type ExecutionRequestInit } from '../entrypoint/entrypoint.js';
7
+ import { type FeeOptions, type UserFeeOptions } from '../entrypoint/payload.js';
8
+ import { NoFeePaymentMethod } from '../fee/no_fee_payment_method.js';
7
9
  import { getGasLimits } from './get_gas_limits.js';
8
10
  import { ProvenTx } from './proven_tx.js';
9
11
  import { SentTx } from './sent_tx.js';
@@ -16,9 +18,7 @@ export type SendMethodOptions = {
16
18
  /** Wether to skip the simulation of the public part of the transaction. */
17
19
  skipPublicSimulation?: boolean;
18
20
  /** The fee options for the transaction. */
19
- fee?: FeeOptions;
20
- /** Whether to run an initial simulation of the tx with high gas limit to figure out actual gas settings (will default to true later down the road). */
21
- estimateGas?: boolean;
21
+ fee?: UserFeeOptions;
22
22
  /** Custom nonce to inject into the app payload of the transaction. Useful when trying to cancel an ongoing transaction by creating a new one with a higher fee */
23
23
  nonce?: Fr;
24
24
  /** Whether the transaction can be cancelled. If true, an extra nullifier will be emitted: H(nonce, GENERATOR_INDEX__TX_NULLIFIER) */
@@ -84,34 +84,60 @@ export abstract class BaseContractInteraction {
84
84
  /**
85
85
  * Estimates gas for a given tx request and returns gas limits for it.
86
86
  * @param opts - Options.
87
+ * @param pad - Percentage to pad the suggested gas limits by, if empty, defaults to 10%.
87
88
  * @returns Gas limits.
88
89
  */
89
90
  public async estimateGas(
90
91
  opts?: Omit<SendMethodOptions, 'estimateGas' | 'skipPublicSimulation'>,
91
92
  ): Promise<Pick<GasSettings, 'gasLimits' | 'teardownGasLimits'>> {
92
- const txRequest = await this.create({ ...opts, estimateGas: false });
93
+ const txRequest = await this.create({ ...opts, fee: { ...opts?.fee, estimateGas: false } });
93
94
  const simulationResult = await this.wallet.simulateTx(txRequest, true);
94
- const { totalGas: gasLimits, teardownGas: teardownGasLimits } = getGasLimits(simulationResult);
95
+ const { totalGas: gasLimits, teardownGas: teardownGasLimits } = getGasLimits(
96
+ simulationResult,
97
+ opts?.fee?.estimatedGasPadding,
98
+ );
95
99
  return { gasLimits, teardownGasLimits };
96
100
  }
97
101
 
98
102
  /**
99
- * Helper method to return fee options based on the user opts, estimating tx gas if needed.
103
+ * Returns default fee options based on the user opts without running a simulation for gas estimation.
104
+ * @param fee - User-provided fee options.
105
+ */
106
+ protected async getDefaultFeeOptions(fee: UserFeeOptions | undefined): Promise<FeeOptions> {
107
+ const maxFeesPerGas = fee?.gasSettings?.maxFeesPerGas ?? (await this.wallet.getCurrentBaseFees());
108
+ const paymentMethod = fee?.paymentMethod ?? new NoFeePaymentMethod();
109
+ const gasSettings: GasSettings = GasSettings.default({ ...fee?.gasSettings, maxFeesPerGas });
110
+ return { gasSettings, paymentMethod };
111
+ }
112
+
113
+ /**
114
+ * Return fee options based on the user opts, estimating tx gas if needed.
100
115
  * @param request - Request to execute for this interaction.
116
+ * @param pad - Percentage to pad the suggested gas limits by, as decimal (e.g., 0.10 for 10%).
101
117
  * @returns Fee options for the actual transaction.
102
118
  */
103
- protected async getFeeOptionsFromEstimatedGas(request: ExecutionRequestInit) {
104
- const fee = request.fee;
105
- if (fee) {
106
- const txRequest = await this.wallet.createTxExecutionRequest(request);
119
+ protected async getFeeOptions(
120
+ request: Omit<ExecutionRequestInit, 'fee'> & { /** User-provided fee options */ fee?: UserFeeOptions },
121
+ ): Promise<FeeOptions> {
122
+ const defaultFeeOptions = await this.getDefaultFeeOptions(request.fee);
123
+ const paymentMethod = defaultFeeOptions.paymentMethod;
124
+ const maxFeesPerGas = defaultFeeOptions.gasSettings.maxFeesPerGas;
125
+
126
+ let gasSettings = defaultFeeOptions.gasSettings;
127
+ if (request.fee?.estimateGas) {
128
+ const feeForEstimation: FeeOptions = { paymentMethod, gasSettings };
129
+ const txRequest = await this.wallet.createTxExecutionRequest({ ...request, fee: feeForEstimation });
107
130
  const simulationResult = await this.wallet.simulateTx(txRequest, true);
108
- const { totalGas: gasLimits, teardownGas: teardownGasLimits } = getGasLimits(simulationResult);
109
- this.log.debug(
131
+ const { totalGas: gasLimits, teardownGas: teardownGasLimits } = getGasLimits(
132
+ simulationResult,
133
+ request.fee?.estimatedGasPadding,
134
+ );
135
+ gasSettings = GasSettings.from({ maxFeesPerGas, gasLimits, teardownGasLimits });
136
+ this.log.verbose(
110
137
  `Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`,
111
138
  );
112
- const gasSettings = GasSettings.default({ ...fee.gasSettings, gasLimits, teardownGasLimits });
113
- return { ...fee, gasSettings };
114
139
  }
115
- return fee;
140
+
141
+ return { gasSettings, paymentMethod };
116
142
  }
117
143
  }
@@ -19,8 +19,8 @@ export class BatchCall extends BaseContractInteraction {
19
19
  */
20
20
  public async create(opts?: SendMethodOptions): Promise<TxExecutionRequest> {
21
21
  const calls = this.calls;
22
- const fee = opts?.estimateGas ? await this.getFeeOptionsFromEstimatedGas({ calls, fee: opts?.fee }) : opts?.fee;
23
- return await this.wallet.createTxExecutionRequest({ calls, fee });
22
+ const fee = await this.getFeeOptions({ calls, ...opts });
23
+ return await this.wallet.createTxExecutionRequest({ calls, ...opts, fee });
24
24
  }
25
25
 
26
26
  /**
@@ -33,29 +33,21 @@ export class BatchCall extends BaseContractInteraction {
33
33
  * @returns The result of the transaction as returned by the contract function.
34
34
  */
35
35
  public async simulate(options: SimulateMethodOptions = {}): Promise<any> {
36
- const { calls, unconstrained } = this.calls.reduce<{
37
- /**
38
- * Keep track of the number of private calls to retrieve the return values
39
- */
36
+ const { indexedCalls, unconstrained } = this.calls.reduce<{
37
+ /** Keep track of the number of private calls to retrieve the return values */
40
38
  privateIndex: 0;
41
- /**
42
- * Keep track of the number of private calls to retrieve the return values
43
- */
39
+ /** Keep track of the number of public calls to retrieve the return values */
44
40
  publicIndex: 0;
45
- /**
46
- * The public and private function calls in the batch
47
- */
48
- calls: [FunctionCall, number, number][];
49
- /**
50
- * The unconstrained function calls in the batch.
51
- */
41
+ /** The public and private function calls in the batch */
42
+ indexedCalls: [FunctionCall, number, number][];
43
+ /** The unconstrained function calls in the batch. */
52
44
  unconstrained: [FunctionCall, number][];
53
45
  }>(
54
46
  (acc, current, index) => {
55
47
  if (current.type === FunctionType.UNCONSTRAINED) {
56
48
  acc.unconstrained.push([current, index]);
57
49
  } else {
58
- acc.calls.push([
50
+ acc.indexedCalls.push([
59
51
  current,
60
52
  index,
61
53
  current.type === FunctionType.PRIVATE ? acc.privateIndex++ : acc.publicIndex++,
@@ -63,18 +55,17 @@ export class BatchCall extends BaseContractInteraction {
63
55
  }
64
56
  return acc;
65
57
  },
66
- { calls: [], unconstrained: [], publicIndex: 0, privateIndex: 0 },
58
+ { indexedCalls: [], unconstrained: [], publicIndex: 0, privateIndex: 0 },
67
59
  );
68
60
 
69
- const txRequest = await this.wallet.createTxExecutionRequest({ calls: calls.map(indexedCall => indexedCall[0]) });
61
+ const calls = indexedCalls.map(([call]) => call);
62
+ const fee = await this.getFeeOptions({ calls, ...options });
63
+ const txRequest = await this.wallet.createTxExecutionRequest({ calls, ...options, fee });
70
64
 
71
- const unconstrainedCalls = unconstrained.map(async indexedCall => {
72
- const call = indexedCall[0];
73
- return [
74
- await this.wallet.simulateUnconstrained(call.name, call.args, call.to, options?.from),
75
- indexedCall[1],
76
- ] as const;
77
- });
65
+ const unconstrainedCalls = unconstrained.map(
66
+ async ([call, index]) =>
67
+ [await this.wallet.simulateUnconstrained(call.name, call.args, call.to, options?.from), index] as const,
68
+ );
78
69
 
79
70
  const [unconstrainedResults, simulatedTx] = await Promise.all([
80
71
  Promise.all(unconstrainedCalls),
@@ -86,7 +77,7 @@ export class BatchCall extends BaseContractInteraction {
86
77
  unconstrainedResults.forEach(([result, index]) => {
87
78
  results[index] = result;
88
79
  });
89
- calls.forEach(([call, callIndex, resultIndex]) => {
80
+ indexedCalls.forEach(([call, callIndex, resultIndex]) => {
90
81
  // As account entrypoints are private, for private functions we retrieve the return values from the first nested call
91
82
  // since we're interested in the first set of values AFTER the account entrypoint
92
83
  // For public functions we retrieve the first values directly from the public output.
@@ -58,19 +58,14 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
58
58
  * @param opts - An optional object containing additional configuration for the transaction.
59
59
  * @returns A Promise that resolves to a transaction instance.
60
60
  */
61
- public async create(opts?: SendMethodOptions): Promise<TxExecutionRequest> {
61
+ public async create(opts: SendMethodOptions = {}): Promise<TxExecutionRequest> {
62
62
  if (this.functionDao.functionType === FunctionType.UNCONSTRAINED) {
63
63
  throw new Error("Can't call `create` on an unconstrained function.");
64
64
  }
65
65
  const calls = [this.request()];
66
- const fee = opts?.estimateGas ? await this.getFeeOptionsFromEstimatedGas({ calls, fee: opts?.fee }) : opts?.fee;
67
- const txRequest = await this.wallet.createTxExecutionRequest({
68
- calls,
69
- fee,
70
- nonce: opts?.nonce,
71
- cancellable: opts?.cancellable,
72
- });
73
- return txRequest;
66
+ const fee = await this.getFeeOptions({ calls, ...opts });
67
+ const { nonce, cancellable } = opts;
68
+ return await this.wallet.createTxExecutionRequest({ calls, fee, nonce, cancellable });
74
69
  }
75
70
 
76
71
  /**
@@ -104,18 +104,15 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
104
104
  throw new Error(`No function calls needed to deploy contract ${this.artifact.name}`);
105
105
  }
106
106
 
107
- const request = {
108
- calls: [...deployment.calls, ...bootstrap.calls],
109
- authWitnesses: [...(deployment.authWitnesses ?? []), ...(bootstrap.authWitnesses ?? [])],
110
- packedArguments: [...(deployment.packedArguments ?? []), ...(bootstrap.packedArguments ?? [])],
111
- fee: options.fee,
112
- };
107
+ const calls = [...deployment.calls, ...bootstrap.calls];
108
+ const authWitnesses = [...(deployment.authWitnesses ?? []), ...(bootstrap.authWitnesses ?? [])];
109
+ const packedArguments = [...(deployment.packedArguments ?? []), ...(bootstrap.packedArguments ?? [])];
110
+ const { cancellable, nonce, fee: userFee } = options;
113
111
 
114
- if (options.estimateGas) {
115
- request.fee = await this.getFeeOptionsFromEstimatedGas(request);
116
- }
112
+ const request = { calls, authWitnesses, packedArguments, cancellable, fee: userFee, nonce };
117
113
 
118
- return request;
114
+ const fee = await this.getFeeOptions(request);
115
+ return { ...request, fee };
119
116
  }
120
117
 
121
118
  /**
@@ -133,7 +130,9 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
133
130
  * @param options - Deployment options.
134
131
  * @returns A function call array with potentially requests to the class registerer and instance deployer.
135
132
  */
136
- protected async getDeploymentFunctionCalls(options: DeployOptions = {}): Promise<ExecutionRequestInit> {
133
+ protected async getDeploymentFunctionCalls(
134
+ options: DeployOptions = {},
135
+ ): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | 'packedArguments'>> {
137
136
  const calls: FunctionCall[] = [];
138
137
 
139
138
  // Set contract instance object so it's available for populating the DeploySendTx object
@@ -167,9 +166,7 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
167
166
  calls.push(deployInstance(this.wallet, instance).request());
168
167
  }
169
168
 
170
- return {
171
- calls,
172
- };
169
+ return { calls };
173
170
  }
174
171
 
175
172
  /**
@@ -177,7 +174,9 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
177
174
  * @param options - Deployment options.
178
175
  * @returns - An array of function calls.
179
176
  */
180
- protected getInitializeFunctionCalls(options: DeployOptions): Promise<ExecutionRequestInit> {
177
+ protected getInitializeFunctionCalls(
178
+ options: DeployOptions,
179
+ ): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | 'packedArguments'>> {
181
180
  const { address } = this.getInstance(options);
182
181
  const calls: FunctionCall[] = [];
183
182
  if (this.constructorArtifact && !options.skipInitialization) {
@@ -189,9 +188,7 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
189
188
  );
190
189
  calls.push(constructorCall.request());
191
190
  }
192
- return Promise.resolve({
193
- calls,
194
- });
191
+ return Promise.resolve({ calls });
195
192
  }
196
193
 
197
194
  /**
@@ -3,7 +3,7 @@ import { type GasUsed, type TxSimulationResult } from '@aztec/circuit-types';
3
3
  /**
4
4
  * Returns suggested total and teardown gas limits for a simulated tx.
5
5
  * Note that public gas usage is only accounted for if the publicOutput is present.
6
- * @param pad - Percentage to pad the suggested gas limits by, defaults to 10%.
6
+ * @param pad - Percentage to pad the suggested gas limits by, (as decimal, e.g., 0.10 for 10%).
7
7
  */
8
8
  export function getGasLimits(simulationResult: TxSimulationResult, pad = 0.1): GasUsed {
9
9
  return {
@@ -1,5 +1,5 @@
1
1
  import { PackedValues, TxExecutionRequest } from '@aztec/circuit-types';
2
- import { GasSettings, TxContext } from '@aztec/circuits.js';
2
+ import { TxContext } from '@aztec/circuits.js';
3
3
  import { FunctionType } from '@aztec/foundation/abi';
4
4
 
5
5
  import { type EntrypointInterface, type ExecutionRequestInit } from './entrypoint.js';
@@ -11,7 +11,7 @@ export class DefaultEntrypoint implements EntrypointInterface {
11
11
  constructor(private chainId: number, private protocolVersion: number) {}
12
12
 
13
13
  createTxExecutionRequest(exec: ExecutionRequestInit): Promise<TxExecutionRequest> {
14
- const { calls, authWitnesses = [], packedArguments = [] } = exec;
14
+ const { fee, calls, authWitnesses = [], packedArguments = [] } = exec;
15
15
 
16
16
  if (calls.length > 1) {
17
17
  throw new Error(`Expected a single call, got ${calls.length}`);
@@ -24,8 +24,7 @@ export class DefaultEntrypoint implements EntrypointInterface {
24
24
  }
25
25
 
26
26
  const entrypointPackedValues = PackedValues.fromValues(call.args);
27
- const gasSettings = exec.fee?.gasSettings ?? GasSettings.default();
28
- const txContext = new TxContext(this.chainId, this.protocolVersion, gasSettings);
27
+ const txContext = new TxContext(this.chainId, this.protocolVersion, fee.gasSettings);
29
28
  return Promise.resolve(
30
29
  new TxExecutionRequest(
31
30
  call.to,
@@ -1,6 +1,6 @@
1
1
  import { type EntrypointInterface, EntrypointPayload, type ExecutionRequestInit } from '@aztec/aztec.js/entrypoint';
2
2
  import { PackedValues, TxExecutionRequest } from '@aztec/circuit-types';
3
- import { type AztecAddress, GasSettings, TxContext } from '@aztec/circuits.js';
3
+ import { type AztecAddress, TxContext } from '@aztec/circuits.js';
4
4
  import { type FunctionAbi, FunctionSelector, encodeArguments } from '@aztec/foundation/abi';
5
5
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
6
6
 
@@ -15,17 +15,16 @@ export class DefaultMultiCallEntrypoint implements EntrypointInterface {
15
15
  ) {}
16
16
 
17
17
  createTxExecutionRequest(executions: ExecutionRequestInit): Promise<TxExecutionRequest> {
18
- const { calls, authWitnesses = [], packedArguments = [] } = executions;
18
+ const { fee, calls, authWitnesses = [], packedArguments = [] } = executions;
19
19
  const payload = EntrypointPayload.fromAppExecution(calls);
20
20
  const abi = this.getEntrypointAbi();
21
21
  const entrypointPackedArgs = PackedValues.fromValues(encodeArguments(abi, [payload]));
22
- const gasSettings = executions.fee?.gasSettings ?? GasSettings.default();
23
22
 
24
23
  const txRequest = TxExecutionRequest.from({
25
24
  firstCallArgsHash: entrypointPackedArgs.hash,
26
25
  origin: this.address,
27
26
  functionSelector: FunctionSelector.fromNameAndParameters(abi.name, abi.parameters),
28
- txContext: new TxContext(this.chainId, this.version, gasSettings),
27
+ txContext: new TxContext(this.chainId, this.version, fee.gasSettings),
29
28
  argsOfCalls: [...payload.packedArguments, ...packedArguments, entrypointPackedArgs],
30
29
  authWitnesses,
31
30
  });
@@ -17,7 +17,7 @@ export type ExecutionRequestInit = {
17
17
  /** Any transient packed arguments for this execution */
18
18
  packedArguments?: PackedValues[];
19
19
  /** How the fee is going to be payed */
20
- fee?: FeeOptions;
20
+ fee: FeeOptions;
21
21
  /** An optional nonce. Used to repeat a previous tx with a higher fee so that the first one is cancelled */
22
22
  nonce?: Fr;
23
23
  /** Whether the transaction can be cancelled. If true, an extra nullifier will be emitted: H(nonce, GENERATOR_INDEX__TX_NULLIFIER) */