@aztec/aztec.js 0.40.1 → 0.42.0

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 (107) hide show
  1. package/dest/account/index.d.ts +2 -2
  2. package/dest/account/index.d.ts.map +1 -1
  3. package/dest/account/interface.d.ts +16 -1
  4. package/dest/account/interface.d.ts.map +1 -1
  5. package/dest/account/interface.js +1 -1
  6. package/dest/account/wallet.d.ts +2 -2
  7. package/dest/account/wallet.d.ts.map +1 -1
  8. package/dest/account_manager/deploy_account_method.d.ts.map +1 -1
  9. package/dest/account_manager/deploy_account_method.js +8 -5
  10. package/dest/account_manager/index.d.ts +1 -1
  11. package/dest/account_manager/index.d.ts.map +1 -1
  12. package/dest/account_manager/index.js +2 -1
  13. package/dest/api/abi.d.ts +2 -2
  14. package/dest/api/abi.d.ts.map +1 -1
  15. package/dest/api/abi.js +1 -1
  16. package/dest/api/fee.d.ts +2 -0
  17. package/dest/api/fee.d.ts.map +1 -1
  18. package/dest/api/fee.js +3 -1
  19. package/dest/contract/base_contract_interaction.d.ts +7 -6
  20. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  21. package/dest/contract/base_contract_interaction.js +20 -9
  22. package/dest/contract/batch_call.d.ts +11 -0
  23. package/dest/contract/batch_call.d.ts.map +1 -1
  24. package/dest/contract/batch_call.js +50 -2
  25. package/dest/contract/contract_function_interaction.d.ts +2 -7
  26. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  27. package/dest/contract/contract_function_interaction.js +22 -36
  28. package/dest/contract/deploy_method.d.ts +5 -1
  29. package/dest/contract/deploy_method.d.ts.map +1 -1
  30. package/dest/contract/deploy_method.js +22 -6
  31. package/dest/contract/get_gas_limits.d.ts +1 -1
  32. package/dest/contract/get_gas_limits.d.ts.map +1 -1
  33. package/dest/contract/get_gas_limits.js +5 -3
  34. package/dest/contract/sent_tx.js +2 -2
  35. package/dest/entrypoint/default_entrypoint.d.ts.map +1 -1
  36. package/dest/entrypoint/default_entrypoint.js +6 -2
  37. package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +1 -1
  38. package/dest/entrypoint/default_multi_call_entrypoint.js +7 -5
  39. package/dest/entrypoint/payload.d.ts +26 -9
  40. package/dest/entrypoint/payload.d.ts.map +1 -1
  41. package/dest/entrypoint/payload.js +51 -28
  42. package/dest/fee/fee_payment_method.d.ts +6 -7
  43. package/dest/fee/fee_payment_method.d.ts.map +1 -1
  44. package/dest/fee/native_fee_payment_method.d.ts +5 -25
  45. package/dest/fee/native_fee_payment_method.d.ts.map +1 -1
  46. package/dest/fee/native_fee_payment_method.js +9 -45
  47. package/dest/fee/native_fee_payment_method_with_claim.d.ts +17 -0
  48. package/dest/fee/native_fee_payment_method_with_claim.d.ts.map +1 -0
  49. package/dest/fee/native_fee_payment_method_with_claim.js +32 -0
  50. package/dest/fee/no_fee_payment_method.d.ts +13 -0
  51. package/dest/fee/no_fee_payment_method.d.ts.map +1 -0
  52. package/dest/fee/no_fee_payment_method.js +17 -0
  53. package/dest/fee/private_fee_payment_method.d.ts +1 -5
  54. package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
  55. package/dest/fee/private_fee_payment_method.js +15 -12
  56. package/dest/fee/public_fee_payment_method.d.ts +1 -5
  57. package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
  58. package/dest/fee/public_fee_payment_method.js +15 -12
  59. package/dest/index.d.ts +11 -12
  60. package/dest/index.d.ts.map +1 -1
  61. package/dest/index.js +10 -11
  62. package/dest/rpc_clients/pxe_client.js +3 -3
  63. package/dest/utils/authwit.d.ts.map +1 -1
  64. package/dest/utils/authwit.js +2 -6
  65. package/dest/utils/cheat_codes.js +3 -3
  66. package/dest/wallet/account_wallet.d.ts +12 -1
  67. package/dest/wallet/account_wallet.d.ts.map +1 -1
  68. package/dest/wallet/account_wallet.js +58 -4
  69. package/dest/wallet/base_wallet.d.ts +10 -3
  70. package/dest/wallet/base_wallet.d.ts.map +1 -1
  71. package/dest/wallet/base_wallet.js +12 -3
  72. package/dest/wallet/create_recipient.d.ts.map +1 -1
  73. package/dest/wallet/create_recipient.js +3 -1
  74. package/dest/wallet/signerless_wallet.d.ts +2 -1
  75. package/dest/wallet/signerless_wallet.d.ts.map +1 -1
  76. package/dest/wallet/signerless_wallet.js +9 -6
  77. package/package.json +7 -7
  78. package/src/account/index.ts +2 -2
  79. package/src/account/interface.ts +17 -1
  80. package/src/account/wallet.ts +2 -2
  81. package/src/account_manager/deploy_account_method.ts +11 -3
  82. package/src/account_manager/index.ts +5 -1
  83. package/src/api/abi.ts +2 -2
  84. package/src/api/fee.ts +2 -0
  85. package/src/contract/base_contract_interaction.ts +32 -8
  86. package/src/contract/batch_call.ts +77 -1
  87. package/src/contract/contract_function_interaction.ts +31 -34
  88. package/src/contract/deploy_method.ts +23 -6
  89. package/src/contract/get_gas_limits.ts +4 -3
  90. package/src/contract/sent_tx.ts +1 -1
  91. package/src/entrypoint/default_entrypoint.ts +7 -1
  92. package/src/entrypoint/default_multi_call_entrypoint.ts +6 -4
  93. package/src/entrypoint/payload.ts +61 -25
  94. package/src/fee/fee_payment_method.ts +6 -8
  95. package/src/fee/native_fee_payment_method.ts +8 -46
  96. package/src/fee/native_fee_payment_method_with_claim.ts +33 -0
  97. package/src/fee/no_fee_payment_method.ts +23 -0
  98. package/src/fee/private_fee_payment_method.ts +15 -14
  99. package/src/fee/public_fee_payment_method.ts +15 -18
  100. package/src/index.ts +34 -32
  101. package/src/rpc_clients/pxe_client.ts +2 -2
  102. package/src/utils/authwit.ts +1 -5
  103. package/src/utils/cheat_codes.ts +3 -3
  104. package/src/wallet/account_wallet.ts +65 -3
  105. package/src/wallet/base_wallet.ts +21 -3
  106. package/src/wallet/create_recipient.ts +2 -0
  107. package/src/wallet/signerless_wallet.ts +10 -6
