@aztec/aztec.js 0.27.2 → 0.28.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.
@@ -12,9 +12,9 @@ export interface AccountContract {
12
12
  */
13
13
  getContractArtifact(): ContractArtifact;
14
14
  /**
15
- * Returns the deployment arguments for this instance.
15
+ * Returns the deployment arguments for this instance, or undefined if this contract does not require deployment.
16
16
  */
17
- getDeploymentArgs(): any[];
17
+ getDeploymentArgs(): any[] | undefined;
18
18
  /**
19
19
  * Returns the account interface for this account contract given a deployment at the provided address.
20
20
  * The account interface is responsible for assembling tx requests given requested function calls, and
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/account/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,mBAAmB,IAAI,gBAAgB,CAAC;IAExC;;OAEG;IACH,iBAAiB,IAAI,GAAG,EAAE,CAAC;IAE3B;;;;;;;OAOG;IACH,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,CAAC;CAC9E"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/account/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD;;;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;CAC9E"}
@@ -65,23 +65,23 @@ export declare class AccountManager {
65
65
  getDeployMethod(): Promise<DeployMethod<import("../index.js").Contract>>;
66
66
  /**
67
67
  * Deploys the account contract that backs this account.
68
- * Does not register the associated class nor publicly deploy the instance.
68
+ * Does not register the associated class nor publicly deploy the instance by default.
69
69
  * Uses the salt provided in the constructor or a randomly generated one.
70
- * Note that if the Account is constructed with an explicit complete address
71
- * it is assumed that the account contract has already been deployed and this method will throw.
72
70
  * Registers the account in the PXE Service before deploying the contract.
73
71
  * @returns A SentTx object that can be waited to get the associated Wallet.
74
72
  */
75
73
  deploy(): Promise<DeployAccountSentTx>;
76
74
  /**
77
- * Deploys the account contract that backs this account and awaits the tx to be mined.
78
- * Uses the salt provided in the constructor or a randomly generated one.
79
- * Note that if the Account is constructed with an explicit complete address
80
- * it is assumed that the account contract has already been deployed and this method will throw.
81
- * Registers the account in the PXE Service before deploying the contract.
75
+ * Deploys the account contract that backs this account if needed and awaits the tx to be mined.
76
+ * Uses the salt provided in the constructor or a randomly generated one. If no initialization
77
+ * is required it skips the transaction, and only registers the account in the PXE Service.
82
78
  * @param opts - Options to wait for the tx to be mined.
83
79
  * @returns A Wallet instance.
84
80
  */
85
- waitDeploy(opts?: WaitOpts): Promise<AccountWalletWithPrivateKey>;
81
+ waitSetup(opts?: WaitOpts): Promise<AccountWalletWithPrivateKey>;
82
+ /**
83
+ * Returns whether this account contract has a constructor and needs deployment.
84
+ */
85
+ isDeployable(): boolean;
86
86
  }
