@aztec/aztec.js 0.38.0 → 0.40.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 (49) hide show
  1. package/dest/account/contract.d.ts +1 -3
  2. package/dest/account/contract.d.ts.map +1 -1
  3. package/dest/account/contract.js +1 -1
  4. package/dest/account/interface.d.ts +0 -2
  5. package/dest/account/interface.d.ts.map +1 -1
  6. package/dest/account/interface.js +1 -1
  7. package/dest/account_manager/index.d.ts.map +1 -1
  8. package/dest/account_manager/index.js +4 -5
  9. package/dest/contract/base_contract_interaction.d.ts +25 -10
  10. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  11. package/dest/contract/base_contract_interaction.js +33 -6
  12. package/dest/contract/batch_call.d.ts +0 -1
  13. package/dest/contract/batch_call.d.ts.map +1 -1
  14. package/dest/contract/batch_call.js +4 -6
  15. package/dest/contract/contract_function_interaction.d.ts +0 -1
  16. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  17. package/dest/contract/contract_function_interaction.js +6 -8
  18. package/dest/contract/deploy_method.d.ts +0 -1
  19. package/dest/contract/deploy_method.d.ts.map +1 -1
  20. package/dest/contract/deploy_method.js +11 -6
  21. package/dest/contract/get_gas_limits.d.ts +12 -0
  22. package/dest/contract/get_gas_limits.d.ts.map +1 -0
  23. package/dest/contract/get_gas_limits.js +22 -0
  24. package/dest/index.d.ts +1 -1
  25. package/dest/index.d.ts.map +1 -1
  26. package/dest/index.js +2 -2
  27. package/dest/utils/account.js +2 -2
  28. package/dest/wallet/account_wallet.d.ts +0 -1
  29. package/dest/wallet/account_wallet.d.ts.map +1 -1
  30. package/dest/wallet/account_wallet.js +1 -4
  31. package/dest/wallet/base_wallet.d.ts +0 -2
  32. package/dest/wallet/base_wallet.d.ts.map +1 -1
  33. package/dest/wallet/base_wallet.js +1 -4
  34. package/dest/wallet/index.d.ts.map +1 -1
  35. package/dest/wallet/index.js +2 -6
  36. package/package.json +7 -7
  37. package/src/account/contract.ts +1 -3
  38. package/src/account/interface.ts +0 -3
  39. package/src/account_manager/index.ts +3 -4
  40. package/src/contract/base_contract_interaction.ts +40 -13
  41. package/src/contract/batch_call.ts +4 -5
  42. package/src/contract/contract_function_interaction.ts +6 -7
  43. package/src/contract/deploy_method.ts +15 -5
  44. package/src/contract/get_gas_limits.ts +24 -0
  45. package/src/index.ts +1 -0
  46. package/src/utils/account.ts +1 -1
  47. package/src/wallet/account_wallet.ts +0 -4
  48. package/src/wallet/base_wallet.ts +0 -5
  49. package/src/wallet/index.ts +1 -5
@@ -1,5 +1,4 @@
1
1
  import { type CompleteAddress } from '@aztec/circuit-types';
2
- import { type Fr } from '@aztec/circuits.js';
3
2
  import { type ContractArtifact } from '@aztec/foundation/abi';
4
3
  import { type NodeInfo } from '@aztec/types/interfaces';
5
4
  import { type AccountInterface, type AuthWitnessProvider } from './interface.js';
@@ -21,11 +20,10 @@ export interface AccountContract {
21
20
  * The account interface is responsible for assembling tx requests given requested function calls, and
22
21
  * for creating signed auth witnesses given action identifiers (message hashes).
23
22
  * @param address - Address where this account contract is deployed.
24
- * @param publicKeysHash - Hash of the public keys used to authorize actions.
25
23
  * @param nodeInfo - Info on the chain where it is deployed.
26
24
  * @returns An account interface instance for creating tx requests and authorizing actions.
27
25
  */
28
- getInterface(address: CompleteAddress, publicKeysHash: Fr, nodeInfo: NodeInfo): AccountInterface;
26
+ getInterface(address: CompleteAddress, nodeInfo: NodeInfo): AccountInterface;
29
27
  /**
30
28
  * Returns the auth witness provider for the given address.
31
29
  * @param address - Address for which to create auth witnesses.
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/account/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGjF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,mBAAmB,IAAI,gBAAgB,CAAC;IAExC;;OAEG;IACH,iBAAiB,IAAI,GAAG,EAAE,GAAG,SAAS,CAAC;IAEvC;;;;;;;;OAQG;IACH,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IAEjG;;;OAGG;IACH,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,mBAAmB,CAAC;CACvE"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/account/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGjF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,mBAAmB,IAAI,gBAAgB,CAAC;IAExC;;OAEG;IACH,iBAAiB,IAAI,GAAG,EAAE,GAAG,SAAS,CAAC;IAEvC;;;;;;;OAOG;IACH,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IAE7E;;;OAGG;IACH,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,mBAAmB,CAAC;CACvE"}
@@ -1,3 +1,3 @@
1
1
  export {};
2
2
  // docs:end:account-contract-interface
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjb3VudC9jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBd0NBLHNDQUFzQyJ9
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjb3VudC9jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBc0NBLHNDQUFzQyJ9
@@ -33,8 +33,6 @@ export interface AuthWitnessProvider {
33
33
  export interface AccountInterface extends AuthWitnessProvider, EntrypointInterface {
34
34
  /** Returns the complete address for this account. */
35
35
  getCompleteAddress(): CompleteAddress;
36
- /** Returns the public keys hash for this account. */
37
- getPublicKeysHash(): Fr;
38
36
  /** Returns the address for this account. */
39
37
  getAddress(): AztecAddress;
40
38
  /** Returns the chain id for this account */
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/account/interface.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,uCAAuC;AACvC,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;OAQG;IACH,aAAa,CACX,mBAAmB,EACf,EAAE,GACF,MAAM,GACN;QACE,6BAA6B;QAC7B,MAAM,EAAE,YAAY,CAAC;QACrB,4BAA4B;QAC5B,MAAM,EAAE,2BAA2B,GAAG,YAAY,CAAC;QACnD,8BAA8B;QAC9B,OAAO,CAAC,EAAE,EAAE,CAAC;QACb,8BAA8B;QAC9B,OAAO,CAAC,EAAE,EAAE,CAAC;KACd,GACJ,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB,EAAE,mBAAmB;IAChF,qDAAqD;IACrD,kBAAkB,IAAI,eAAe,CAAC;IAEtC,qDAAqD;IACrD,iBAAiB,IAAI,EAAE,CAAC;IAExB,4CAA4C;IAC5C,UAAU,IAAI,YAAY,CAAC;IAE3B,4CAA4C;IAC5C,UAAU,IAAI,EAAE,CAAC;IAEjB,kDAAkD;IAClD,UAAU,IAAI,EAAE,CAAC;CAClB"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/account/interface.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,uCAAuC;AACvC,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;OAQG;IACH,aAAa,CACX,mBAAmB,EACf,EAAE,GACF,MAAM,GACN;QACE,6BAA6B;QAC7B,MAAM,EAAE,YAAY,CAAC;QACrB,4BAA4B;QAC5B,MAAM,EAAE,2BAA2B,GAAG,YAAY,CAAC;QACnD,8BAA8B;QAC9B,OAAO,CAAC,EAAE,EAAE,CAAC;QACb,8BAA8B;QAC9B,OAAO,CAAC,EAAE,EAAE,CAAC;KACd,GACJ,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB,EAAE,mBAAmB;IAChF,qDAAqD;IACrD,kBAAkB,IAAI,eAAe,CAAC;IAEtC,4CAA4C;IAC5C,UAAU,IAAI,YAAY,CAAC;IAE3B,4CAA4C;IAC5C,UAAU,IAAI,EAAE,CAAC;IAEjB,kDAAkD;IAClD,UAAU,IAAI,EAAE,CAAC;CAClB"}
@@ -1,3 +1,3 @@
1
1
  export {};