@@ -40,7 +40,6 @@ export declare class DeployMethod<TContract extends ContractBase = Contract> ext
40
40
  private constructorArtifact;
41
41
  /** Cached call to request() */
42
42
  private functionCalls?;
43
- private log;
44
43
  constructor(publicKeysHash: Fr, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>, args?: any[], constructorNameOrArtifact?: string | FunctionArtifact);
45
44
  /**
46
45
  * Create a contract deployment transaction, given the deployment options.
@@ -95,6 +94,11 @@ export declare class DeployMethod<TContract extends ContractBase = Contract> ext
95
94
  * @returns The proven tx.
96
95
  */
97
96
  prove(options: DeployOptions): Promise<Tx>;
97
+ /**
98
+ * Estimates gas cost for this deployment operation.
99
+ * @param options - Options.
100
+ */
101
+ estimateGas(options?: Omit<DeployOptions, 'estimateGas' | 'skipPublicSimulation'>): Promise<Pick<import("@aztec/circuits.js").GasSettings, "gasLimits" | "teardownGasLimits">>;
98
102
  /** Return this deployment address. */
99
103
  get address(): AztecAddress | undefined;
100
104
  /** Returns the partial address for this deployment. */
@@ -1 +1 @@
1
- {"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,EAAE,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EACL,YAAY,EAIb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,uFAAuF;IACvF,mBAAmB,CAAC,EAAE,EAAE,CAAC;IACzB,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,8EAA8E;IAC9E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oCAAoC;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,iBAAiB,CAAC;AAItB;;;GAGG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,YAAY,GAAG,QAAQ,CAAE,SAAQ,uBAAuB;IAahG,OAAO,CAAC,cAAc;IAEtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,IAAI;IAhBd,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAA0C;IAE3D,oCAAoC;IACpC,OAAO,CAAC,mBAAmB,CAA+B;IAE1D,+BAA+B;IAC/B,OAAO,CAAC,aAAa,CAAC,CAAuB;IAE7C,OAAO,CAAC,GAAG,CAA+C;gBAGhD,cAAc,EAAE,EAAE,EAC1B,MAAM,EAAE,MAAM,EACN,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,EAC7E,IAAI,GAAE,GAAG,EAAO,EACxB,yBAAyB,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAMvD;;;;;;;;OAQG;IACU,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAY7E;;;;;;;OAOG;IACU,OAAO,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0BhF;;;;OAIG;cACa,0BAA0B,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuCtG;;;;OAIG;IACH,SAAS,CAAC,0BAA0B,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAiB3F;;;;;;;OAOG;IACa,IAAI,CAAC,OAAO,GAAE,aAAkB,GAAG,YAAY,CAAC,SAAS,CAAC;IAS1E;;;;;OAKG;IACI,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,2BAA2B;IAa5E;;;;OAIG;IACa,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,EAAE,CAAC;IAI1D,sCAAsC;IACtC,IAAW,OAAO,6BAEjB;IAED,uDAAuD;IACvD,IAAW,cAAc,mBAExB;CACF"}
1
+ {"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { AztecAddress, computePartialAddress, getContractClassFromArtifact, getContractInstanceFromDeployParams, } from '@aztec/circuits.js';
2
2
  import { getInitializer } from '@aztec/foundation/abi';
3
- import { createDebugLogger } from '@aztec/foundation/log';
4
3
  import { deployInstance } from '../deployment/deploy_instance.js';
5
4
  import { registerContractClass } from '../deployment/register_class.js';
6
5
  import { BaseContractInteraction } from './base_contract_interaction.js';
@@ -20,7 +19,6 @@ export class DeployMethod extends BaseContractInteraction {
20
19
  this.args = args;
21
20
  /** The contract instance to be deployed. */
22
21
  this.instance = undefined;
23
- this.log = createDebugLogger('aztec:js:deploy_method');
24
22
  this.constructorArtifact = getInitializer(artifact, constructorNameOrArtifact);
25
23
  }
26
24
  /**
@@ -35,8 +33,6 @@ export class DeployMethod extends BaseContractInteraction {
35
33
  async create(options = {}) {
36
34
  if (!this.txRequest) {
37
35
  this.txRequest = await this.wallet.createTxExecutionRequest(await this.request(options));
38
- // TODO: Should we add the contracts to the DB here, or once the tx has been sent or mined?
39
- await this.wallet.registerContract({ artifact: this.artifact, instance: this.instance });
40
36
  }
41
37
  return this.txRequest;
42
38
  }
@@ -52,6 +48,13 @@ export class DeployMethod extends BaseContractInteraction {
52
48
  */
53
49
  async request(options = {}) {
54
50
  if (!this.functionCalls) {
51
+ // TODO: Should we add the contracts to the DB here, or once the tx has been sent or mined?
52
+ // Note that we need to run this registerContract here so it's available when computeFeeOptionsFromEstimatedGas
53
+ // runs, since it needs the contract to have been registered in order to estimate gas for its initialization,
54
+ // in case the initializer is public. This hints at the need of having "transient" contracts scoped to a
55
+ // simulation, so we can run the simulation with a set of contracts, but only "commit" them to the wallet
56
+ // once this tx has gone through.
57
+ await this.wallet.registerContract({ artifact: this.artifact, instance: this.getInstance(options) });
55
58
  const deployment = await this.getDeploymentFunctionCalls(options);
56
59
  const bootstrap = await this.getInitializeFunctionCalls(options);
57
60
  if (deployment.calls.length + bootstrap.calls.length === 0) {
@@ -64,7 +67,13 @@ export class DeployMethod extends BaseContractInteraction {
64
67
  fee: options.fee,
65
68
  };
66
69
  if (options.estimateGas) {
67
- request.fee = await this.getFeeOptions(request);
70
+ // Why do we call this seemingly idempotent getter method here, without using its return value?
71
+ // This call pushes a capsule required for contract class registration under the hood. And since
72
+ // capsules are a stack, when we run the simulation for estimating gas, we consume the capsule
73
+ // that was meant for the actual call. So we need to push it again here. Hopefully this design
74
+ // will go away soon.
75
+ await this.getDeploymentFunctionCalls(options);
76
+ request.fee = await this.getFeeOptionsFromEstimatedGas(request);
68
77
  }
69
78
  this.functionCalls = request;
70
79
  }
@@ -159,6 +168,13 @@ export class DeployMethod extends BaseContractInteraction {
159
168
  prove(options) {
160
169
  return super.prove(options);
161
170
  }
171
+ /**
172
+ * Estimates gas cost for this deployment operation.
173
+ * @param options - Options.
174
+ */
175
+ estimateGas(options) {
176
+ return super.estimateGas(options);
177
+ }
162
178
  /** Return this deployment address. */
163
179
  get address() {
164
180
  return this.instance?.address;
@@ -168,4 +184,4 @@ export class DeployMethod extends BaseContractInteraction {
168
184
  return this.instance && computePartialAddress(this.instance);
169
185
  }
170
186
  }
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9kZXBsb3lfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLDRCQUE0QixFQUM1QixtQ0FBbUMsR0FDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQWdELGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQTBCLE1BQU0sZ0NBQWdDLENBQUM7QUFHakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBbUJuRCxvREFBb0Q7QUFFcEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFlBQXdELFNBQVEsdUJBQXVCO0lBWWxHLFlBQ1UsY0FBa0IsRUFDMUIsTUFBYyxFQUNOLFFBQTBCLEVBQzFCLGNBQTZFLEVBQzdFLE9BQWMsRUFBRSxFQUN4Qix5QkFBcUQ7UUFFckQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBUE4sbUJBQWMsR0FBZCxjQUFjLENBQUk7UUFFbEIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQStEO1FBQzdFLFNBQUksR0FBSixJQUFJLENBQVk7UUFoQjFCLDRDQUE0QztRQUNwQyxhQUFRLEdBQWlDLFNBQVMsQ0FBQztRQVFuRCxRQUFHLEdBQUcsaUJBQWlCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQVd4RCxJQUFJLENBQUMs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
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9kZXBsb3lfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLDRCQUE0QixFQUM1QixtQ0FBbUMsR0FDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQWdELGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBS3JHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQTBCLE1BQU0sZ0NBQWdDLENBQUM7QUFHakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBbUJuRCxvREFBb0Q7QUFFcEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFlBQXdELFNBQVEsdUJBQXVCO0lBVWxHLFlBQ1UsY0FBa0IsRUFDMUIsTUFBYyxFQUNOLFFBQTBCLEVBQzFCLGNBQTZFLEVBQzdFLE9BQWMsRUFBRSxFQUN4Qix5QkFBcUQ7UUFFckQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBUE4sbUJBQWMsR0FBZCxjQUFjLENBQUk7UUFFbEIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQStEO1FBQzdFLFNBQUksR0FBSixJQUFJLENBQVk7UUFkMUIsNENBQTRDO1FBQ3BDLGFBQVEsR0FBaUMsU0FBUyxDQUFDO1FBaUJ6RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsY0FBYyxDQUFDLFFBQVEsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLEtBQUssQ0FB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
@@ -5,7 +5,7 @@ import { Gas } from '@aztec/circuits.js';
5
5
  * Note that public gas usage is only accounted for if the publicOutput is present.
6
6
  * @param pad - Percentage to pad the suggested gas limits by, defaults to 10%.
7
7
  */
8
- export declare function getGasLimits(simulatedTx: SimulatedTx, pad?: number): {
8
+ export declare function getGasLimits(simulatedTx: SimulatedTx, simulationTeardownGasLimits: Gas, pad?: number): {
9
9
  totalGas: Gas;
10
10
  teardownGas: Gas;
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"get_gas_limits.d.ts","sourceRoot":"","sources":["../../src/contract/get_gas_limits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,SAAM;;;EAe/D"}
1
+ {"version":3,"file":"get_gas_limits.d.ts","sourceRoot":"","sources":["../../src/contract/get_gas_limits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,2BAA2B,EAAE,GAAG,EAAE,GAAG,SAAM;;;EAgBjG"}
@@ -5,8 +5,10 @@ import { Gas } from '@aztec/circuits.js';
5
5
  * Note that public gas usage is only accounted for if the publicOutput is present.
6
6
  * @param pad - Percentage to pad the suggested gas limits by, defaults to 10%.
7
7
  */
8
- export function getGasLimits(simulatedTx, pad = 0.1) {
9
- const privateGasUsed = simulatedTx.tx.data.publicInputs.end.gasUsed;
8
+ export function getGasLimits(simulatedTx, simulationTeardownGasLimits, pad = 0.1) {
9
+ const privateGasUsed = simulatedTx.tx.data.publicInputs.end.gasUsed
10
+ .sub(simulationTeardownGasLimits)
11
+ .add(simulatedTx.tx.data.forPublic?.endNonRevertibleData.gasUsed ?? Gas.empty());
10
12
  if (simulatedTx.publicOutput) {
11
13
  const publicGasUsed = Object.values(simulatedTx.publicOutput.gasUsed)
12
14
  .filter(Boolean)
@@ -19,4 +21,4 @@ export function getGasLimits(simulatedTx, pad = 0.1) {
19
21
  }
20
22
  return { totalGas: privateGasUsed.mul(1 + pad), teardownGas: Gas.empty() };
21
23
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2dhc19saW1pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvZ2V0X2dhc19saW1pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6Qzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxXQUF3QixFQUFFLEdBQUcsR0FBRyxHQUFHO0lBQzlELE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBQ3BFLElBQUksV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7YUFDbEUsTUFBTSxDQUFDLE9BQU8sQ0FBQzthQUNmLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRS9GLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUN4RCxXQUFXLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQ3RDLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7QUFDN0UsQ0FBQyJ9
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2dhc19saW1pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvZ2V0X2dhc19saW1pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6Qzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxXQUF3QixFQUFFLDJCQUFnQyxFQUFFLEdBQUcsR0FBRyxHQUFHO0lBQ2hHLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTztTQUNoRSxHQUFHLENBQUMsMkJBQTJCLENBQUM7U0FDaEMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbkYsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0IsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQzthQUNsRSxNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ2YsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMvRCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFL0YsT0FBTztZQUNMLFFBQVEsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ3hELFdBQVcsRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDdEMsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztBQUM3RSxDQUFDIn0=
@@ -45,7 +45,7 @@ export class SentTx {
45
45
  throw new Error('Cannot set debug to true if waitForNotesSync is false');
46
46
  }
47
47
  const receipt = await this.waitForReceipt(opts);
48
- if (!(receipt.status === TxStatus.MINED || (receipt.status === TxStatus.REVERTED && opts?.dontThrowOnRevert))) {
48
+ if (receipt.status !== TxStatus.SUCCESS && !opts?.dontThrowOnRevert) {
49
49
  throw new Error(`Transaction ${await this.getTxHash()} was ${receipt.status}. Reason: ${receipt.error ?? 'unknown'}`);
50
50
  }
51
51
  if (opts?.debug) {
@@ -105,4 +105,4 @@ export class SentTx {
105
105
  }, 'isMined', opts?.timeout ?? DefaultWaitOpts.timeout, opts?.interval ?? DefaultWaitOpts.interval);
106
106
  }
107
107
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudF90eC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9zZW50X3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxRQUFRLEdBQ1QsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFvQnJELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBYTtJQUN2QyxPQUFPLEVBQUUsRUFBRTtJQUNYLFFBQVEsRUFBRSxDQUFDO0lBQ1gsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixLQUFLLEVBQUUsS0FBSztDQUNiLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sTUFBTTtJQUNqQixZQUFzQixHQUFRLEVBQVksYUFBOEI7UUFBbEQsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUFZLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtJQUFHLENBQUM7SUFFNUU7Ozs7O09BS0c7SUFDSSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0QyxPQUFPLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQWU7UUFDL0IsSUFBSSxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNuRCxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztR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
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudF90eC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9zZW50X3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxRQUFRLEdBQ1QsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFvQnJELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBYTtJQUN2QyxPQUFPLEVBQUUsRUFBRTtJQUNYLFFBQVEsRUFBRSxDQUFDO0lBQ1gsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixLQUFLLEVBQUUsS0FBSztDQUNiLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sTUFBTTtJQUNqQixZQUFzQixHQUFRLEVBQVksYUFBOEI7UUFBbEQsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUFZLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtJQUFHLENBQUM7SUFFNUU7Ozs7O09BS0c7SUFDSSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0QyxPQUFPLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQWU7UUFDL0IsSUFBSSxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNuRCxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztR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
@@ -1 +1 @@
1
- {"version":3,"file":"default_entrypoint.d.ts","sourceRoot":"","sources":["../../src/entrypoint/default_entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGxE,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEtF;;GAEG;AACH,qBAAa,iBAAkB,YAAW,mBAAmB;IAC/C,OAAO,CAAC,OAAO;IAAU,OAAO,CAAC,eAAe;gBAAxC,OAAO,EAAE,MAAM,EAAU,eAAe,EAAE,MAAM;IAEpE,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAsBlF"}
1
+ {"version":3,"file":"default_entrypoint.d.ts","sourceRoot":"","sources":["../../src/entrypoint/default_entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAIxE,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEtF;;GAEG;AACH,qBAAa,iBAAkB,YAAW,mBAAmB;IAC/C,OAAO,CAAC,OAAO;IAAU,OAAO,CAAC,eAAe;gBAAxC,OAAO,EAAE,MAAM,EAAU,eAAe,EAAE,MAAM;IAEpE,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA2BlF"}
@@ -1,5 +1,6 @@
1
1
  import { PackedValues, TxExecutionRequest } from '@aztec/circuit-types';
2
2
  import { GasSettings, TxContext } from '@aztec/circuits.js';
3
+ import { FunctionType } from '@aztec/foundation/abi';
3
4
  /**
4
5
  * Default implementation of the entrypoint interface. It calls a function on a contract directly
5
6
  */
@@ -14,10 +15,13 @@ export class DefaultEntrypoint {
14
15
  throw new Error(`Expected a single call, got ${calls.length}`);
15
16
  }
16
17
  const call = calls[0];
18
+ if (call.type !== FunctionType.PRIVATE) {
19
+ throw new Error('Public entrypoints are not allowed');
20
+ }
17
21
  const entrypointPackedValues = PackedValues.fromValues(call.args);
18
22
  const gasSettings = exec.fee?.gasSettings ?? GasSettings.default();
19
23
  const txContext = new TxContext(this.chainId, this.protocolVersion, gasSettings);
20
- return Promise.resolve(new TxExecutionRequest(call.to, call.functionData, entrypointPackedValues.hash, txContext, [...packedArguments, entrypointPackedValues], authWitnesses));
24
+ return Promise.resolve(new TxExecutionRequest(call.to, call.selector, entrypointPackedValues.hash, txContext, [...packedArguments, entrypointPackedValues], authWitnesses));
21
25
  }
22
26
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdF9lbnRyeXBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VudHJ5cG9pbnQvZGVmYXVsdF9lbnRyeXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSTVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFvQixPQUFlLEVBQVUsZUFBdUI7UUFBaEQsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFRO0lBQUcsQ0FBQztJQUV4RSx3QkFBd0IsQ0FBQyxJQUEwQjtRQUNqRCxNQUFNLEVBQUUsS0FBSyxFQUFFLGFBQWEsR0FBRyxFQUFFLEVBQUUsZUFBZSxHQUFHLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQztRQUVqRSxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsV0FBVyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuRSxNQUFNLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDakYsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUNwQixJQUFJLGtCQUFrQixDQUNwQixJQUFJLENBQUMsRUFBRSxFQUNQLElBQUksQ0FBQyxZQUFZLEVBQ2pCLHNCQUFzQixDQUFDLElBQUksRUFDM0IsU0FBUyxFQUNULENBQUMsR0FBRyxlQUFlLEVBQUUsc0JBQXNCLENBQUMsRUFDNUMsYUFBYSxDQUNkLENBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdF9lbnRyeXBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VudHJ5cG9pbnQvZGVmYXVsdF9lbnRyeXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUlyRDs7R0FFRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0IsT0FBZSxFQUFVLGVBQXVCO1FBQWhELFlBQU8sR0FBUCxPQUFPLENBQVE7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBUTtJQUFHLENBQUM7SUFFeEUsd0JBQXdCLENBQUMsSUFBMEI7UUFDakQsTUFBTSxFQUFFLEtBQUssRUFBRSxhQUFhLEdBQUcsRUFBRSxFQUFFLGVBQWUsR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFakUsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdEIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUVELE1BQU0sc0JBQXNCLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxXQUFXLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25FLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNqRixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLElBQUksa0JBQWtCLENBQ3BCLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLFFBQVEsRUFDYixzQkFBc0IsQ0FBQyxJQUFJLEVBQzNCLFNBQVMsRUFDVCxDQUFDLEdBQUcsZUFBZSxFQUFFLHNCQUFzQixDQUFDLEVBQzVDLGFBQWEsQ0FDZCxDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"default_multi_call_entrypoint.d.ts","sourceRoot":"","sources":["../../src/entrypoint/default_multi_call_entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAqB,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACpH,OAAO,EAAgB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,KAAK,YAAY,EAAwC,MAAM,oBAAoB,CAAC;AAI7F;;GAEG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;IAElE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBAFP,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAuD;IAG1E,wBAAwB,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmBvF,OAAO,CAAC,gBAAgB;CAqDzB"}
1
+ {"version":3,"file":"default_multi_call_entrypoint.d.ts","sourceRoot":"","sources":["../../src/entrypoint/default_multi_call_entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAqB,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACpH,OAAO,EAAgB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,KAAK,YAAY,EAA0B,MAAM,oBAAoB,CAAC;AAI/E;;GAEG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;IAElE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBAFP,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAuD;IAG1E,wBAAwB,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmBvF,OAAO,CAAC,gBAAgB;CAuDzB"}
@@ -1,7 +1,7 @@
1
1
  import { EntrypointPayload } from '@aztec/aztec.js/entrypoint';
2
2
  import { PackedValues, TxExecutionRequest } from '@aztec/circuit-types';
3
- import { FunctionData, GasSettings, TxContext } from '@aztec/circuits.js';
4
- import { encodeArguments } from '@aztec/foundation/abi';
3
+ import { GasSettings, TxContext } from '@aztec/circuits.js';
4
+ import { FunctionSelector, encodeArguments } from '@aztec/foundation/abi';
5
5
  import { getCanonicalMultiCallEntrypointAddress } from '@aztec/protocol-contracts/multi-call-entrypoint';
6
6
  /**
7
7
  * Implementation for an entrypoint interface that can execute multiple function calls in a single transaction
@@ -21,7 +21,7 @@ export class DefaultMultiCallEntrypoint {
21
21
  const txRequest = TxExecutionRequest.from({
22
22
  firstCallArgsHash: entrypointPackedArgs.hash,
23
23
  origin: this.address,
24
- functionData: FunctionData.fromAbi(abi),
24
+ functionSelector: FunctionSelector.fromNameAndParameters(abi.name, abi.parameters),
25
25
  txContext: new TxContext(this.chainId, this.version, gasSettings),
26
26
  argsOfCalls: [...payload.packedArguments, ...packedArguments, entrypointPackedArgs],
27
27
  authWitnesses,
@@ -32,8 +32,9 @@ export class DefaultMultiCallEntrypoint {
32
32
  return {
33
33
  name: 'entrypoint',
34
34
  isInitializer: false,
35
- functionType: 'secret',
35
+ functionType: 'private',
36
36
  isInternal: false,
37
+ isStatic: false,
37
38
  parameters: [
38
39
  {
39
40
  name: 'app_payload',
@@ -68,6 +69,7 @@ export class DefaultMultiCallEntrypoint {
68
69
  },
69
70
  },
70
71
  { name: 'is_public', type: { kind: 'boolean' } },
72
+ { name: 'is_static', type: { kind: 'boolean' } },
71
73
  ],
72
74
  },
73
75
  },
@@ -82,4 +84,4 @@ export class DefaultMultiCallEntrypoint {
82
84
  };
83
85
  }
84
86
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdF9tdWx0aV9jYWxsX2VudHJ5cG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW50cnlwb2ludC9kZWZhdWx0X211bHRpX2NhbGxfZW50cnlwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLGlCQUFpQixFQUE2QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BILE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQXFCLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0YsT0FBTyxFQUFvQixlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUV6Rzs7R0FFRztBQUNILE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFDVSxPQUFlLEVBQ2YsT0FBZSxFQUNmLFVBQXdCLHNDQUFzQyxFQUFFO1FBRmhFLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsWUFBTyxHQUFQLE9BQU8sQ0FBeUQ7SUFDdkUsQ0FBQztJQUVKLHdCQUF3QixDQUFDLFVBQWdDO1FBQ3ZELE1BQU0sRUFBRSxLQUFLLEVBQUUsYUFBYSxHQUFHLEVBQUUsRUFBRSxlQUFlLEdBQUcsRUFBRSxFQUFFLEdBQUcsVUFBVSxDQUFDO1FBQ3ZFLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLE1B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
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdF9tdWx0aV9jYWxsX2VudHJ5cG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW50cnlwb2ludC9kZWZhdWx0X211bHRpX2NhbGxfZW50cnlwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLGlCQUFpQixFQUE2QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BILE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQXFCLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRSxPQUFPLEVBQW9CLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXpHOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxZQUNVLE9BQWUsRUFDZixPQUFlLEVBQ2YsVUFBd0Isc0NBQXNDLEVBQUU7UUFGaEUsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUF5RDtJQUN2RSxDQUFDO0lBRUosd0JBQXdCLENBQUMsVUFBZ0M7UUFDdkQsTUFBTSxFQUFFLEtBQUssRUFBRSxhQUFhLEdBQUcsRUFBRSxFQUFFLGVBQWUsR0FBRyxFQUFFLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDdkUsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDcEMsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEYs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
@@ -1,5 +1,5 @@
1
- import { type FunctionCall, PackedValues } from '@aztec/circuit-types';
2
- import { Fr, type GasSettings } from '@aztec/circuits.js';
1
+ import { FunctionCall, PackedValues } from '@aztec/circuit-types';
2
+ import { type AztecAddress, Fr, type GasSettings } from '@aztec/circuits.js';
3
3
  import { type Tuple } from '@aztec/foundation/serialize';
4
4
  import { type FeePaymentMethod } from '../fee/fee_payment_method.js';
5
5
  /**
@@ -21,11 +21,13 @@ type EncodedFunctionCall = {
21
21
  target_address: Fr;
22
22
  /** Whether the function is public or private */
23
23
  is_public: boolean;
24
+ /** Whether the function can alter state */
25
+ is_static: boolean;
24
26
  };
25
27
  /** Assembles an entrypoint payload */
26
- export declare class EntrypointPayload {
28
+ export declare abstract class EntrypointPayload {
27
29
  #private;
28
- private constructor();
30
+ protected constructor(functionCalls: FunctionCall[], generatorIndex: number);
29
31
  /**
30
32
  * The function calls to execute. This uses snake_case naming so that it is compatible with Noir encoding
31
33
  * @internal
@@ -44,30 +46,45 @@ export declare class EntrypointPayload {
44
46
  * Serializes the payload to an array of fields
45
47
  * @returns The fields of the payload
46
48
  */
47
- toFields(): Fr[];
49
+ abstract toFields(): Fr[];
48
50
  /**
49
51
  * Hashes the payload
50
52
  * @returns The hash of the payload
51
53
  */
52
54
  hash(): Fr;
55
+ /** Serializes the function calls to an array of fields. */
56
+ protected functionCallsToFields(): Fr[];
53
57
  /**
54
- * Creates an execution payload from a set of function calls
58
+ * Creates an execution payload for a dapp from a set of function calls
55
59
  * @param functionCalls - The function calls to execute
56
60
  * @returns The execution payload
57
61
  */
58
- static fromFunctionCalls(functionCalls: FunctionCall[]): EntrypointPayload;
62
+ static fromFunctionCalls(functionCalls: FunctionCall[]): AppEntrypointPayload;
59
63
  /**
60
64
  * Creates an execution payload for the app-portion of a transaction from a set of function calls
61
65
  * @param functionCalls - The function calls to execute
62
66
  * @returns The execution payload
63
67
  */
64
- static fromAppExecution(functionCalls: FunctionCall[] | Tuple<FunctionCall, 4>): EntrypointPayload;
68
+ static fromAppExecution(functionCalls: FunctionCall[] | Tuple<FunctionCall, 4>): AppEntrypointPayload;
65
69
  /**
66
70
  * Creates an execution payload to pay the fee for a transaction
71
+ * @param sender - The address sending this payload
67
72
  * @param feeOpts - The fee payment options
68
73
  * @returns The execution payload
69
74
  */
70
- static fromFeeOptions(feeOpts?: FeeOptions): Promise<EntrypointPayload>;
75
+ static fromFeeOptions(sender: AztecAddress, feeOpts?: FeeOptions): Promise<FeeEntrypointPayload>;
76
+ }
77
+ /** Entrypoint payload for app phase execution. */
78
+ declare class AppEntrypointPayload extends EntrypointPayload {
79
+ toFields(): Fr[];
80
+ }
81
+ /** Entrypoint payload for fee payment to be run during setup phase. */
82
+ declare class FeeEntrypointPayload extends EntrypointPayload {
83
+ #private;
84
+ constructor(functionCalls: FunctionCall[], generatorIndex: number, isFeePayer: boolean);
85
+ toFields(): Fr[];
86
+ /** Whether the sender should be appointed as fee payer. */
87
+ get is_fee_payer(): boolean;
71
88
  }
72
89
  export {};
73
90
  //# sourceMappingURL=payload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../src/entrypoint/payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAqB,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,EAAE,EAAE,KAAK,WAAW,EAAkB,MAAM,oBAAoB,CAAC;AAG1E,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,oCAAoC;IACpC,aAAa,EAAE,gBAAgB,CAAC;IAChC,uBAAuB;IACvB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AASF,4DAA4D;AAC5D,KAAK,mBAAmB,GAAG;IACzB,kCAAkC;IAClC,SAAS,EAAE,EAAE,CAAC;IACd,uCAAuC;IACvC,iBAAiB,EAAE,EAAE,CAAC;IACtB,sCAAsC;IACtC,cAAc,EAAE,EAAE,CAAC;IACnB,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAGF,sCAAsC;AACtC,qBAAa,iBAAiB;;IAM5B,OAAO;IAkBP;;;OAGG;IACH,IAAI,cAAc,0BAEjB;IAGD;;;OAGG;IACH,IAAI,KAAK,OAER;IAED;;OAEG;IACH,IAAI,eAAe,mBAElB;IAED;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE;IAYhB;;;OAGG;IACH,IAAI;IAIJ;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,YAAY,EAAE;IAItD;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IAQ9E;;;;OAIG;WACU,cAAc,CAAC,OAAO,CAAC,EAAE,UAAU;CAKjD"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../src/entrypoint/payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,KAAK,YAAY,EAAE,EAAE,EAAE,KAAK,WAAW,EAAkB,MAAM,oBAAoB,CAAC;AAI7F,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,oCAAoC;IACpC,aAAa,EAAE,gBAAgB,CAAC;IAChC,uBAAuB;IACvB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AASF,4DAA4D;AAC5D,KAAK,mBAAmB,GAAG;IACzB,kCAAkC;IAClC,SAAS,EAAE,EAAE,CAAC;IACd,uCAAuC;IACvC,iBAAiB,EAAE,EAAE,CAAC;IACtB,sCAAsC;IACtC,cAAc,EAAE,EAAE,CAAC;IACnB,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAGF,sCAAsC;AACtC,8BAAsB,iBAAiB;;IAMrC,SAAS,aAAa,aAAa,EAAE,YAAY,EAAE,EAAE,cAAc,EAAE,MAAM;IAmB3E;;;OAGG;IACH,IAAI,cAAc,0BAEjB;IAGD;;;OAGG;IACH,IAAI,KAAK,OAER;IAED;;OAEG;IACH,IAAI,eAAe,mBAElB;IAED;;;OAGG;IACH,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE;IAEzB;;;OAGG;IACH,IAAI;IAIJ,2DAA2D;IAC3D,SAAS,CAAC,qBAAqB;IAU/B;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,YAAY,EAAE;IAItD;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IAQ9E;;;;;OAKG;WACU,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,UAAU;CAOvE;AAED,kDAAkD;AAClD,cAAM,oBAAqB,SAAQ,iBAAiB;IACzC,QAAQ,IAAI,EAAE,EAAE;CAG1B;AAED,uEAAuE;AACvE,cAAM,oBAAqB,SAAQ,iBAAiB;;gBAGtC,aAAa,EAAE,YAAY,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO;IAK7E,QAAQ,IAAI,EAAE,EAAE;IAKzB,2DAA2D;IAC3D,IAAI,YAAY,YAEf;CAEF"}
@@ -1,7 +1,8 @@
1
- var _EntrypointPayload_packedArguments, _EntrypointPayload_functionCalls, _EntrypointPayload_nonce, _EntrypointPayload_generatorIndex;
1
+ var _EntrypointPayload_packedArguments, _EntrypointPayload_functionCalls, _EntrypointPayload_nonce, _EntrypointPayload_generatorIndex, _FeeEntrypointPayload_isFeePayer;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { PackedValues, emptyFunctionCall } from '@aztec/circuit-types';
3
+ import { FunctionCall, PackedValues } from '@aztec/circuit-types';
4
4
  import { Fr, GeneratorIndex } from '@aztec/circuits.js';
5
+ import { FunctionType } from '@aztec/foundation/abi';
5
6
  import { padArrayEnd } from '@aztec/foundation/collection';
6
7
  import { pedersenHash } from '@aztec/foundation/crypto';
7
8
  // These must match the values defined in:
@@ -23,9 +24,10 @@ export class EntrypointPayload {
23
24
  /* eslint-disable camelcase */
24
25
  __classPrivateFieldSet(this, _EntrypointPayload_functionCalls, functionCalls.map((call, index) => ({
25
26
  args_hash: __classPrivateFieldGet(this, _EntrypointPayload_packedArguments, "f")[index].hash,
26
- function_selector: call.functionData.selector.toField(),
27
+ function_selector: call.selector.toField(),
27
28
  target_address: call.to.toField(),
28
- is_public: !call.functionData.isPrivate,
29
+ is_public: call.type == FunctionType.PUBLIC,
30
+ is_static: call.isStatic,
29
31
  })), "f");
30
32
  /* eslint-enable camelcase */
31
33
  __classPrivateFieldSet(this, _EntrypointPayload_generatorIndex, generatorIndex, "f");
@@ -52,21 +54,6 @@ export class EntrypointPayload {
52
54
  get packedArguments() {
53
55
  return __classPrivateFieldGet(this, _EntrypointPayload_packedArguments, "f");
54
56
  }
55
- /**
56
- * Serializes the payload to an array of fields
57
- * @returns The fields of the payload
58
- */
59
- toFields() {
60
- return [
61
- ...__classPrivateFieldGet(this, _EntrypointPayload_functionCalls, "f").flatMap(call => [
62
- call.args_hash,
63
- call.function_selector,
64
- call.target_address,
65
- new Fr(call.is_public),
66
- ]),
67
- __classPrivateFieldGet(this, _EntrypointPayload_nonce, "f"),
68
- ];
69
- }
70
57
  /**
71
58
  * Hashes the payload
72
59
  * @returns The hash of the payload
@@ -74,13 +61,23 @@ export class EntrypointPayload {
74
61
  hash() {
75
62
  return pedersenHash(this.toFields(), __classPrivateFieldGet(this, _EntrypointPayload_generatorIndex, "f"));
76
63
  }
64
+ /** Serializes the function calls to an array of fields. */
65
+ functionCallsToFields() {
66
+ return __classPrivateFieldGet(this, _EntrypointPayload_functionCalls, "f").flatMap(call => [
67
+ call.args_hash,
68
+ call.function_selector,
69
+ call.target_address,
70
+ new Fr(call.is_public),
71
+ new Fr(call.is_static),
72
+ ]);
73
+ }
77
74
  /**
78
- * Creates an execution payload from a set of function calls
75
+ * Creates an execution payload for a dapp from a set of function calls
79
76
  * @param functionCalls - The function calls to execute
80
77
  * @returns The execution payload
81
78
  */
82
79
  static fromFunctionCalls(functionCalls) {
83
- return new EntrypointPayload(functionCalls, 0);
80
+ return new AppEntrypointPayload(functionCalls, 0);
84
81
  }
85
82
  /**
86
83
  * Creates an execution payload for the app-portion of a transaction from a set of function calls
@@ -91,19 +88,45 @@ export class EntrypointPayload {
91
88
  if (functionCalls.length > APP_MAX_CALLS) {
92
89
  throw new Error(`Expected at most ${APP_MAX_CALLS} function calls, got ${functionCalls.length}`);
93
90
  }
94
- const paddedCalls = padArrayEnd(functionCalls, emptyFunctionCall(), APP_MAX_CALLS);
95
- return new EntrypointPayload(paddedCalls, GeneratorIndex.SIGNATURE_PAYLOAD);
91
+ const paddedCalls = padArrayEnd(functionCalls, FunctionCall.empty(), APP_MAX_CALLS);
92
+ return new AppEntrypointPayload(paddedCalls, GeneratorIndex.SIGNATURE_PAYLOAD);
96
93
  }
97
94
  /**
98
95
  * Creates an execution payload to pay the fee for a transaction
96
+ * @param sender - The address sending this payload
99
97
  * @param feeOpts - The fee payment options
100
98
  * @returns The execution payload
101
99
  */
102
- static async fromFeeOptions(feeOpts) {
103
- const calls = feeOpts ? await feeOpts.paymentMethod.getFunctionCalls(feeOpts?.gasSettings) : [];
104
- const paddedCalls = padArrayEnd(calls, emptyFunctionCall(), FEE_MAX_CALLS);
105
- return new EntrypointPayload(paddedCalls, GeneratorIndex.FEE_PAYLOAD);
100
+ static async fromFeeOptions(sender, feeOpts) {
101
+ const calls = (await feeOpts?.paymentMethod.getFunctionCalls(feeOpts?.gasSettings)) ?? [];
102
+ const feePayer = await feeOpts?.paymentMethod.getFeePayer(feeOpts?.gasSettings);
103
+ const isFeePayer = !!feePayer && feePayer.equals(sender);
104
+ const paddedCalls = padArrayEnd(calls, FunctionCall.empty(), FEE_MAX_CALLS);
105
+ return new FeeEntrypointPayload(paddedCalls, GeneratorIndex.FEE_PAYLOAD, isFeePayer);
106
106
  }
107
107
  }
108
108
  _EntrypointPayload_packedArguments = new WeakMap(), _EntrypointPayload_functionCalls = new WeakMap(), _EntrypointPayload_nonce = new WeakMap(), _EntrypointPayload_generatorIndex = new WeakMap();
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbnRyeXBvaW50L3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQXFCLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxFQUFFLEVBQW9CLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFleEQsMENBQTBDO0FBQzFDLHVEQUF1RDtBQUN2RCxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUM7QUFDeEIsMkRBQTJEO0FBQzNELE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQztBQWN4Qiw2QkFBNkI7QUFFN0Isc0NBQXNDO0FBQ3RDLE1BQU0sT0FBTyxpQkFBaUI7SUFNNUIsWUFBb0IsYUFBNkIsRUFBRSxjQUFzQjtRQUx6RSw2Q0FBbUMsRUFBRSxFQUFDO1FBQ3RDLDJDQUF3QyxFQUFFLEVBQUM7UUFDM0MsbUNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFDO1FBQ3JCLG9EQUF3QjtRQUd0QixLQUFLLE1BQU0sSUFBSSxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2pDLHVCQUFBLElBQUksMENBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUVELDhCQUE4QjtRQUM5Qix1QkFBQSxJQUFJLG9DQUFrQixhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4RCxTQUFTLEVBQUUsdUJBQUEsSUFBSSwwQ0FBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJO1lBQzVDLGlCQUFpQixF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
109
+ /** Entrypoint payload for app phase execution. */
110
+ class AppEntrypointPayload extends EntrypointPayload {
111
+ toFields() {
112
+ return [...this.functionCallsToFields(), this.nonce];
113
+ }
114
+ }
115
+ /** Entrypoint payload for fee payment to be run during setup phase. */
116
+ class FeeEntrypointPayload extends EntrypointPayload {
117
+ constructor(functionCalls, generatorIndex, isFeePayer) {
118
+ super(functionCalls, generatorIndex);
119
+ _FeeEntrypointPayload_isFeePayer.set(this, void 0);
120
+ __classPrivateFieldSet(this, _FeeEntrypointPayload_isFeePayer, isFeePayer, "f");
121
+ }
122
+ toFields() {
123
+ return [...this.functionCallsToFields(), this.nonce, new Fr(__classPrivateFieldGet(this, _FeeEntrypointPayload_isFeePayer, "f"))];
124
+ }
125
+ /* eslint-disable camelcase */
126
+ /** Whether the sender should be appointed as fee payer. */
127
+ get is_fee_payer() {
128
+ return __classPrivateFieldGet(this, _FeeEntrypointPayload_isFeePayer, "f");
129
+ }
130
+ }
131
+ _FeeEntrypointPayload_isFeePayer = new WeakMap();
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbnRyeXBvaW50L3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFBcUIsRUFBRSxFQUFvQixjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQWV4RCwwQ0FBMEM7QUFDMUMsdURBQXVEO0FBQ3ZELE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQztBQUN4QiwyREFBMkQ7QUFDM0QsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0FBZ0J4Qiw2QkFBNkI7QUFFN0Isc0NBQXNDO0FBQ3RDLE1BQU0sT0FBZ0IsaUJBQWlCO0lBTXJDLFlBQXNCLGFBQTZCLEVBQUUsY0FBc0I7UUFMM0UsNkNBQW1DLEVBQUUsRUFBQztRQUN0QywyQ0FBd0MsRUFBRSxFQUFDO1FBQzNDLG1DQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBQztRQUNyQixvREFBd0I7UUFHdEIsS0FBSyxNQUFNLElBQUksSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNqQyx1QkFBQSxJQUFJLDBDQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCw4QkFBOEI7UUFDOUIsdUJBQUEsSUFBSSxvQ0FBa0IsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDeEQsU0FBUyxFQUFFLHVCQUFBLElBQUksMENB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
@@ -5,19 +5,18 @@ import { type AztecAddress } from '@aztec/foundation/aztec-address';
5
5
  * Holds information about how the fee for a transaction is to be paid.
6
6
  */
7
7
  export interface FeePaymentMethod {
8
- /**
9
- * The asset used to pay the fee.
10
- */
8
+ /** The asset used to pay the fee. */
11
9
  getAsset(): AztecAddress;
12
- /**
13
- * Address which will hold the fee payment.
14
- */
15
- getPaymentContract(): AztecAddress;
16
10
  /**
17
11
  * Creates a function call to pay the fee in the given asset.
18
12
  * @param gasSettings - The gas limits and max fees.
19
13
  * @returns The function call to pay the fee.
20
14
  */
21
15
  getFunctionCalls(gasSettings: GasSettings): Promise<FunctionCall[]>;
16
+ /**
17
+ * The expected fee payer for this tx.
18
+ * @param gasSettings - The gas limits and max fees.
19
+ */
20
+ getFeePayer(gasSettings: GasSettings): Promise<AztecAddress>;
22
21
  }
23
22
  //# sourceMappingURL=fee_payment_method.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,IAAI,YAAY,CAAC;IACzB;;OAEG;IACH,kBAAkB,IAAI,YAAY,CAAC;IAEnC;;;;OAIG;IACH,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACrE"}
1
+ {"version":3,"file":"fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,QAAQ,IAAI,YAAY,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACpE;;;OAGG;IACH,WAAW,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC9D"}
@@ -1,34 +1,14 @@
1
1
  import { type FunctionCall } from '@aztec/circuit-types';
2
- import { type AztecAddress, type GasSettings } from '@aztec/circuits.js';
3
- import { type Wallet } from '../account/wallet.js';
2
+ import { type AztecAddress } from '@aztec/circuits.js';
4
3
  import { type FeePaymentMethod } from './fee_payment_method.js';
5
4
  /**
6
5
  * Pay fee directly in the native gas token.
7
6
  */
8
7
  export declare class NativeFeePaymentMethod implements FeePaymentMethod {
9
- #private;
10
- private constructor();
11
- static create(wallet: Wallet): Promise<NativeFeePaymentMethod>;
12
- /**
13
- * Gets the native gas asset used to pay the fee.
14
- * @returns The asset used to pay the fee.
15
- */
8
+ protected sender: AztecAddress;
9
+ constructor(sender: AztecAddress);
16
10
  getAsset(): AztecAddress;
17
- /**
18
- * The contract responsible for fee payment. This will be the same as the asset.
19
- * @returns The contract address responsible for holding the fee payment.
20
- */
21
- getPaymentContract(): AztecAddress;
22
- /**
23
- * Fee payments in the native gas token are always public.
24
- * @returns false
25
- */
26
- isPrivateFeePayment(): boolean;
27
- /**
28
- * Creates a function call to pay the fee in gas token.
29
- * @param gasSettings - The gas settings.
30
- * @returns A function call
31
- */
32
- getFunctionCalls(gasSettings: GasSettings): Promise<FunctionCall[]>;
11
+ getFunctionCalls(): Promise<FunctionCall[]>;
12
+ getFeePayer(): Promise<AztecAddress>;
33
13
  }
34
14
  //# sourceMappingURL=native_fee_payment_method.d.ts.map
@@ -1 +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,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAgB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIvF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;GAEG;AACH,qBAAa,sBAAuB,YAAW,gBAAgB;;IAG7D,OAAO;WAIM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAKpE;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,kBAAkB;IAIlB;;;OAGG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;OAIG;IACH,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CASpE"}
1
+ {"version":3,"file":"native_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/native_fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;GAEG;AACH,qBAAa,sBAAuB,YAAW,gBAAgB;IACjD,SAAS,CAAC,MAAM,EAAE,YAAY;gBAApB,MAAM,EAAE,YAAY;IAE1C,QAAQ;IAIR,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAI3C,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;CAGrC"}