87
87
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account_manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAmB,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAInE,OAAO,EAAE,2BAA2B,EAAoB,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;GAGG;AACH,qBAAa,cAAc;;IAYvB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,eAAe;IAbzB,gDAAgD;IAChD,SAAgB,IAAI,EAAE,EAAE,CAAC;IAGzB,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,CAA8B;IAC/C,OAAO,CAAC,mBAAmB,CAAC,CAAY;IAExC,OAAO,CAAC,YAAY,CAAC,CAAe;gBAG1B,GAAG,EAAE,GAAG,EACR,oBAAoB,EAAE,kBAAkB,EACxC,eAAe,EAAE,eAAe,EACxC,IAAI,CAAC,EAAE,IAAI;IAKb,SAAS,CAAC,sBAAsB;IAOhC;;;OAGG;IACU,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAMpD;;;;OAIG;IACI,kBAAkB,IAAI,eAAe;IAS5C;;;;OAIG;IACI,WAAW,IAAI,2BAA2B;IAYjD;;;;OAIG;IACU,SAAS,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAK9D;;;;;;OAMG;IACU,QAAQ,CAAC,IAAI,GAAE,QAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAa7F;;;;;OAKG;IACU,eAAe;IAsB5B;;;;;;;;OAQG;IACU,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWnD;;;;;;;;OAQG;IACU,UAAU,CAAC,IAAI,GAAE,QAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAShG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account_manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAmB,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAInE,OAAO,EAAE,2BAA2B,EAAoB,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;GAGG;AACH,qBAAa,cAAc;;IAWvB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,eAAe;IAZzB,gDAAgD;IAChD,SAAgB,IAAI,EAAE,EAAE,CAAC;IAGzB,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,CAA8B;IAC/C,OAAO,CAAC,mBAAmB,CAAC,CAAY;IACxC,OAAO,CAAC,YAAY,CAAC,CAAe;gBAG1B,GAAG,EAAE,GAAG,EACR,oBAAoB,EAAE,kBAAkB,EACxC,eAAe,EAAE,eAAe,EACxC,IAAI,CAAC,EAAE,IAAI;IAKb,SAAS,CAAC,sBAAsB;IAOhC;;;OAGG;IACU,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAMpD;;;;OAIG;IACI,kBAAkB,IAAI,eAAe;IAS5C;;;;OAIG;IACI,WAAW,IAAI,2BAA2B;IAYjD;;;;OAIG;IACU,SAAS,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAK9D;;;;;;OAMG;IACU,QAAQ,CAAC,IAAI,GAAE,QAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAa7F;;;;;OAKG;IACU,eAAe;IAwB5B;;;;;;OAMG;IACU,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWnD;;;;;;OAMG;IACU,SAAS,CAAC,IAAI,GAAE,QAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAK9F;;OAEG;IACI,YAAY;CAQpB"}
@@ -100,8 +100,8 @@ export class AccountManager {
100
100
  */
101
101
  async getDeployMethod() {
102
102
  if (!this.deployMethod) {
103
- if (!this.salt) {
104
- throw new Error(`Cannot deploy account contract without known salt.`);
103
+ if (!this.isDeployable()) {
104
+ throw new Error(`Account contract ${this.accountContract.getContractArtifact().name} does not require deployment.`);
105
105
  }
106
106
  await __classPrivateFieldGet(this, _AccountManager_instances, "m", _AccountManager_register).call(this);
107
107
  const encryptionPublicKey = this.getEncryptionPublicKey();
@@ -110,17 +110,15 @@ export class AccountManager {
110
110
  // instead of directly hitting the initializer.
111
111
  const deployWallet = new SignerlessWallet(this.pxe);
112
112
  const deployer = new ContractDeployer(this.accountContract.getContractArtifact(), deployWallet, encryptionPublicKey);
113
- const args = this.accountContract.getDeploymentArgs();
113
+ const args = this.accountContract.getDeploymentArgs() ?? [];
114
114
  this.deployMethod = deployer.deploy(...args);
115
115
  }
116
116
  return this.deployMethod;
117
117
  }
118
118
  /**
119
119
  * Deploys the account contract that backs this account.
120
- * Does not register the associated class nor publicly deploy the instance.
120
+ * Does not register the associated class nor publicly deploy the instance by default.
121
121
  * Uses the salt provided in the constructor or a randomly generated one.
122
- * Note that if the Account is constructed with an explicit complete address
123
- * it is assumed that the account contract has already been deployed and this method will throw.
124
122
  * Registers the account in the PXE Service before deploying the contract.
125
123
  * @returns A SentTx object that can be waited to get the associated Wallet.
126
124
  */
@@ -135,21 +133,25 @@ export class AccountManager {
135
133
  return new DeployAccountSentTx(wallet, sentTx.getTxHash());
136
134
  }
137
135
  /**
138
- * Deploys the account contract that backs this account and awaits the tx to be mined.
139
- * Uses the salt provided in the constructor or a randomly generated one.
140
- * Note that if the Account is constructed with an explicit complete address
141
- * it is assumed that the account contract has already been deployed and this method will throw.
142
- * Registers the account in the PXE Service before deploying the contract.
136
+ * Deploys the account contract that backs this account if needed and awaits the tx to be mined.
137
+ * Uses the salt provided in the constructor or a randomly generated one. If no initialization
138
+ * is required it skips the transaction, and only registers the account in the PXE Service.
143
139
  * @param opts - Options to wait for the tx to be mined.
144
140
  * @returns A Wallet instance.
145
141
  */
146
- async waitDeploy(opts = DefaultWaitOpts) {
147
- await this.deploy().then(tx => tx.wait(opts));
142
+ async waitSetup(opts = DefaultWaitOpts) {
143
+ await (this.isDeployable() ? this.deploy().then(tx => tx.wait(opts)) : this.register());
148
144
  return this.getWallet();
149
145
  }
146
+ /**
147
+ * Returns whether this account contract has a constructor and needs deployment.
148
+ */
149
+ isDeployable() {
150
+ return this.accountContract.getDeploymentArgs() !== undefined;
151
+ }
150
152
  }
151
153
  _AccountManager_instances = new WeakSet(), _AccountManager_register = async function _AccountManager_register() {
152
154
  const completeAddress = this.getCompleteAddress();
153
155
  await this.pxe.registerAccount(this.encryptionPrivateKey, completeAddress.partialAddress);
154
156
  };
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjb3VudF9tYW5hZ2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRixPQUFPLEVBQWEsbUNBQW1DLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPOUMsT0FBTyxFQUFFLGVBQWUsRUFBWSxNQUFNLHdCQUF3QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxFOzs7R0FHRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBV3pCLFlBQ1UsR0FBUSxFQUNSLG9CQUF3QyxFQUN4QyxlQUFnQyxFQUN4QyxJQUFXOztRQUhILFFBQUcsR0FBSCxHQUFHLENBQUs7UUFDUix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQW9CO1FBQ3hDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUd4QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRVMsc0JBQXNCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsbUJBQW1C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
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjb3VudF9tYW5hZ2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRixPQUFPLEVBQWEsbUNBQW1DLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPOUMsT0FBTyxFQUFFLGVBQWUsRUFBWSxNQUFNLHdCQUF3QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxFOzs7R0FHRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBVXpCLFlBQ1UsR0FBUSxFQUNSLG9CQUF3QyxFQUN4QyxlQUFnQyxFQUN4QyxJQUFXOztRQUhILFFBQUcsR0FBSCxHQUFHLENBQUs7UUFDUix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQW9CO1FBQ3hDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUd4QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRVMsc0JBQXNCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsbUJBQW1C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
@@ -22,8 +22,10 @@ export type DeployOptions = {
22
22
  universalDeploy?: boolean;
23
23
  /** Skip contract class registration. */
24
24
  skipClassRegistration?: boolean;
25
- /** Skip public deployment and only initialize the contract. */
25
+ /** Skip public deployment, instead just privately initialize the contract. */
26
26
  skipPublicDeployment?: boolean;
27
+ /** Skip contract initialization. */
28
+ skipInitialization?: boolean;
27
29
  } & SendMethodOptions;
28
30
  /**
29
31
  * Contract interaction for deployment. Handles class registration, public instance deployment,
@@ -39,6 +41,8 @@ export declare class DeployMethod<TContract extends ContractBase = Contract> ext
39
41
  private instance?;
40
42
  /** Constructor function to call. */
41
43
  private constructorArtifact;
44
+ /** Cached call to request() */
45
+ private functionCalls;
42
46
  private log;
43
47
  constructor(publicKey: PublicKey, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>, args?: any[], constructorName?: string);
44
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EACL,YAAY,EAIb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAoB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,mDAAmD;IACnD,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,uFAAuF;IACvF,mBAAmB,CAAC,EAAE,EAAE,CAAC;IACzB,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,+DAA+D;IAC/D,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,GAAG,iBAAiB,CAAC;AAItB;;;GAGG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,YAAY,GAAG,QAAQ,CAAE,SAAQ,uBAAuB;IAUhG,OAAO,CAAC,SAAS;IACjB,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,IAAI;IAbd,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAA0C;IAE3D,oCAAoC;IACpC,OAAO,CAAC,mBAAmB,CAAmB;IAE9C,OAAO,CAAC,GAAG,CAA+C;gBAGhD,SAAS,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,EAChB,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,eAAe,GAAE,MAAsB;IAUzC;;;;;;;;OAQG;IACU,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAS7E;;;;;;;OAOG;IACU,OAAO,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAM1E;;;;OAIG;cACa,0BAA0B,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAqChG;;;;;;;OAOG;IACI,IAAI,CAAC,OAAO,GAAE,aAAkB,GAAG,YAAY,CAAC,SAAS,CAAC;IAKjE;;;;;OAKG;IACI,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,2BAA2B;IAa5E;;;;OAIG;IACI,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,EAAE,CAAC;IAIpD,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":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EACL,YAAY,EAIb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAA2C,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,mDAAmD;IACnD,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,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,SAAS;IACjB,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,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,CAA6B;IAElD,OAAO,CAAC,GAAG,CAA+C;gBAGhD,SAAS,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,EAChB,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,eAAe,CAAC,EAAE,MAAM;IAY1B;;;;;;;;OAQG;IACU,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAa7E;;;;;;;OAOG;IACU,OAAO,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAkB1E;;;;OAIG;cACa,0BAA0B,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAqChG;;;;;;;OAOG;IACI,IAAI,CAAC,OAAO,GAAE,aAAkB,GAAG,YAAY,CAAC,SAAS,CAAC;IAKjE;;;;;OAKG;IACI,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,2BAA2B;IAa5E;;;;OAIG;IACI,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,EAAE,CAAC;IAIpD,sCAAsC;IACtC,IAAW,OAAO,6BAEjB;IAED,uDAAuD;IACvD,IAAW,cAAc,mBAExB;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { computePartialAddress, getContractClassFromArtifact, getContractInstanceFromDeployParams, } from '@aztec/circuits.js';
2
+ import { getDefaultInitializer } from '@aztec/foundation/abi';
2
3
  import { createDebugLogger } from '@aztec/foundation/log';
3
4
  import { deployInstance } from '../deployment/deploy_instance.js';
4
5
  import { registerContractClass } from '../deployment/register_class.js';
@@ -11,7 +12,7 @@ import { DeploySentTx } from './deploy_sent_tx.js';
11
12
  * and initialization of the contract. Extends the BaseContractInteraction class.
12
13
  */
13
14
  export class DeployMethod extends BaseContractInteraction {
14
- constructor(publicKey, wallet, artifact, postDeployCtor, args = [], constructorName = 'constructor') {
15
+ constructor(publicKey, wallet, artifact, postDeployCtor, args = [], constructorName) {
15
16
  super(wallet);
16
17
  this.publicKey = publicKey;
17
18
  this.wallet = wallet;
@@ -21,11 +22,12 @@ export class DeployMethod extends BaseContractInteraction {
21
22
  /** The contract instance to be deployed. */
22
23
  this.instance = undefined;
23
24
  this.log = createDebugLogger('aztec:js:deploy_method');
24
- const constructorArtifact = artifact.functions.find(f => f.name === constructorName);
25
- if (!constructorArtifact) {
26
- throw new Error('Cannot find constructor in the artifact.');
25
+ this.constructorArtifact = constructorName
26
+ ? artifact.functions.find(f => f.name === constructorName)
27
+ : getDefaultInitializer(artifact);
28
+ if (constructorName && !this.constructorArtifact) {
29
+ throw new Error(`Constructor method ${constructorName} not found in contract artifact`);
27
30
  }
28
- this.constructorArtifact = constructorArtifact;
29
31
  }
30
32
  /**
31
33
  * Create a contract deployment transaction, given the deployment options.
@@ -38,6 +40,10 @@ export class DeployMethod extends BaseContractInteraction {
38
40
  */
39
41
  async create(options = {}) {
40
42
  if (!this.txRequest) {
43
+ const calls = await this.request(options);
44
+ if (calls.length === 0) {
45
+ throw new Error(`No function calls needed to deploy contract ${this.artifact.name}`);
46
+ }
41
47
  this.txRequest = await this.wallet.createTxExecutionRequest(await this.request(options));
42
48
  // TODO: Should we add the contracts to the DB here, or once the tx has been sent or mined?
43
49
  await this.pxe.addContracts([{ artifact: this.artifact, instance: this.instance }]);
@@ -53,9 +59,16 @@ export class DeployMethod extends BaseContractInteraction {
53
59
  * it returns a promise for an array instead of a function call directly.
54
60
  */
55
61
  async request(options = {}) {
56
- const { address } = this.getInstance(options);
57
- const constructorCall = new ContractFunctionInteraction(this.wallet, address, this.constructorArtifact, this.args);
58
- return [...(await this.getDeploymentFunctionCalls(options)), constructorCall.request()];
62
+ if (!this.functionCalls) {
63
+ const { address } = this.getInstance(options);
64
+ const calls = await this.getDeploymentFunctionCalls(options);
65
+ if (this.constructorArtifact && !options.skipInitialization) {
66
+ const constructorCall = new ContractFunctionInteraction(this.wallet, address, this.constructorArtifact, this.args);
67
+ calls.push(constructorCall.request());
68
+ }
69
+ this.functionCalls = calls;
70
+ }
71
+ return this.functionCalls;
59
72
  }
60
73
  /**
61
74
  * Returns calls for registration of the class and deployment of the instance, depending on the provided options.
@@ -113,7 +126,7 @@ export class DeployMethod extends BaseContractInteraction {
113
126
  salt: options.contractAddressSalt,
114
127
  portalAddress: options.portalContract,
115
128
  publicKey: this.publicKey,
116
- constructorName: this.constructorArtifact.name,
129
+ constructorArtifact: this.constructorArtifact,
117
130
  });
118
131
  }
119
132
  return this.instance;
@@ -135,4 +148,4 @@ export class DeployMethod extends BaseContractInteraction {
135
148
  return this.instance && computePartialAddress(this.instance);
136
149
  }
137
150
  }
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9kZXBsb3lfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFTCxxQkFBcUIsRUFDckIsNEJBQTRCLEVBQzVCLG1DQUFtQyxHQUNwQyxNQUFNLG9CQUFvQixDQUFDO0FBSTVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLE1BQU0sZ0NBQWdDLENBQUM7QUFHNUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBbUJuRCxvREFBb0Q7QUFFcEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFlBQXdELFNBQVEsdUJBQXVCO0lBU2xHLFlBQ1UsU0FBb0IsRUFDbEIsTUFBYyxFQUNoQixRQUEwQixFQUMxQixjQUE2RSxFQUM3RSxPQUFjLEVBQUUsRUFDeEIsa0JBQTBCLGFBQWE7UUFFdkMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBUE4sY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUErRDtRQUM3RSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBYjFCLDRDQUE0QztRQUNwQyxhQUFRLEdBQWlDLFNBQVMsQ0FBQztRQUtuRCxRQUFHLEdBQUcsaUJBQWlCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQVd4RCxNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxTQUFTLENB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
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9kZXBsb3lfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFTCxxQkFBcUIsRUFDckIsNEJBQTRCLEVBQzVCLG1DQUFtQyxHQUNwQyxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBc0MscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdsRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUkxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixNQUFNLGdDQUFnQyxDQUFDO0FBRzVGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQXFCbkQsb0RBQW9EO0FBRXBEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxZQUF3RCxTQUFRLHVCQUF1QjtJQVlsRyxZQUNVLFNBQW9CLEVBQ2xCLE1BQWMsRUFDaEIsUUFBMEIsRUFDMUIsY0FBNkUsRUFDN0UsT0FBYyxFQUFFLEVBQ3hCLGVBQXdCO1FBRXhCLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQVBOLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBK0Q7UUFDN0UsU0FBSSxHQUFKLElBQUksQ0FBWTtRQWhCMUIsNENBQTRDO1FBQ3BDLGFBQVEsR0FBaUMsU0FBUyxDQUFDO1FBUW5ELFFBQUcsR0FBRyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFD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
@@ -1 +1 @@
1
- {"version":3,"file":"sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAY,MAAM,sBAAsB,CAAC;AAElH,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG;IACrB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;QAGI;IACJ,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAK7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,MAAM;IACL,SAAS,CAAC,GAAG,EAAE,GAAG;IAAE,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;gBAAlD,GAAG,EAAE,GAAG,EAAY,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;IAExE;;;;;OAKG;IACI,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC;;;;;;OAMG;IACU,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAK7C;;;;OAIG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAuBhE;;;;OAIG;IACU,kBAAkB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAKtE;;;;OAIG;IACU,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;cAKvC,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;CA6BpE"}
1
+ {"version":3,"file":"sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAY,MAAM,sBAAsB,CAAC;AAElH,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG;IACrB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;QAGI;IACJ,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAK7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,MAAM;IACL,SAAS,CAAC,GAAG,EAAE,GAAG;IAAE,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;gBAAlD,GAAG,EAAE,GAAG,EAAY,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;IAExE;;;;;OAKG;IACI,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC;;;;;;OAMG;IACU,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAK7C;;;;OAIG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAyBhE;;;;OAIG;IACU,kBAAkB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAKtE;;;;OAIG;IACU,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;cAKvC,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;CA6BpE"}
@@ -46,7 +46,7 @@ export class SentTx {
46
46
  }
47
47
  const receipt = await this.waitForReceipt(opts);
48
48
  if (receipt.status !== TxStatus.MINED) {
49
- throw new Error(`Transaction ${await this.getTxHash()} was ${receipt.status}`);
49
+ throw new Error(`Transaction ${await this.getTxHash()} was ${receipt.status}. Reason: ${receipt.error ?? 'unknown'}`);
50
50
  }
51
51
  if (opts?.debug) {
52
52
  const txHash = await this.getTxHash();
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudF90eC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9zZW50X3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0UsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBa0JyRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWE7SUFDdkMsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsQ0FBQztJQUNYLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsS0FBSyxFQUFFLEtBQUs7Q0FDYixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLE1BQU07SUFDakIsWUFBc0IsR0FBUSxFQUFZLGFBQThCO1FBQWxELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFBWSxrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7SUFBRyxDQUFDO0lBRTVFOzs7OztPQUtHO0lBQ0ksU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEMsT0FBTyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFlO1FBQy9CLElBQUksSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1FBQzlFLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7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
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudF90eC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9zZW50X3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0UsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBa0JyRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWE7SUFDdkMsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsQ0FBQztJQUNYLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsS0FBSyxFQUFFLEtBQUs7Q0FDYixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLE1BQU07SUFDakIsWUFBc0IsR0FBUSxFQUFZLGFBQThCO1FBQWxELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFBWSxrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7SUFBRyxDQUFDO0lBRTVFOzs7OztPQUtHO0lBQ0ksU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEMsT0FBTyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFlO1FBQy9CLElBQUksSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1FBQzlFLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7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
@@ -1,7 +1,7 @@
1
1
  import { FunctionCall } from '@aztec/circuit-types';
2
2
  import { AztecAddress } from '@aztec/foundation/aztec-address';
3
3
  import { Fr } from '@aztec/foundation/fields';
4
- import { AccountWalletWithPrivateKey } from '../wallet/account_wallet_with_private_key.js';
4
+ import { Wallet } from '../account/wallet.js';
5
5
  import { FeePaymentMethod } from './fee_payment_method.js';
6
6
  /**
7
7
  * Holds information about how the fee for a transaction is to be paid.
@@ -19,6 +19,11 @@ export declare class PrivateFeePaymentMethod implements FeePaymentMethod {
19
19
  * An auth witness provider to authorize fee payments
20
20
  */
21
21
  private wallet;
22
+ /**
23
+ * A secret to shield the rebate amount from the FPC.
24
+ * Use this to claim the shielded amount to private balance
25
+ */
26
+ private rebateSecret;
22
27
  constructor(
23
28
  /**
24
29
  * The asset used to pay the fee.
@@ -31,7 +36,12 @@ export declare class PrivateFeePaymentMethod implements FeePaymentMethod {
31
36
  /**
32
37
  * An auth witness provider to authorize fee payments
33
38
  */
34
- wallet: AccountWalletWithPrivateKey);
39
+ wallet: Wallet,
40
+ /**
41
+ * A secret to shield the rebate amount from the FPC.
42
+ * Use this to claim the shielded amount to private balance
43
+ */
44
+ rebateSecret?: Fr);
35
45
  /**
36
46
  * The asset used to pay the fee.
37
47
  * @returns The asset used to pay the fee.
@@ -1 +1 @@
1
- {"version":3,"file":"private_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/private_fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAE5D;;OAEG;IACH,OAAO,CAAC,KAAK;IACb;;OAEG;IACH,OAAO,CAAC,eAAe;IAEvB;;OAEG;IACH,OAAO,CAAC,MAAM;;IAZd;;OAEG;IACK,KAAK,EAAE,YAAY;IAC3B;;OAEG;IACK,eAAe,EAAE,YAAY;IAErC;;OAEG;IACK,MAAM,EAAE,2BAA2B;IAG7C;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,kBAAkB;IAIlB;;;;OAIG;IACG,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CA2B5D"}
1
+ {"version":3,"file":"private_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/private_fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAE5D;;OAEG;IACH,OAAO,CAAC,KAAK;IACb;;OAEG;IACH,OAAO,CAAC,eAAe;IAEvB;;OAEG;IACH,OAAO,CAAC,MAAM;IAEd;;;OAGG;IACH,OAAO,CAAC,YAAY;;IAlBpB;;OAEG;IACK,KAAK,EAAE,YAAY;IAC3B;;OAEG;IACK,eAAe,EAAE,YAAY;IAErC;;OAEG;IACK,MAAM,EAAE,MAAM;IAEtB;;;OAGG;IACK,YAAY,KAAc;IAGpC;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,kBAAkB;IAIlB;;;;OAIG;IACG,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CA6B5D"}
@@ -1,4 +1,5 @@
1
1
  import { FunctionData } from '@aztec/circuits.js';
2
+ import { computeMessageSecretHash } from '@aztec/circuits.js/hash';
2
3
  import { FunctionSelector } from '@aztec/foundation/abi';
3
4
  import { Fr } from '@aztec/foundation/fields';
4
5
  import { computeAuthWitMessageHash } from '../utils/authwit.js';
@@ -18,10 +19,16 @@ export class PrivateFeePaymentMethod {
18
19
  /**
19
20
  * An auth witness provider to authorize fee payments
20
21
  */
21
- wallet) {
22
+ wallet,
23
+ /**
24
+ * A secret to shield the rebate amount from the FPC.
25
+ * Use this to claim the shielded amount to private balance
26
+ */
27
+ rebateSecret = Fr.random()) {
22
28
  this.asset = asset;
23
29
  this.paymentContract = paymentContract;
24
30
  this.wallet = wallet;
31
+ this.rebateSecret = rebateSecret;
25
32
  }
26
33
  /**
27
34
  * The asset used to pay the fee.
@@ -45,18 +52,19 @@ export class PrivateFeePaymentMethod {
45
52
  async getFunctionCalls(maxFee) {
46
53
  const nonce = Fr.random();
47
54
  const messageHash = computeAuthWitMessageHash(this.paymentContract, {
48
- args: [this.wallet.getAddress(), this.paymentContract, maxFee, nonce],
55
+ args: [this.wallet.getCompleteAddress().address, this.paymentContract, maxFee, nonce],
49
56
  functionData: new FunctionData(FunctionSelector.fromSignature('unshield((Field),(Field),Field,Field)'), false, true, false),
50
57
  to: this.asset,
51
58
  });
52
59
  await this.wallet.createAuthWitness(messageHash);
60
+ const secretHashForRebate = computeMessageSecretHash(this.rebateSecret);
53
61
  return [
54
62
  {
55
63
  to: this.getPaymentContract(),
56
- functionData: new FunctionData(FunctionSelector.fromSignature('fee_entrypoint_private(Field,(Field),Field)'), false, true, false),
57
- args: [maxFee, this.asset, nonce],
64
+ functionData: new FunctionData(FunctionSelector.fromSignature('fee_entrypoint_private(Field,(Field),Field,Field)'), false, true, false),
65
+ args: [maxFee, this.asset, secretHashForRebate, nonce],
58
66
  },
59
67
  ];
60
68
  }
61
69
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9mZWVfcGF5bWVudF9tZXRob2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmVlL3ByaXZhdGVfZmVlX3BheW1lbnRfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJaEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDO0lBQ0U7O09BRUc7SUFDSyxLQUFtQjtJQUMzQjs7T0FFRztJQUNLLGVBQTZCO0lBRXJDOztPQUVHO0lBQ0ssTUFBbUM7UUFUbkMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUluQixvQkFBZSxHQUFmLGVBQWUsQ0FBYztRQUs3QixXQUFNLEdBQU4sTUFBTSxDQUE2QjtJQUMxQyxDQUFDO0lBRUo7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFVO1FBQy9CLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixNQUFNLFdBQVcsR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ2xFLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQ3JFLFlBQVksRUFBRSxJQUFJLFlBQVksQ0FDNUIsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLHVDQUF1QyxDQUFDLEVBQ3ZFLEtBQUssRUFDTCxJQUFJLEVBQ0osS0FBSyxDQUNOO1lBQ0QsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWpELE9BQU87WUFDTDtnQkFDRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFO2dCQUM3QixZQUFZLEVBQUUsSUFBSSxZQUFZLENBQzVCLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyw2Q0FBNkMsQ0FBQyxFQUM3RSxLQUFLLEVBQ0wsSUFBSSxFQUNKLEtBQUssQ0FDTjtnQkFDRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7YUFDbEM7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9mZWVfcGF5bWVudF9tZXRob2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmVlL3ByaXZhdGVfZmVlX3BheW1lbnRfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHaEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDO0lBQ0U7O09BRUc7SUFDSyxLQUFtQjtJQUMzQjs7T0FFRztJQUNLLGVBQTZCO0lBRXJDOztPQUVHO0lBQ0ssTUFBYztJQUV0Qjs7O09BR0c7SUFDSyxlQUFlLEVBQUUsQ0FBQyxNQUFNLEVBQUU7UUFmMUIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUluQixvQkFBZSxHQUFmLGVBQWUsQ0FBYztRQUs3QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTWQsaUJBQVksR0FBWixZQUFZLENBQWM7SUFDakMsQ0FBQztJQUVKOzs7T0FHRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBVTtRQUMvQixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUIsTUFBTSxXQUFXLEdBQUcseUJBQXlCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNsRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztZQUNyRixZQUFZLEVBQUUsSUFBSSxZQUFZLENBQzVCLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyx1Q0FBdUMsQ0FBQyxFQUN2RSxLQUFLLEVBQ0wsSUFBSSxFQUNKLEtBQUssQ0FDTjtZQUNELEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSztTQUNmLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVqRCxNQUFNLG1CQUFtQixHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV4RSxPQUFPO1lBQ0w7Z0JBQ0UsRUFBRSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtnQkFDN0IsWUFBWSxFQUFFLElBQUksWUFBWSxDQUM1QixnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsbURBQW1ELENBQUMsRUFDbkYsS0FBSyxFQUNMLElBQUksRUFDSixLQUFLLENBQ047Z0JBQ0QsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxDQUFDO2FBQ3ZEO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
@@ -10,15 +10,15 @@ export declare class PublicFeePaymentMethod implements FeePaymentMethod {
10
10
  /**
11
11
  * The asset used to pay the fee.
12
12
  */
13
- private asset;
13
+ protected asset: AztecAddress;
14
14
  /**
15
15
  * Address which will hold the fee payment.
16
16
  */
17
- private paymentContract;
17
+ protected paymentContract: AztecAddress;
18
18
  /**
19
19
  * An auth witness provider to authorize fee payments
20
20
  */
21
- private wallet;
21
+ protected wallet: AccountWallet;
22
22
  constructor(
23
23
  /**
24
24
  * The asset used to pay the fee.
@@ -1 +1 @@
1
- {"version":3,"file":"public_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/public_fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,qBAAa,sBAAuB,YAAW,gBAAgB;IAE3D;;OAEG;IACH,OAAO,CAAC,KAAK;IACb;;OAEG;IACH,OAAO,CAAC,eAAe;IAEvB;;OAEG;IACH,OAAO,CAAC,MAAM;;IAZd;;OAEG;IACK,KAAK,EAAE,YAAY;IAC3B;;OAEG;IACK,eAAe,EAAE,YAAY;IAErC;;OAEG;IACK,MAAM,EAAE,aAAa;IAG/B;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,kBAAkB;IAIlB;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CA2BtD"}
1
+ {"version":3,"file":"public_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/public_fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,qBAAa,sBAAuB,YAAW,gBAAgB;IAE3D;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,YAAY;IAC7B;;OAEG;IACH,SAAS,CAAC,eAAe,EAAE,YAAY;IAEvC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa;;IAZ/B;;OAEG;IACO,KAAK,EAAE,YAAY;IAC7B;;OAEG;IACO,eAAe,EAAE,YAAY;IAEvC;;OAEG;IACO,MAAM,EAAE,aAAa;IAGjC;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,kBAAkB;IAIlB;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CA2BtD"}
@@ -59,4 +59,4 @@ export class PublicFeePaymentMethod {
59
59
  ]);
60
60
  }
61
61
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2ZlZV9wYXltZW50X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mZWUvcHVibGljX2ZlZV9wYXltZW50X21ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSWhFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQztJQUNFOztPQUVHO0lBQ0ssS0FBbUI7SUFDM0I7O09BRUc7SUFDSyxlQUE2QjtJQUVyQzs7T0FFRztJQUNLLE1BQXFCO1FBVHJCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFJbkIsb0JBQWUsR0FBZixlQUFlLENBQWM7UUFLN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtJQUM1QixDQUFDO0lBRUo7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLE1BQVU7UUFDekIsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLE1BQU0sV0FBVyxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDbEUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7WUFDckUsWUFBWSxFQUFFLElBQUksWUFBWSxDQUM1QixnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsOENBQThDLENBQUMsRUFDOUUsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLENBQ047WUFDRCxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDZixDQUFDLENBQUM7UUFFSCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUN0RDtnQkFDRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFO2dCQUM3QixZQUFZLEVBQUUsSUFBSSxZQUFZLENBQzVCLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyw0Q0FBNEMsQ0FBQyxFQUM1RSxLQUFLLEVBQ0wsSUFBSSxFQUNKLEtBQUssQ0FDTjtnQkFDRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7YUFDbEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2ZlZV9wYXltZW50X21ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mZWUvcHVibGljX2ZlZV9wYXltZW50X21ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSWhFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQztJQUNFOztPQUVHO0lBQ08sS0FBbUI7SUFDN0I7O09BRUc7SUFDTyxlQUE2QjtJQUV2Qzs7T0FFRztJQUNPLE1BQXFCO1FBVHJCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFJbkIsb0JBQWUsR0FBZixlQUFlLENBQWM7UUFLN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtJQUM5QixDQUFDO0lBRUo7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLE1BQVU7UUFDekIsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLE1BQU0sV0FBVyxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDbEUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7WUFDckUsWUFBWSxFQUFFLElBQUksWUFBWSxDQUM1QixnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsOENBQThDLENBQUMsRUFDOUUsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLENBQ047WUFDRCxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDZixDQUFDLENBQUM7UUFFSCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUN0RDtnQkFDRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFO2dCQUM3QixZQUFZLEVBQUUsSUFBSSxZQUFZLENBQzVCLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyw0Q0FBNEMsQ0FBQyxFQUM1RSxLQUFLLEVBQ0wsSUFBSSxFQUNKLEtBQUssQ0FDTjtnQkFDRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7YUFDbEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"account_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/account_wallet.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAGxC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAU;IACrB,SAAS,CAAC,OAAO,EAAE,gBAAgB;gBAA7C,GAAG,EAAE,GAAG,EAAY,OAAO,EAAE,gBAAgB;IAIzD,wBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIxF,iBAAiB,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOnE;;;;;;OAMG;IACI,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,2BAA2B;IAQ5F;;;;OAIG;IACI,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,GAAG,2BAA2B;IAKvE,+EAA+E;IACxE,kBAAkB;IAIzB,sEAAsE;IAC/D,UAAU;IAIjB,OAAO,CAAC,0BAA0B;IAgBlC,OAAO,CAAC,mBAAmB;CAe5B"}
1
+ {"version":3,"file":"account_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/account_wallet.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAGxC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAU;IACrB,SAAS,CAAC,OAAO,EAAE,gBAAgB;gBAA7C,GAAG,EAAE,GAAG,EAAY,OAAO,EAAE,gBAAgB;IAIzD,wBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIxF,iBAAiB,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOnE;;;;;;OAMG;IACI,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,2BAA2B;IAQ5F;;;;OAIG;IACI,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,GAAG,2BAA2B;IAKvE,+EAA+E;IACxE,kBAAkB;IAIzB,sEAAsE;IAC/D,UAAU;IAIjB,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,mBAAmB;CAgB5B"}
@@ -54,6 +54,7 @@ export class AccountWallet extends BaseWallet {
54
54
  getApprovePublicAuthwitAbi() {
55
55
  return {
56
56
  name: 'approve_public_authwit',
57
+ isInitializer: false,
57
58
  functionType: FunctionType.OPEN,
58
59
  isInternal: true,
59
60
  parameters: [
@@ -69,6 +70,7 @@ export class AccountWallet extends BaseWallet {
69
70
  getCancelAuthwitAbi() {
70
71
  return {
71
72
  name: 'cancel_authwit',
73
+ isInitializer: false,
72
74
  functionType: FunctionType.SECRET,
73
75
  isInternal: true,
74
76
  parameters: [
@@ -82,4 +84,4 @@ export class AccountWallet extends BaseWallet {
82
84
  };
83
85
  }
84
86
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2FjY291bnRfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4QyxPQUFPLEVBQXVDLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzFGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFjLFNBQVEsVUFBVTtJQUMzQyxZQUFZLEdBQVEsRUFBWSxPQUF5QjtRQUN2RCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFEbUIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7SUFFekQsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQXFCLEVBQUUsR0FBZ0I7UUFDOUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BQW9CO1FBQzFDLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDdEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlELE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGFBQWEsQ0FBQyxPQUFvQixFQUFFLFVBQW1CO1FBQzVELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixPQUFPLElBQUksMkJBQTJCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDaEgsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksYUFBYSxDQUFDLE9BQW9CO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsT0FBTyxJQUFJLDJCQUEyQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVELCtFQUErRTtJQUN4RSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELHNFQUFzRTtJQUMvRCxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDM0MsQ0FBQztJQUVPLDBCQUEwQjtRQUNoQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLHdCQUF3QjtZQUM5QixZQUFZLEVBQUUsWUFBWSxDQUFDLElBQUk7WUFDL0IsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFO2dCQUNWO29CQUNFLElBQUksRUFBRSxjQUFjO29CQUNwQixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO29CQUN2QixVQUFVLEVBQUUsU0FBbUM7aUJBQ2hEO2FBQ0Y7WUFDRCxXQUFXLEVBQUUsRUFBRTtTQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixPQUFPO1lBQ0wsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixZQUFZLEVBQUUsWUFBWSxDQUFDLE1BQU07WUFDakMsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFO2dCQUNWO29CQUNFLElBQUksRUFBRSxjQUFjO29CQUNwQixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO29CQUN2QixVQUFVLEVBQUUsU0FBbUM7aUJBQ2hEO2FBQ0Y7WUFDRCxXQUFXLEVBQUUsRUFBRTtTQUNoQixDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2FjY291bnRfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4QyxPQUFPLEVBQXVDLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzFGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFjLFNBQVEsVUFBVTtJQUMzQyxZQUFZLEdBQVEsRUFBWSxPQUF5QjtRQUN2RCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFEbUIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7SUFFekQsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQXFCLEVBQUUsR0FBZ0I7UUFDOUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BQW9CO1FBQzFDLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDdEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlELE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGFBQWEsQ0FBQyxPQUFvQixFQUFFLFVBQW1CO1FBQzVELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixPQUFPLElBQUksMkJBQTJCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDaEgsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksYUFBYSxDQUFDLE9BQW9CO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsT0FBTyxJQUFJLDJCQUEyQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVELCtFQUErRTtJQUN4RSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELHNFQUFzRTtJQUMvRCxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDM0MsQ0FBQztJQUVPLDBCQUEwQjtRQUNoQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLHdCQUF3QjtZQUM5QixhQUFhLEVBQUUsS0FBSztZQUNwQixZQUFZLEVBQUUsWUFBWSxDQUFDLElBQUk7WUFDL0IsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFO2dCQUNWO29CQUNFLElBQUksRUFBRSxjQUFjO29CQUNwQixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO29CQUN2QixVQUFVLEVBQUUsU0FBbUM7aUJBQ2hEO2FBQ0Y7WUFDRCxXQUFXLEVBQUUsRUFBRTtTQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixPQUFPO1lBQ0wsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixhQUFhLEVBQUUsS0FBSztZQUNwQixZQUFZLEVBQUUsWUFBWSxDQUFDLE1BQU07WUFDakMsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFO2dCQUNWO29CQUNFLElBQUksRUFBRSxjQUFjO29CQUNwQixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO29CQUN2QixVQUFVLEVBQUUsU0FBbUM7aUJBQ2hEO2FBQ0Y7WUFDRCxXQUFXLEVBQUUsRUFBRTtTQUNoQixDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aztec/aztec.js",
3
3
  "homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/aztec.js",
4
- "version": "0.27.2",
4
+ "version": "0.28.0",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": "./dest/index.js",
@@ -49,12 +49,12 @@
49
49
  "rootDir": "./src"
50
50
  },
51
51
  "dependencies": {
52
- "@aztec/circuit-types": "0.27.2",
53
- "@aztec/circuits.js": "0.27.2",
54
- "@aztec/ethereum": "0.27.2",
55
- "@aztec/foundation": "0.27.2",
56
- "@aztec/protocol-contracts": "0.27.2",
57
- "@aztec/types": "0.27.2",
52
+ "@aztec/circuit-types": "0.28.0",
53
+ "@aztec/circuits.js": "0.28.0",
54
+ "@aztec/ethereum": "0.28.0",
55
+ "@aztec/foundation": "0.28.0",
56
+ "@aztec/protocol-contracts": "0.28.0",
57
+ "@aztec/types": "0.28.0",
58
58
  "tslib": "^2.4.0"
59
59
  },
60
60
  "devDependencies": {
@@ -16,9 +16,9 @@ export interface AccountContract {
16
16
  getContractArtifact(): ContractArtifact;
17
17
 
18
18
  /**
19
- * Returns the deployment arguments for this instance.
19
+ * Returns the deployment arguments for this instance, or undefined if this contract does not require deployment.
20
20
  */
21
- getDeploymentArgs(): any[];
21
+ getDeploymentArgs(): any[] | undefined;
22
22
 
23
23
  /**
24
24
  * Returns the account interface for this account contract given a deployment at the provided address.
@@ -26,7 +26,6 @@ export class AccountManager {
26
26
  private completeAddress?: CompleteAddress;
27
27
  private instance?: ContractInstanceWithAddress;
28
28
  private encryptionPublicKey?: PublicKey;
29
- // TODO(@spalladino): Update to the new deploy method and kill the legacy one.
30
29
  private deployMethod?: DeployMethod;
31
30
 
32
31
  constructor(
@@ -124,8 +123,10 @@ export class AccountManager {
124
123
  */
125
124
  public async getDeployMethod() {
126
125
  if (!this.deployMethod) {
127
- if (!this.salt) {
128
- throw new Error(`Cannot deploy account contract without known salt.`);
126
+ if (!this.isDeployable()) {
127
+ throw new Error(
128
+ `Account contract ${this.accountContract.getContractArtifact().name} does not require deployment.`,
129
+ );
129
130
  }
130
131
  await this.#register();
131
132
  const encryptionPublicKey = this.getEncryptionPublicKey();
@@ -138,7 +139,7 @@ export class AccountManager {
138
139
  deployWallet,
139
140
  encryptionPublicKey,
140
141
  );
141
- const args = this.accountContract.getDeploymentArgs();
142
+ const args = this.accountContract.getDeploymentArgs() ?? [];
142
143
  this.deployMethod = deployer.deploy(...args);
143
144
  }
144
145
  return this.deployMethod;
@@ -146,10 +147,8 @@ export class AccountManager {
146
147
 
147
148
  /**
148
149
  * Deploys the account contract that backs this account.
149
- * Does not register the associated class nor publicly deploy the instance.
150
+ * Does not register the associated class nor publicly deploy the instance by default.
150
151
  * Uses the salt provided in the constructor or a randomly generated one.
151
- * Note that if the Account is constructed with an explicit complete address
152
- * it is assumed that the account contract has already been deployed and this method will throw.
153
152
  * Registers the account in the PXE Service before deploying the contract.
154
153
  * @returns A SentTx object that can be waited to get the associated Wallet.
155
154
  */
@@ -165,19 +164,24 @@ export class AccountManager {
165
164
  }
166
165
 
167
166
  /**
168
- * Deploys the account contract that backs this account and awaits the tx to be mined.
169
- * Uses the salt provided in the constructor or a randomly generated one.
170
- * Note that if the Account is constructed with an explicit complete address
171
- * it is assumed that the account contract has already been deployed and this method will throw.
172
- * Registers the account in the PXE Service before deploying the contract.
167
+ * Deploys the account contract that backs this account if needed and awaits the tx to be mined.
168
+ * Uses the salt provided in the constructor or a randomly generated one. If no initialization
169
+ * is required it skips the transaction, and only registers the account in the PXE Service.
173
170
  * @param opts - Options to wait for the tx to be mined.
174
171
  * @returns A Wallet instance.
175
172
  */
176
- public async waitDeploy(opts: WaitOpts = DefaultWaitOpts): Promise<AccountWalletWithPrivateKey> {
177
- await this.deploy().then(tx => tx.wait(opts));
173
+ public async waitSetup(opts: WaitOpts = DefaultWaitOpts): Promise<AccountWalletWithPrivateKey> {
174
+ await (this.isDeployable() ? this.deploy().then(tx => tx.wait(opts)) : this.register());
178
175
  return this.getWallet();
179
176
  }
180
177
 
178
+ /**
179
+ * Returns whether this account contract has a constructor and needs deployment.
180
+ */
181
+ public isDeployable() {
182
+ return this.accountContract.getDeploymentArgs() !== undefined;
183
+ }
184
+
181
185
  async #register(): Promise<void> {
182
186
  const completeAddress = this.getCompleteAddress();
183
187
  await this.pxe.registerAccount(this.encryptionPrivateKey, completeAddress.partialAddress);
@@ -5,7 +5,7 @@ import {
5
5
  getContractClassFromArtifact,
6
6
  getContractInstanceFromDeployParams,
7
7
  } from '@aztec/circuits.js';
8
- import { ContractArtifact, FunctionArtifact } from '@aztec/foundation/abi';
8
+ import { ContractArtifact, FunctionArtifact, getDefaultInitializer } from '@aztec/foundation/abi';
9
9
  import { EthAddress } from '@aztec/foundation/eth-address';
10
10
  import { Fr } from '@aztec/foundation/fields';
11
11
  import { createDebugLogger } from '@aztec/foundation/log';
@@ -33,8 +33,10 @@ export type DeployOptions = {
33
33
  universalDeploy?: boolean;
34
34
  /** Skip contract class registration. */
35
35
  skipClassRegistration?: boolean;
36
- /** Skip public deployment and only initialize the contract. */
36
+ /** Skip public deployment, instead just privately initialize the contract. */
37
37
  skipPublicDeployment?: boolean;
38
+ /** Skip contract initialization. */
39
+ skipInitialization?: boolean;
38
40
  } & SendMethodOptions;
39
41
 
40
42
  // TODO(@spalladino): Add unit tests for this class!
@@ -48,7 +50,10 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
48
50
  private instance?: ContractInstanceWithAddress = undefined;
49
51
 
50
52
  /** Constructor function to call. */
51
- private constructorArtifact: FunctionArtifact;
53
+ private constructorArtifact: FunctionArtifact | undefined;
54
+
55
+ /** Cached call to request() */
56
+ private functionCalls: FunctionCall[] | undefined;
52
57
 
53
58
  private log = createDebugLogger('aztec:js:deploy_method');
54
59
 
@@ -58,14 +63,16 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
58
63
  private artifact: ContractArtifact,
59
64
  private postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>,
60
65
  private args: any[] = [],
61
- constructorName: string = 'constructor',
66
+ constructorName?: string,
62
67
  ) {
63
68
  super(wallet);
64
- const constructorArtifact = artifact.functions.find(f => f.name === constructorName);
65
- if (!constructorArtifact) {
66
- throw new Error('Cannot find constructor in the artifact.');
69
+ this.constructorArtifact = constructorName
70
+ ? artifact.functions.find(f => f.name === constructorName)
71
+ : getDefaultInitializer(artifact);
72
+
73
+ if (constructorName && !this.constructorArtifact) {
74
+ throw new Error(`Constructor method ${constructorName} not found in contract artifact`);
67
75
  }
68
- this.constructorArtifact = constructorArtifact;
69
76
  }
70
77
 
71
78
  /**
@@ -79,6 +86,10 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
79
86
  */
80
87
  public async create(options: DeployOptions = {}): Promise<TxExecutionRequest> {
81
88
  if (!this.txRequest) {
89
+ const calls = await this.request(options);
90
+ if (calls.length === 0) {
91
+ throw new Error(`No function calls needed to deploy contract ${this.artifact.name}`);
92
+ }
82
93
  this.txRequest = await this.wallet.createTxExecutionRequest(await this.request(options));
83
94
  // TODO: Should we add the contracts to the DB here, or once the tx has been sent or mined?
84
95
  await this.pxe.addContracts([{ artifact: this.artifact, instance: this.instance! }]);
@@ -95,9 +106,21 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
95
106
  * it returns a promise for an array instead of a function call directly.
96
107
  */
97
108
  public async request(options: DeployOptions = {}): Promise<FunctionCall[]> {
98
- const { address } = this.getInstance(options);
99
- const constructorCall = new ContractFunctionInteraction(this.wallet, address, this.constructorArtifact, this.args);
100
- return [...(await this.getDeploymentFunctionCalls(options)), constructorCall.request()];
109
+ if (!this.functionCalls) {
110
+ const { address } = this.getInstance(options);
111
+ const calls = await this.getDeploymentFunctionCalls(options);
112
+ if (this.constructorArtifact && !options.skipInitialization) {
113
+ const constructorCall = new ContractFunctionInteraction(
114
+ this.wallet,
115
+ address,
116
+ this.constructorArtifact,
117
+ this.args,
118
+ );
119
+ calls.push(constructorCall.request());
120
+ }
121
+ this.functionCalls = calls;
122
+ }
123
+ return this.functionCalls;
101
124
  }
102
125
 
103
126
  /**
@@ -168,7 +191,7 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
168
191
  salt: options.contractAddressSalt,
169
192
  portalAddress: options.portalContract,
170
193
  publicKey: this.publicKey,
171
- constructorName: this.constructorArtifact.name,
194
+ constructorArtifact: this.constructorArtifact,
172
195
  });
173
196
  }
174
197
  return this.instance;
@@ -64,7 +64,9 @@ export class SentTx {
64
64
  }
65
65
  const receipt = await this.waitForReceipt(opts);
66
66
  if (receipt.status !== TxStatus.MINED) {
67
- throw new Error(`Transaction ${await this.getTxHash()} was ${receipt.status}`);
67
+ throw new Error(
68
+ `Transaction ${await this.getTxHash()} was ${receipt.status}. Reason: ${receipt.error ?? 'unknown'}`,
69
+ );
68
70
  }
69
71
  if (opts?.debug) {
70
72
  const txHash = await this.getTxHash();
@@ -1,11 +1,12 @@
1
1
  import { FunctionCall } from '@aztec/circuit-types';
2
2
  import { FunctionData } from '@aztec/circuits.js';
3
+ import { computeMessageSecretHash } from '@aztec/circuits.js/hash';
3
4
  import { FunctionSelector } from '@aztec/foundation/abi';
4
5
  import { AztecAddress } from '@aztec/foundation/aztec-address';
5
6
  import { Fr } from '@aztec/foundation/fields';
6
7
 
8
+ import { Wallet } from '../account/wallet.js';
7
9
  import { computeAuthWitMessageHash } from '../utils/authwit.js';
8
- import { AccountWalletWithPrivateKey } from '../wallet/account_wallet_with_private_key.js';
9
10
  import { FeePaymentMethod } from './fee_payment_method.js';
10
11
 
11
12
  /**
@@ -25,7 +26,13 @@ export class PrivateFeePaymentMethod implements FeePaymentMethod {
25
26
  /**
26
27
  * An auth witness provider to authorize fee payments
27
28
  */
28
- private wallet: AccountWalletWithPrivateKey,
29
+ private wallet: Wallet,
30
+
31
+ /**
32
+ * A secret to shield the rebate amount from the FPC.
33
+ * Use this to claim the shielded amount to private balance
34
+ */
35
+ private rebateSecret = Fr.random(),
29
36
  ) {}
30
37
 
31
38
  /**
@@ -52,7 +59,7 @@ export class PrivateFeePaymentMethod implements FeePaymentMethod {
52
59
  async getFunctionCalls(maxFee: Fr): Promise<FunctionCall[]> {
53
60
  const nonce = Fr.random();
54
61
  const messageHash = computeAuthWitMessageHash(this.paymentContract, {
55
- args: [this.wallet.getAddress(), this.paymentContract, maxFee, nonce],
62
+ args: [this.wallet.getCompleteAddress().address, this.paymentContract, maxFee, nonce],
56
63
  functionData: new FunctionData(
57
64
  FunctionSelector.fromSignature('unshield((Field),(Field),Field,Field)'),
58
65
  false,
@@ -63,16 +70,18 @@ export class PrivateFeePaymentMethod implements FeePaymentMethod {
63
70
  });
64
71
  await this.wallet.createAuthWitness(messageHash);
65
72
 
73
+ const secretHashForRebate = computeMessageSecretHash(this.rebateSecret);
74
+
66
75
  return [
67
76
  {
68
77
  to: this.getPaymentContract(),
69
78
  functionData: new FunctionData(
70
- FunctionSelector.fromSignature('fee_entrypoint_private(Field,(Field),Field)'),
79
+ FunctionSelector.fromSignature('fee_entrypoint_private(Field,(Field),Field,Field)'),
71
80
  false,
72
81
  true,
73
82
  false,
74
83
  ),
75
- args: [maxFee, this.asset, nonce],
84
+ args: [maxFee, this.asset, secretHashForRebate, nonce],
76
85
  },
77
86
  ];
78
87
  }
@@ -16,16 +16,16 @@ export class PublicFeePaymentMethod implements FeePaymentMethod {
16
16
  /**
17
17
  * The asset used to pay the fee.
18
18
  */
19
- private asset: AztecAddress,
19
+ protected asset: AztecAddress,
20
20
  /**
21
21
  * Address which will hold the fee payment.
22
22
  */
23
- private paymentContract: AztecAddress,
23
+ protected paymentContract: AztecAddress,
24
24
 
25
25
  /**
26
26
  * An auth witness provider to authorize fee payments
27
27
  */
28
- private wallet: AccountWallet,
28
+ protected wallet: AccountWallet,
29
29
  ) {}
30
30
 
31
31
  /**
@@ -63,6 +63,7 @@ export class AccountWallet extends BaseWallet {
63
63
  private getApprovePublicAuthwitAbi(): FunctionAbi {
64
64
  return {
65
65
  name: 'approve_public_authwit',
66
+ isInitializer: false,
66
67
  functionType: FunctionType.OPEN,
67
68
  isInternal: true,
68
69
  parameters: [
@@ -79,6 +80,7 @@ export class AccountWallet extends BaseWallet {
79
80
  private getCancelAuthwitAbi(): FunctionAbi {
80
81
  return {
81
82
  name: 'cancel_authwit',
83
+ isInitializer: false,
82
84
  functionType: FunctionType.SECRET,
83
85
  isInternal: true,
84
86
  parameters: [