2
2
  // docs:end:account-interface
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY291bnQvaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUF3REEsNkJBQTZCIn0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY291bnQvaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFxREEsNkJBQTZCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account_manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGxE,OAAO,EAAE,0BAA0B,EAAoB,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,uBAAuB,GAAG,sBAAsB,CAAC,CAAC;AAEjH;;;GAGG;AACH,qBAAa,cAAc;;IAUb,OAAO,CAAC,GAAG;IAAO,OAAO,CAAC,SAAS;IAAM,OAAO,CAAC,eAAe;IAT5E,gDAAgD;IAChD,SAAgB,IAAI,EAAE,EAAE,CAAC;IAGzB,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,CAA8B;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAK;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAsB;gBAEvB,GAAG,EAAE,GAAG,EAAU,SAAS,EAAE,EAAE,EAAU,eAAe,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,IAAI;IAI1G,SAAS,CAAC,iBAAiB;IAO3B;;;OAGG;IACU,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAMpD;;;;OAIG;IACI,kBAAkB,IAAI,eAAe;IAQ5C;;;;OAIG;IACI,WAAW,IAAI,2BAA2B;IAWjD;;;;OAIG;IACU,SAAS,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAK7D;;;;;;OAMG;IACU,QAAQ,CAAC,IAAI,GAAE,QAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAW5F;;;;;OAKG;IACU,eAAe;IA6B5B;;;;;;;OAOG;IACI,MAAM,CAAC,IAAI,CAAC,EAAE,oBAAoB,GAAG,mBAAmB;IAgB/D;;;;;;OAMG;IACU,SAAS,CAAC,IAAI,GAAE,QAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAK7F;;OAEG;IACI,YAAY;CAQpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account_manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGxE,OAAO,EAAE,0BAA0B,EAAoB,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,uBAAuB,GAAG,sBAAsB,CAAC,CAAC;AAEjH;;;GAGG;AACH,qBAAa,cAAc;;IAUb,OAAO,CAAC,GAAG;IAAO,OAAO,CAAC,SAAS;IAAM,OAAO,CAAC,eAAe;IAT5E,gDAAgD;IAChD,SAAgB,IAAI,EAAE,EAAE,CAAC;IAGzB,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,CAA8B;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAK;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAsB;gBAEvB,GAAG,EAAE,GAAG,EAAU,SAAS,EAAE,EAAE,EAAU,eAAe,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,IAAI;IAI1G,SAAS,CAAC,iBAAiB;IAO3B;;;OAGG;IACU,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAMpD;;;;OAIG;IACI,kBAAkB,IAAI,eAAe;IAQ5C;;;;OAIG;IACI,WAAW,IAAI,2BAA2B;IAWjD;;;;OAIG;IACU,SAAS,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAK7D;;;;;;OAMG;IACU,QAAQ,CAAC,IAAI,GAAE,QAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAW5F;;;;;OAKG;IACU,eAAe;IA4B5B;;;;;;;OAOG;IACI,MAAM,CAAC,IAAI,CAAC,EAAE,oBAAoB,GAAG,mBAAmB;IAgB/D;;;;;;OAMG;IACU,SAAS,CAAC,IAAI,GAAE,QAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAK7F;;OAEG;IACI,YAAY;CAQpB"}
@@ -23,7 +23,7 @@ export class AccountManager {
23
23
  }
24
24
  getPublicKeysHash() {
25
25
  if (!this.publicKeysHash) {
26
- this.publicKeysHash = deriveKeys(this.secretKey).publicKeysHash;
26
+ this.publicKeysHash = deriveKeys(this.secretKey).publicKeys.hash();
27
27
  }
28
28
  return this.publicKeysHash;
29
29
  }
@@ -34,7 +34,7 @@ export class AccountManager {
34
34
  async getAccount() {
35
35
  const nodeInfo = await this.pxe.getNodeInfo();
36
36
  const completeAddress = this.getCompleteAddress();
37
- return this.accountContract.getInterface(completeAddress, this.getPublicKeysHash(), nodeInfo);
37
+ return this.accountContract.getInterface(completeAddress, nodeInfo);
38
38
  }
39
39
  /**
40
40
  * Gets the calculated complete address associated with this account.
@@ -100,14 +100,13 @@ export class AccountManager {
100
100
  throw new Error(`Account contract ${this.accountContract.getContractArtifact().name} does not require deployment.`);
101
101
  }
102
102
  await __classPrivateFieldGet(this, _AccountManager_instances, "m", _AccountManager_register).call(this);
103
- const encryptionPublicKey = this.getPublicKeysHash();
104
103
  const { chainId, protocolVersion } = await this.pxe.getNodeInfo();
105
104
  const deployWallet = new SignerlessWallet(this.pxe, new DefaultMultiCallEntrypoint(chainId, protocolVersion));
106
105
  // We use a signerless wallet with the multi call entrypoint in order to make multiple calls in one go
107
106
  // If we used getWallet, the deployment would get routed via the account contract entrypoint
108
107
  // and it can't be used unless the contract is initialized
109
108
  const args = this.accountContract.getDeploymentArgs() ?? [];
110
- this.deployMethod = new DeployAccountMethod(this.accountContract.getAuthWitnessProvider(this.getCompleteAddress()), encryptionPublicKey, deployWallet, this.accountContract.getContractArtifact(), args, 'constructor', 'entrypoint');
109
+ this.deployMethod = new DeployAccountMethod(this.accountContract.getAuthWitnessProvider(this.getCompleteAddress()), this.getPublicKeysHash(), deployWallet, this.accountContract.getContractArtifact(), args, 'constructor', 'entrypoint');
111
110
  }
112
111
  return this.deployMethod;
113
112
  }
@@ -154,4 +153,4 @@ _AccountManager_instances = new WeakSet(), _AccountManager_register = async func
154
153
  const completeAddress = this.getCompleteAddress();
155
154
  await this.pxe.registerAccount(this.secretKey, completeAddress.partialAddress);
156
155
  };
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjb3VudF9tYW5hZ2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBWSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPOUMsT0FBTyxFQUFFLGVBQWUsRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU9sRTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sY0FBYztJQVV6QixZQUFvQixHQUFRLEVBQVUsU0FBYSxFQUFVLGVBQWdDLEVBQUUsSUFBVzs7UUFBdEYsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUFVLGNBQVMsR0FBVCxTQUFTLENBQUk7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDM0YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFUyxpQkFBaUI7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixJQUFJLENB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
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjb3VudF9tYW5hZ2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBWSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPOUMsT0FBTyxFQUFFLGVBQWUsRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU9sRTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sY0FBYztJQVV6QixZQUFvQixHQUFRLEVBQVUsU0FBYSxFQUFVLGVBQWdDLEVBQUUsSUFBVzs7UUFBdEYsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUFVLGNBQVMsR0FBVCxTQUFTLENBQUk7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDM0YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFUyxpQkFBaUI7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixJQUFJLENB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
@@ -1,29 +1,29 @@
1
- import { type PXE, type Tx, type TxExecutionRequest } from '@aztec/circuit-types';
2
- import { type FeeOptions } from '../entrypoint/entrypoint.js';
1
+ import { type Tx, type TxExecutionRequest } from '@aztec/circuit-types';
2
+ import { GasSettings } from '@aztec/circuits.js';
3
+ import { type Wallet } from '../account/wallet.js';
4
+ import { type ExecutionRequestInit, type FeeOptions } from '../entrypoint/entrypoint.js';
3
5
  import { SentTx } from './sent_tx.js';
4
6
  /**
5
7
  * Represents options for calling a (constrained) function in a contract.
6
8
  * Allows the user to specify the sender address and nonce for a transaction.
7
9
  */
8
10
  export type SendMethodOptions = {
9
- /**
10
- * Wether to skip the simulation of the public part of the transaction.
11
- */
11
+ /** Wether to skip the simulation of the public part of the transaction. */
12
12
  skipPublicSimulation?: boolean;
13
- /**
14
- * The fee options for the transaction.
15
- */
13
+ /** The fee options for the transaction. */
16
14
  fee?: FeeOptions;
15
+ /** 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). */
16
+ estimateGas?: boolean;
17
17
  };
18
18
  /**
19
19
  * Base class for an interaction with a contract, be it a deployment, a function call, or a batch.
20
20
  * Implements the sequence create/simulate/send.
21
21
  */
22
22
  export declare abstract class BaseContractInteraction {
23
- protected pxe: PXE;
23
+ protected wallet: Wallet;
24
24
  protected tx?: Tx;
25
25
  protected txRequest?: TxExecutionRequest;
26
- constructor(pxe: PXE);
26
+ constructor(wallet: Wallet);
27
27
  /**
28
28
  * Create a transaction execution request ready to be simulated.
29
29
  * @param options - An optional object containing additional configuration for the transaction.
@@ -46,5 +46,20 @@ export declare abstract class BaseContractInteraction {
46
46
  * @returns A SentTx instance for tracking the transaction status and information.
47
47
  */
48
48
  send(options?: SendMethodOptions): SentTx;
49
+ /**
50
+ * Estimates gas for a given tx request and returns defaults gas settings for it.
51
+ * @param txRequest - Transaction execution request to process.
52
+ * @returns Gas settings.
53
+ */
54
+ protected estimateGas(txRequest: TxExecutionRequest): Promise<GasSettings>;
55
+ /**
56
+ * Helper method to return fee options based on the user opts, estimating tx gas if needed.
57
+ * @param request - Request to execute for this interaction.
58
+ * @returns Fee options for the actual transaction.
59
+ */
60
+ protected getFeeOptions(request: ExecutionRequestInit): Promise<{
61
+ gasSettings: GasSettings;
62
+ paymentMethod: import("../index.js").FeePaymentMethod;
63
+ } | undefined>;
49
64
  }
50
65
  //# sourceMappingURL=base_contract_interaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base_contract_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/base_contract_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAElF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,8BAAsB,uBAAuB;IAI/B,SAAS,CAAC,GAAG,EAAE,GAAG;IAH9B,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClB,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;gBAEnB,GAAG,EAAE,GAAG;IAE9B;;;;OAIG;aACa,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAEhF;;;;OAIG;IACU,KAAK,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,EAAE,CAAC;IAMhE;;;;;;;;OAQG;IACI,IAAI,CAAC,OAAO,GAAE,iBAAsB;CAQ5C"}
1
+ {"version":3,"file":"base_contract_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/base_contract_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,uJAAuJ;IACvJ,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,8BAAsB,uBAAuB;IAI/B,SAAS,CAAC,MAAM,EAAE,MAAM;IAHpC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClB,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;gBAEnB,MAAM,EAAE,MAAM;IAEpC;;;;OAIG;aACa,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAEhF;;;;OAIG;IACU,KAAK,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,EAAE,CAAC;IAMhE;;;;;;;;OAQG;IACI,IAAI,CAAC,OAAO,GAAE,iBAAsB;IAS3C;;;;OAIG;cACa,WAAW,CAAC,SAAS,EAAE,kBAAkB;IAMzD;;;;OAIG;cACa,aAAa,CAAC,OAAO,EAAE,oBAAoB;;;;CAU5D"}
@@ -1,11 +1,13 @@
1
+ import { GasSettings } from '@aztec/circuits.js';
2
+ import { getGasLimits } from './get_gas_limits.js';
1
3
  import { SentTx } from './sent_tx.js';
2
4
  /**
3
5
  * Base class for an interaction with a contract, be it a deployment, a function call, or a batch.
4
6
  * Implements the sequence create/simulate/send.
5
7
  */
6
8
  export class BaseContractInteraction {
7
- constructor(pxe) {
8
- this.pxe = pxe;
9
+ constructor(wallet) {
10
+ this.wallet = wallet;
9
11
  }
10
12
  /**
11
13
  * Proves a transaction execution request and returns a tx object ready to be sent.
@@ -14,7 +16,7 @@ export class BaseContractInteraction {
14
16
  */
15
17
  async prove(options = {}) {
16
18
  const txRequest = this.txRequest ?? (await this.create(options));
17
- this.tx = await this.pxe.proveTx(txRequest, !options.skipPublicSimulation);
19
+ this.tx = await this.wallet.proveTx(txRequest, !options.skipPublicSimulation);
18
20
  return this.tx;
19
21
  }
20
22
  /**
@@ -29,9 +31,34 @@ export class BaseContractInteraction {
29
31
  send(options = {}) {
30
32
  const promise = (async () => {
31
33
  const tx = this.tx ?? (await this.prove(options));
32
- return this.pxe.sendTx(tx);
34
+ return this.wallet.sendTx(tx);
33
35
  })();
34
- return new SentTx(this.pxe, promise);
36
+ return new SentTx(this.wallet, promise);
37
+ }
38
+ /**
39
+ * Estimates gas for a given tx request and returns defaults gas settings for it.
40
+ * @param txRequest - Transaction execution request to process.
41
+ * @returns Gas settings.
42
+ */
43
+ async estimateGas(txRequest) {
44
+ const simulationResult = await this.wallet.simulateTx(txRequest, true);
45
+ const { totalGas: gasLimits, teardownGas: teardownGasLimits } = getGasLimits(simulationResult);
46
+ return GasSettings.default({ gasLimits, teardownGasLimits });
47
+ }
48
+ /**
49
+ * Helper method to return fee options based on the user opts, estimating tx gas if needed.
50
+ * @param request - Request to execute for this interaction.
51
+ * @returns Fee options for the actual transaction.
52
+ */
53
+ async getFeeOptions(request) {
54
+ const fee = request.fee;
55
+ if (fee) {
56
+ const txRequest = await this.wallet.createTxExecutionRequest(request);
57
+ const { gasLimits, teardownGasLimits } = await this.estimateGas(txRequest);
58
+ const gasSettings = GasSettings.default({ ...fee.gasSettings, gasLimits, teardownGasLimits });
59
+ return { ...fee, gasSettings };
60
+ }
61
+ return fee;
35
62
  }
36
63
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9jb250cmFjdF9pbnRlcmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9iYXNlX2NvbnRyYWN0X2ludGVyYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFrQnRDOzs7R0FHRztBQUNILE1BQU0sT0FBZ0IsdUJBQXVCO0lBSTNDLFlBQXNCLEdBQVE7UUFBUixRQUFHLEdBQUgsR0FBRyxDQUFLO0lBQUcsQ0FBQztJQVNsQzs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUE2QixFQUFFO1FBQ2hELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDM0UsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLElBQUksQ0FBQyxVQUE2QixFQUFFO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDMUIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2xELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVMLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0YifQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9jb250cmFjdF9pbnRlcmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9iYXNlX2NvbnRyYWN0X2ludGVyYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUlqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQWV0Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLHVCQUF1QjtJQUkzQyxZQUFzQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFHLENBQUM7SUFTeEM7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBNkIsRUFBRTtRQUNoRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzlFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxJQUFJLENBQUMsVUFBNkIsRUFBRTtRQUN6QyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQzFCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNsRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFTCxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQTZCO1FBQ3ZELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDL0YsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBNkI7UUFDekQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN4QixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDM0UsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1lBQzlGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0NBQ0YifQ==
@@ -3,7 +3,6 @@ import { type Wallet } from '../account/index.js';
3
3
  import { BaseContractInteraction, type SendMethodOptions } from './base_contract_interaction.js';
4
4
  /** A batch of function calls to be sent as a single transaction through a wallet. */
5
5
  export declare class BatchCall extends BaseContractInteraction {
6
- protected wallet: Wallet;
7
6
  protected calls: FunctionCall[];
8
7
  constructor(wallet: Wallet, calls: FunctionCall[]);
9
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAElF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEjG,qFAAqF;AACrF,qBAAa,SAAU,SAAQ,uBAAuB;IACxC,SAAS,CAAC,MAAM,EAAE,MAAM;IAAE,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE;gBAA/C,MAAM,EAAE,MAAM,EAAY,KAAK,EAAE,YAAY,EAAE;IAIrE;;;;;OAKG;IACU,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAS3E"}
1
+ {"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAElF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEjG,qFAAqF;AACrF,qBAAa,SAAU,SAAQ,uBAAuB;IACxB,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE;gBAA/C,MAAM,EAAE,MAAM,EAAY,KAAK,EAAE,YAAY,EAAE;IAI3D;;;;;OAKG;IACU,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAQ3E"}
@@ -3,7 +3,6 @@ import { BaseContractInteraction } from './base_contract_interaction.js';
3
3
  export class BatchCall extends BaseContractInteraction {
4
4
  constructor(wallet, calls) {
5
5
  super(wallet);
6
- this.wallet = wallet;
7
6
  this.calls = calls;
8
7
  }
9
8
  /**
@@ -14,12 +13,11 @@ export class BatchCall extends BaseContractInteraction {
14
13
  */
15
14
  async create(opts) {
16
15
  if (!this.txRequest) {
17
- this.txRequest = await this.wallet.createTxExecutionRequest({
18
- calls: this.calls,
19
- fee: opts?.fee,
20
- });
16
+ const calls = this.calls;
17
+ const fee = opts?.estimateGas ? await this.getFeeOptions({ calls, fee: opts?.fee }) : opts?.fee;
18
+ this.txRequest = await this.wallet.createTxExecutionRequest({ calls, fee });
21
19
  }
22
20
  return this.txRequest;
23
21
  }
24
22
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfY2FsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9iYXRjaF9jYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSx1QkFBdUIsRUFBMEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVqRyxxRkFBcUY7QUFDckYsTUFBTSxPQUFPLFNBQVUsU0FBUSx1QkFBdUI7SUFDcEQsWUFBc0IsTUFBYyxFQUFZLEtBQXFCO1FBQ25FLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQURNLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBWSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUVyRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQXdCO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUM7Z0JBQzFELEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHO2FBQ2YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0NBQ0YifQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfY2FsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9iYXRjaF9jYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSx1QkFBdUIsRUFBMEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVqRyxxRkFBcUY7QUFDckYsTUFBTSxPQUFPLFNBQVUsU0FBUSx1QkFBdUI7SUFDcEQsWUFBWSxNQUFjLEVBQVksS0FBcUI7UUFDekQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRHNCLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBRTNELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBd0I7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3pCLE1BQU0sR0FBRyxHQUFHLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDaEcsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM5RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiJ9
@@ -20,7 +20,6 @@ export type SimulateMethodOptions = {
20
20
  * It contains available interactions one can call on a method, including view.
21
21
  */
22
22
  export declare class ContractFunctionInteraction extends BaseContractInteraction {
23
- protected wallet: Wallet;
24
23
  protected contractAddress: AztecAddress;
25
24
  protected functionDao: FunctionAbi;
26
25
  protected args: any[];
@@ -1 +1 @@
1
- {"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAgB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,KAAK,YAAY,EAAgB,WAAW,EAAa,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,KAAK,WAAW,EAAqD,MAAM,uBAAuB,CAAC;AAE5G,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEjG,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,kCAAkC;IAClC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IAEpE,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;gBAHX,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,GAAG,EAAE;IAQvB;;;;;OAKG;IACU,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAa1E;;;;OAIG;IACI,OAAO,IAAI,YAAY;IAM9B;;;;;;;;;;;;;OAaG;IACU,QAAQ,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,GAAG,CAAC;CA6BzE"}
1
+ {"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAgB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,KAAK,YAAY,EAAgB,WAAW,EAAa,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,KAAK,WAAW,EAAqD,MAAM,uBAAuB,CAAC;AAE5G,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEjG,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,kCAAkC;IAClC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IAGpE,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;gBAHrB,MAAM,EAAE,MAAM,EACJ,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,GAAG,EAAE;IAQvB;;;;;OAKG;IACU,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAY1E;;;;OAIG;IACI,OAAO,IAAI,YAAY;IAM9B;;;;;;;;;;;;;OAaG;IACU,QAAQ,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,GAAG,CAAC;CA6BzE"}
@@ -9,7 +9,6 @@ import { BaseContractInteraction } from './base_contract_interaction.js';
9
9
  export class ContractFunctionInteraction extends BaseContractInteraction {
10
10
  constructor(wallet, contractAddress, functionDao, args) {
11
11
  super(wallet);
12
- this.wallet = wallet;
13
12
  this.contractAddress = contractAddress;
14
13
  this.functionDao = functionDao;
15
14
  this.args = args;
@@ -28,10 +27,9 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
28
27
  throw new Error("Can't call `create` on an unconstrained function.");
29
28
  }
30
29
  if (!this.txRequest) {
31
- this.txRequest = await this.wallet.createTxExecutionRequest({
32
- calls: [this.request()],
33
- fee: opts?.fee,
34
- });
30
+ const calls = [this.request()];
31
+ const fee = opts?.estimateGas ? await this.getFeeOptions({ calls, fee: opts?.fee }) : opts?.fee;
32
+ this.txRequest = await this.wallet.createTxExecutionRequest({ calls, fee });
35
33
  }
36
34
  return this.txRequest;
37
35
  }
@@ -75,17 +73,17 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
75
73
  argsOfCalls: [packedArgs],
76
74
  authWitnesses: [],
77
75
  });
78
- const simulatedTx = await this.pxe.simulateTx(txRequest, true, options.from ?? this.wallet.getAddress());
76
+ const simulatedTx = await this.wallet.simulateTx(txRequest, true, options.from ?? this.wallet.getAddress());
79
77
  const flattened = simulatedTx.privateReturnValues;
80
78
  return flattened ? decodeReturnValues(this.functionDao, flattened) : [];
81
79
  }
82
80
  else {
83
81
  const txRequest = await this.create();
84
- const simulatedTx = await this.pxe.simulateTx(txRequest, true);
82
+ const simulatedTx = await this.wallet.simulateTx(txRequest, true);
85
83
  this.txRequest = undefined;
86
84
  const flattened = simulatedTx.publicOutput?.publicReturnValues;
87
85
  return flattened ? decodeReturnValues(this.functionDao, flattened) : [];
88
86
  }
89
87
  }
90
88
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRixPQUFPLEVBQXFCLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0YsT0FBTyxFQUFvQixZQUFZLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHNUcsT0FBTyxFQUFFLHVCQUF1QixFQUEwQixNQUFNLGdDQUFnQyxDQUFDO0FBZ0JqRzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsdUJBQXVCO0lBQ3RFLFlBQ1ksTUFBYyxFQUNkLGVBQTZCLEVBQzdCLFdBQXdCLEVBQ3hCLElBQVc7UUFFckIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBTEosV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFjO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQU87UUFHckIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN4RCxNQUFNLElBQUksS0FBSyxDQUFDLDZFQUE2RSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3hHLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQXdCO1FBQzFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDLGFBQWEs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
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRixPQUFPLEVBQXFCLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0YsT0FBTyxFQUFvQixZQUFZLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHNUcsT0FBTyxFQUFFLHVCQUF1QixFQUEwQixNQUFNLGdDQUFnQyxDQUFDO0FBZ0JqRzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsdUJBQXVCO0lBQ3RFLFlBQ0UsTUFBYyxFQUNKLGVBQTZCLEVBQzdCLFdBQXdCLEVBQ3hCLElBQVc7UUFFckIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSkosb0JBQWUsR0FBZixlQUFlLENBQWM7UUFDN0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsU0FBSSxHQUFKLElBQUksQ0FBTztRQUdyQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3hELE1BQU0sSUFBSSxLQUFLLENBQUMsNkVBQTZFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDeEcsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBd0I7UUFDMUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDakUsTUFBTSxJQUFJ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
@@ -31,7 +31,6 @@ export type DeployOptions = {
31
31
  */
32
32
  export declare class DeployMethod<TContract extends ContractBase = Contract> extends BaseContractInteraction {
33
33
  private publicKeysHash;
34
- protected wallet: Wallet;
35
34
  private artifact;
36
35
  private postDeployCtor;
37
36
  private args;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,6 @@ export class DeployMethod extends BaseContractInteraction {
15
15
  constructor(publicKeysHash, wallet, artifact, postDeployCtor, args = [], constructorNameOrArtifact) {
16
16
  super(wallet);
17
17
  this.publicKeysHash = publicKeysHash;
18
- this.wallet = wallet;
19
18
  this.artifact = artifact;
20
19
  this.postDeployCtor = postDeployCtor;
21
20
  this.args = args;
@@ -37,10 +36,12 @@ export class DeployMethod extends BaseContractInteraction {
37
36
  if (!this.txRequest) {
38
37
  this.txRequest = await this.wallet.createTxExecutionRequest(await this.request(options));
39
38
  // TODO: Should we add the contracts to the DB here, or once the tx has been sent or mined?
40
- await this.pxe.registerContract({ artifact: this.artifact, instance: this.instance });
39
+ await this.wallet.registerContract({ artifact: this.artifact, instance: this.instance });
41
40
  }
42
41
  return this.txRequest;
43
42
  }
43
+ // REFACTOR: Having a `request` method with different semantics than the ones in the other
44
+ // derived ContractInteractions is confusing. We should unify the flow of all ContractInteractions.
44
45
  /**
45
46
  * Returns an array of function calls that represent this operation. Useful as a building
46
47
  * block for constructing batch requests.
@@ -56,12 +57,16 @@ export class DeployMethod extends BaseContractInteraction {
56
57
  if (deployment.calls.length + bootstrap.calls.length === 0) {
57
58
  throw new Error(`No function calls needed to deploy contract ${this.artifact.name}`);
58
59
  }
59
- this.functionCalls = {
60
+ const request = {
60
61
  calls: [...deployment.calls, ...bootstrap.calls],
61
62
  authWitnesses: [...(deployment.authWitnesses ?? []), ...(bootstrap.authWitnesses ?? [])],
62
63
  packedArguments: [...(deployment.packedArguments ?? []), ...(bootstrap.packedArguments ?? [])],
63
64
  fee: options.fee,
64
65
  };
66
+ if (options.estimateGas) {
67
+ request.fee = await this.getFeeOptions(request);
68
+ }
69
+ this.functionCalls = request;
65
70
  }
66
71
  return this.functionCalls;
67
72
  }
@@ -82,7 +87,7 @@ export class DeployMethod extends BaseContractInteraction {
82
87
  }
83
88
  // Register the contract class if it hasn't been published already.
84
89
  if (!options.skipClassRegistration) {
85
- if (await this.pxe.isContractClassPubliclyRegistered(contractClass.id)) {
90
+ if (await this.wallet.isContractClassPubliclyRegistered(contractClass.id)) {
86
91
  this.log.debug(`Skipping registration of already registered contract class ${contractClass.id.toString()} for ${instance.address.toString()}`);
87
92
  }
88
93
  else {
@@ -126,7 +131,7 @@ export class DeployMethod extends BaseContractInteraction {
126
131
  const txHashPromise = super.send(options).getTxHash();
127
132
  const instance = this.getInstance(options);
128
133
  this.log.debug(`Sent deployment tx of ${this.artifact.name} contract with deployment address ${instance.address.toString()}`);
129
- return new DeploySentTx(this.pxe, txHashPromise, this.postDeployCtor, instance);
134
+ return new DeploySentTx(this.wallet, txHashPromise, this.postDeployCtor, instance);
130
135
  }
131
136
  /**
132
137
  * Builds the contract instance to be deployed and returns it.
@@ -163,4 +168,4 @@ export class DeployMethod extends BaseContractInteraction {
163
168
  return this.instance && computePartialAddress(this.instance);
164
169
  }
165
170
  }
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9kZXBsb3lfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLDRCQUE0QixFQUM1QixtQ0FBbUMsR0FDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQWdELGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQTBCLE1BQU0sZ0NBQWdDLENBQUM7QUFHakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBbUJuRCxvREFBb0Q7QUFFcEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFlBQXdELFNBQVEsdUJBQXVCO0lBWWxHLFlBQ1UsY0FBa0IsRUFDaEIsTUFBYyxFQUNoQixRQUEwQixFQUMxQixjQUE2RSxFQUM3RSxPQUFjLEVBQUUsRUFDeEIseUJBQXFEO1FBRXJELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQVBOLG1CQUFjLEdBQWQsY0FBYyxDQUFJO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQStEO1FBQzdFLFNBQUksR0FBSixJQUFJLENBQVk7UUFoQjFCLDRDQUE0QztRQUNwQyxhQUFRLEdBQWlDLFNBQVMsQ0FBQztRQVFuRCxRQUFHLEdBQUcsaUJBQWlCLENBQUMsd0JBQXdC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
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9kZXBsb3lfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLDRCQUE0QixFQUM1QixtQ0FBbUMsR0FDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQWdELGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQTBCLE1BQU0sZ0NBQWdDLENBQUM7QUFHakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBbUJuRCxvREFBb0Q7QUFFcEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFlBQXdELFNBQVEsdUJBQXVCO0lBWWxHLFlBQ1UsY0FBa0IsRUFDMUIsTUFBYyxFQUNOLFFBQTBCLEVBQzFCLGNBQTZFLEVBQzdFLE9BQWMsRUFBRSxFQUN4Qix5QkFBcUQ7UUFFckQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBUE4sbUJBQWMsR0FBZCxjQUFjLENBQUk7UUFFbEIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQStEO1FBQzdFLFNBQUksR0FBSixJQUFJLENBQVk7UUFoQjFCLDRDQUE0QztRQUNwQyxhQUFRLEdBQWlDLFNBQVMsQ0FBQztRQVFuRCxRQUFHLEdBQUcsaUJBQWlCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQVd4RCxJQUFJLENBQUMs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
@@ -0,0 +1,12 @@
1
+ import { type SimulatedTx } from '@aztec/circuit-types';
2
+ import { Gas } from '@aztec/circuits.js';
3
+ /**
4
+ * Returns suggested total and teardown gas limits for a simulated tx.
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%.
7
+ */
8
+ export declare function getGasLimits(simulatedTx: SimulatedTx, pad?: number): {
9
+ totalGas: Gas;
10
+ teardownGas: Gas;
11
+ };
12
+ //# sourceMappingURL=get_gas_limits.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,22 @@
1
+ import { PublicKernelType } from '@aztec/circuit-types';
2
+ import { Gas } from '@aztec/circuits.js';
3
+ /**
4
+ * Returns suggested total and teardown gas limits for a simulated tx.
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%.
7
+ */
8
+ export function getGasLimits(simulatedTx, pad = 0.1) {
9
+ const privateGasUsed = simulatedTx.tx.data.publicInputs.end.gasUsed;
10
+ if (simulatedTx.publicOutput) {
11
+ const publicGasUsed = Object.values(simulatedTx.publicOutput.gasUsed)
12
+ .filter(Boolean)
13
+ .reduce((total, current) => total.add(current), Gas.empty());
14
+ const teardownGas = simulatedTx.publicOutput.gasUsed[PublicKernelType.TEARDOWN] ?? Gas.empty();
15
+ return {
16
+ totalGas: privateGasUsed.add(publicGasUsed).mul(1 + pad),
17
+ teardownGas: teardownGas.mul(1 + pad),
18
+ };
19
+ }
20
+ return { totalGas: privateGasUsed.mul(1 + pad), teardownGas: Gas.empty() };
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2dhc19saW1pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvZ2V0X2dhc19saW1pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6Qzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxXQUF3QixFQUFFLEdBQUcsR0FBRyxHQUFHO0lBQzlELE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBQ3BFLElBQUksV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7YUFDbEUsTUFBTSxDQUFDLE9BQU8sQ0FBQzthQUNmLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRS9GLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUN4RCxXQUFXLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQ3RDLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7QUFDN0UsQ0FBQyJ9
package/dest/index.d.ts CHANGED
@@ -32,7 +32,7 @@ getContractClassFromArtifact, INITIAL_L2_BLOCK_NUM, } from '@aztec/circuits.js';
32
32
  export { computeSecretHash } from '@aztec/circuits.js/hash';
33
33
  export { computeAppNullifierSecretKey, deriveKeys, deriveMasterIncomingViewingSecretKey, deriveMasterNullifierSecretKey, } from '@aztec/circuits.js/keys';
34
34
  export { Grumpkin, Schnorr } from '@aztec/circuits.js/barretenberg';
35
- export { AuthWitness, AztecNode, Body, CompleteAddress, ExtendedNote, type FunctionCall, GrumpkinPrivateKey, L1ToL2Message, L1Actor, L2Actor, L2Block, L2BlockL2Logs, EncryptedL2BlockL2Logs, UnencryptedL2BlockL2Logs, LogFilter, LogId, LogType, MerkleTreeId, Note, PXE, PackedValues, PartialAddress, PublicKey, SyncStatus, Tx, TxExecutionRequest, TxHash, TxReceipt, TxStatus, UnencryptedL2Log, createAztecNodeClient, emptyFunctionCall, merkleTreeIds, mockTx, Comparator, SiblingPath, EncryptedLogHeader, } from '@aztec/circuit-types';
35
+ export { AuthWitness, AztecNode, Body, CompleteAddress, ExtendedNote, type FunctionCall, GrumpkinPrivateKey, L1ToL2Message, L1Actor, L2Actor, L2Block, L2BlockL2Logs, EncryptedL2BlockL2Logs, UnencryptedL2BlockL2Logs, LogFilter, LogId, LogType, MerkleTreeId, Note, PXE, PackedValues, PartialAddress, PublicKey, SyncStatus, Tx, TxExecutionRequest, TxHash, TxReceipt, TxStatus, UnencryptedL2Log, createAztecNodeClient, emptyFunctionCall, merkleTreeIds, mockTx, Comparator, SiblingPath, EncryptedLogHeader, EncryptedLogBody, } from '@aztec/circuit-types';
36
36
  export { NodeInfo } from '@aztec/types/interfaces';
37
37
  export { ContractInstanceWithAddress, ContractClassWithId } from '@aztec/types/contracts';
38
38
  export { encodeArguments } from '@aztec/foundation/abi';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dest/index.js CHANGED
@@ -32,7 +32,7 @@ getContractClassFromArtifact, INITIAL_L2_BLOCK_NUM, } from '@aztec/circuits.js';
32
32
  export { computeSecretHash } from '@aztec/circuits.js/hash';
33
33
  export { computeAppNullifierSecretKey, deriveKeys, deriveMasterIncomingViewingSecretKey, deriveMasterNullifierSecretKey, } from '@aztec/circuits.js/keys';
34
34
  export { Grumpkin, Schnorr } from '@aztec/circuits.js/barretenberg';
35
- export { AuthWitness, Body, CompleteAddress, ExtendedNote, GrumpkinPrivateKey, L1ToL2Message, L1Actor, L2Actor, L2Block, L2BlockL2Logs, EncryptedL2BlockL2Logs, UnencryptedL2BlockL2Logs, LogId, LogType, MerkleTreeId, Note, PackedValues, Tx, TxExecutionRequest, TxHash, TxReceipt, TxStatus, UnencryptedL2Log, createAztecNodeClient, emptyFunctionCall, merkleTreeIds, mockTx, Comparator, SiblingPath, EncryptedLogHeader, } from '@aztec/circuit-types';
35
+ export { AuthWitness, Body, CompleteAddress, ExtendedNote, GrumpkinPrivateKey, L1ToL2Message, L1Actor, L2Actor, L2Block, L2BlockL2Logs, EncryptedL2BlockL2Logs, UnencryptedL2BlockL2Logs, LogId, LogType, MerkleTreeId, Note, PackedValues, Tx, TxExecutionRequest, TxHash, TxReceipt, TxStatus, UnencryptedL2Log, createAztecNodeClient, emptyFunctionCall, merkleTreeIds, mockTx, Comparator, SiblingPath, EncryptedLogHeader, EncryptedLogBody, } from '@aztec/circuit-types';
36
36
  // TODO: These kinds of things have no place on our public api.
37
37
  // External devs will almost certainly have their own methods of doing these things.
38
38
  // If we want to use them in our own "aztec.js consuming code", import them from foundation as needed.
@@ -53,4 +53,4 @@ export { deployL1Contract, deployL1Contracts, } from '@aztec/ethereum';
53
53
  export * from './api/init.js';
54
54
  export * from './api/abi.js';
55
55
  export * from './api/fee.js';
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsT0FBTyxFQUVMLDJCQUEyQixFQUMzQixRQUFRLEVBQ1IsWUFBWSxFQUlaLE1BQU0sRUFDTixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksR0FDYixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE9BQU8sRUFDTCxpQkFBaUIsRUFHakIsVUFBVSxFQUlWLGFBQWEsRUFDYix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2QixVQUFVLEVBQ1YsbUJBQW1CLEdBQ3BCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBS3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsYUFBYSxFQUFVLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFeEcsd0hBQXdIO0FBQ3hILHNDQUFzQztBQUN0QyxPQUFPLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixFQUFFLEVBQ0YsRUFBRSxFQUNGLGVBQWUsRUFDZixjQUFjLEVBQ2QsS0FBSyxFQUNMLG1DQUFtQyxFQUFFLHdHQUF3RztBQUM3SSw0QkFBNEIsRUFDNUIsb0JBQW9CLEdBQ3JCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFNUQsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixVQUFVLEVBQ1Ysb0NBQW9DLEVBQ3BDLDhCQUE4QixHQUMvQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFcEUsT0FBTyxFQUNMLFdBQVcsRUFFWCxJQUFJLEVBQ0osZUFBZSxFQUNmLFlBQVksRUFFWixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLE9BQU8sRUFDUCxPQUFPLEVBQ1AsT0FBTyxFQUNQLGFBQWEsRUFDYixzQkFBc0IsRUFDdEIsd0JBQXdCLEVBRXhCLEtBQUssRUFDTCxPQUFPLEVBQ1AsWUFBWSxFQUNaLElBQUksRUFFSixZQUFZLEVBSVosRUFBRSxFQUNGLGtCQUFrQixFQUNsQixNQUFNLEVBQ04sU0FBUyxFQUNULFFBQVEsRUFDUixnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsTUFBTSxFQUNOLFVBQVUsRUFDVixXQUFXLEVBQ1gsa0JBQWtCLEdBQ25CLE1BQU0sc0JBQXNCLENBQUM7QUFLOUIsK0RBQStEO0FBQy9ELG9GQUFvRjtBQUNwRixzR0FBc0c7QUFDdEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQWUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHOUQsT0FBTyxFQUdMLGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6Qiw2REFBNkQ7QUFDN0Qsc0ZBQXNGO0FBQ3RGLGlGQUFpRjtBQUNqRixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQyJ9
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsT0FBTyxFQUVMLDJCQUEyQixFQUMzQixRQUFRLEVBQ1IsWUFBWSxFQUlaLE1BQU0sRUFDTixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksR0FDYixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE9BQU8sRUFDTCxpQkFBaUIsRUFHakIsVUFBVSxFQUlWLGFBQWEsRUFDYix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2QixVQUFVLEVBQ1YsbUJBQW1CLEdBQ3BCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBS3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsYUFBYSxFQUFVLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFeEcsd0hBQXdIO0FBQ3hILHNDQUFzQztBQUN0QyxPQUFPLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixFQUFFLEVBQ0YsRUFBRSxFQUNGLGVBQWUsRUFDZixjQUFjLEVBQ2QsS0FBSyxFQUNMLG1DQUFtQyxFQUFFLHdHQUF3RztBQUM3SSw0QkFBNEIsRUFDNUIsb0JBQW9CLEdBQ3JCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFNUQsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixVQUFVLEVBQ1Ysb0NBQW9DLEVBQ3BDLDhCQUE4QixHQUMvQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFcEUsT0FBTyxFQUNMLFdBQVcsRUFFWCxJQUFJLEVBQ0osZUFBZSxFQUNmLFlBQVksRUFFWixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLE9BQU8sRUFDUCxPQUFPLEVBQ1AsT0FBTyxFQUNQLGFBQWEsRUFDYixzQkFBc0IsRUFDdEIsd0JBQXdCLEVBRXhCLEtBQUssRUFDTCxPQUFPLEVBQ1AsWUFBWSxFQUNaLElBQUksRUFFSixZQUFZLEVBSVosRUFBRSxFQUNGLGtCQUFrQixFQUNsQixNQUFNLEVBQ04sU0FBUyxFQUNULFFBQVEsRUFDUixnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsTUFBTSxFQUNOLFVBQVUsRUFDVixXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLGdCQUFnQixHQUNqQixNQUFNLHNCQUFzQixDQUFDO0FBSzlCLCtEQUErRDtBQUMvRCxvRkFBb0Y7QUFDcEYsc0dBQXNHO0FBQ3RHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFlLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRzlELE9BQU8sRUFHTCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBQ2xCLE1BQU0saUJBQWlCLENBQUM7QUFFekIsNkRBQTZEO0FBQzdELHNGQUFzRjtBQUN0RixpRkFBaUY7QUFDakYsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUMifQ==