@aztec/bot 5.0.0-nightly.20260504 → 5.0.0-nightly.20260512

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.
package/dest/factory.d.ts CHANGED
@@ -66,4 +66,4 @@ export declare class BotFactory {
66
66
  private getMinFees;
67
67
  private withNoMinTxsPerBlock;
68
68
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBcUJ6RCxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXRFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR2xFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUEyQixNQUFNLGFBQWEsQ0FBQztBQUV0RSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVFqRCxxQkFBYSxVQUFVO0lBSW5CLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTTtJQUN2QixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFDdkIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLO0lBQ3RCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztJQVBsQyxPQUFPLENBQUMsR0FBRyxDQUF1QjtJQUVsQyxZQUNtQixNQUFNLEVBQUUsU0FBUyxFQUNqQixNQUFNLEVBQUUsY0FBYyxFQUN0QixLQUFLLEVBQUUsUUFBUSxFQUNmLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGNBQWMsQ0FBQyw0QkFBZ0IsRUFLakQ7SUFFRDs7O09BR0c7SUFDVSxLQUFLLElBQUksT0FBTyxDQUFDO1FBQzVCLE1BQU0sRUFBRSxjQUFjLENBQUM7UUFDdkIscUJBQXFCLEVBQUUsWUFBWSxDQUFDO1FBQ3BDLEtBQUssRUFBRSxhQUFhLEdBQUcsb0JBQW9CLENBQUM7UUFDNUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztRQUNoQixTQUFTLEVBQUUsWUFBWSxDQUFDO0tBQ3pCLENBQUMsQ0FPRDtJQUVZLFFBQVEsSUFBSSxPQUFPLENBQUM7UUFDL0IsTUFBTSxFQUFFLGNBQWMsQ0FBQztRQUN2QixxQkFBcUIsRUFBRSxZQUFZLENBQUM7UUFDcEMsR0FBRyxFQUFFLFdBQVcsQ0FBQztRQUNqQixNQUFNLEVBQUUsYUFBYSxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxhQUFhLENBQUM7UUFDdEIsSUFBSSxFQUFFLFNBQVMsQ0FBQztLQUNqQixDQUFDLENBNEJEO0lBRUQ7OztPQUdHO0lBQ1UsZUFBZSxJQUFJLE9BQU8sQ0FBQztRQUN0QyxNQUFNLEVBQUUsY0FBYyxDQUFDO1FBQ3ZCLHFCQUFxQixFQUFFLFlBQVksQ0FBQztRQUNwQyxRQUFRLEVBQUUsWUFBWSxDQUFDO1FBQ3ZCLElBQUksRUFBRSxTQUFTLENBQUM7UUFDaEIsUUFBUSxFQUFFLHdCQUF3QixDQUFDO1FBQ25DLGFBQWEsRUFBRSxNQUFNLENBQUM7S0FDdkIsQ0FBQyxDQTJERDtZQUVhLGlCQUFpQjtZQWVqQixZQUFZO1lBV1osMEJBQTBCO1lBdUMxQixnQkFBZ0I7WUFlaEIsaUNBQWlDO1lBY2pDLHlDQUF5QztZQW1CekMsZ0JBQWdCO1lBaUNoQixVQUFVO1lBd0NWLGtCQUFrQjtZQWFsQixnQkFBZ0I7WUF3QmhCLE9BQU87WUErRlAsd0JBQXdCO1lBNkR4QixxQkFBcUI7WUF1RHJCLFVBQVU7WUFpRFYsc0JBQXNCO1lBMkJ0QixnQkFBZ0I7WUFnQ2hCLFVBQVU7WUFZVixvQkFBb0I7Q0FlbkMifQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBcUJ6RCxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXRFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR2xFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUEyQixNQUFNLGFBQWEsQ0FBQztBQUV0RSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVFqRCxxQkFBYSxVQUFVO0lBSW5CLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTTtJQUN2QixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFDdkIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLO0lBQ3RCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztJQVBsQyxPQUFPLENBQUMsR0FBRyxDQUF1QjtJQUVsQyxZQUNtQixNQUFNLEVBQUUsU0FBUyxFQUNqQixNQUFNLEVBQUUsY0FBYyxFQUN0QixLQUFLLEVBQUUsUUFBUSxFQUNmLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGNBQWMsQ0FBQyw0QkFBZ0IsRUFLakQ7SUFFRDs7O09BR0c7SUFDVSxLQUFLLElBQUksT0FBTyxDQUFDO1FBQzVCLE1BQU0sRUFBRSxjQUFjLENBQUM7UUFDdkIscUJBQXFCLEVBQUUsWUFBWSxDQUFDO1FBQ3BDLEtBQUssRUFBRSxhQUFhLEdBQUcsb0JBQW9CLENBQUM7UUFDNUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztRQUNoQixTQUFTLEVBQUUsWUFBWSxDQUFDO0tBQ3pCLENBQUMsQ0FPRDtJQUVZLFFBQVEsSUFBSSxPQUFPLENBQUM7UUFDL0IsTUFBTSxFQUFFLGNBQWMsQ0FBQztRQUN2QixxQkFBcUIsRUFBRSxZQUFZLENBQUM7UUFDcEMsR0FBRyxFQUFFLFdBQVcsQ0FBQztRQUNqQixNQUFNLEVBQUUsYUFBYSxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxhQUFhLENBQUM7UUFDdEIsSUFBSSxFQUFFLFNBQVMsQ0FBQztLQUNqQixDQUFDLENBNEJEO0lBRUQ7OztPQUdHO0lBQ1UsZUFBZSxJQUFJLE9BQU8sQ0FBQztRQUN0QyxNQUFNLEVBQUUsY0FBYyxDQUFDO1FBQ3ZCLHFCQUFxQixFQUFFLFlBQVksQ0FBQztRQUNwQyxRQUFRLEVBQUUsWUFBWSxDQUFDO1FBQ3ZCLElBQUksRUFBRSxTQUFTLENBQUM7UUFDaEIsUUFBUSxFQUFFLHdCQUF3QixDQUFDO1FBQ25DLGFBQWEsRUFBRSxNQUFNLENBQUM7S0FDdkIsQ0FBQyxDQTJERDtZQUVhLGlCQUFpQjtZQVdqQixZQUFZO1lBV1osMEJBQTBCO1lBdUMxQixnQkFBZ0I7WUFlaEIsaUNBQWlDO1lBY2pDLHlDQUF5QztZQWtCekMsZ0JBQWdCO1lBNEJoQixVQUFVO1lBeUNWLGtCQUFrQjtZQWFsQixnQkFBZ0I7WUEyQmhCLE9BQU87WUErRlAsd0JBQXdCO1lBNkR4QixxQkFBcUI7WUF1RHJCLFVBQVU7WUFpRFYsc0JBQXNCO1lBMkJ0QixnQkFBZ0I7WUFnQ2hCLFVBQVU7WUFZVixvQkFBb0I7Q0FlbkMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAqBzD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAItE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGlE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,aAAa,CAAC;AAEtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQjD,qBAAa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAPlC,OAAO,CAAC,GAAG,CAAuB;IAElC,YACmB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,SAAS,EACpB,cAAc,CAAC,4BAAgB,EAKjD;IAED;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC;QAC5B,MAAM,EAAE,cAAc,CAAC;QACvB,qBAAqB,EAAE,YAAY,CAAC;QACpC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAAC;QAC5C,IAAI,EAAE,SAAS,CAAC;QAChB,SAAS,EAAE,YAAY,CAAC;KACzB,CAAC,CAOD;IAEY,QAAQ,IAAI,OAAO,CAAC;QAC/B,MAAM,EAAE,cAAc,CAAC;QACvB,qBAAqB,EAAE,YAAY,CAAC;QACpC,GAAG,EAAE,WAAW,CAAC;QACjB,MAAM,EAAE,aAAa,CAAC;QACtB,MAAM,EAAE,aAAa,CAAC;QACtB,IAAI,EAAE,SAAS,CAAC;KACjB,CAAC,CA4BD;IAED;;;OAGG;IACU,eAAe,IAAI,OAAO,CAAC;QACtC,MAAM,EAAE,cAAc,CAAC;QACvB,qBAAqB,EAAE,YAAY,CAAC;QACpC,QAAQ,EAAE,YAAY,CAAC;QACvB,IAAI,EAAE,SAAS,CAAC;QAChB,QAAQ,EAAE,wBAAwB,CAAC;QACnC,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CA2DD;YAEa,iBAAiB;YAejB,YAAY;YAWZ,0BAA0B;YAuC1B,gBAAgB;YAehB,iCAAiC;YAcjC,yCAAyC;YAmBzC,gBAAgB;YAiChB,UAAU;YAwCV,kBAAkB;YAalB,gBAAgB;YAwBhB,OAAO;YA+FP,wBAAwB;YA6DxB,qBAAqB;YAuDrB,UAAU;YAiDV,sBAAsB;YA2BtB,gBAAgB;YAgChB,UAAU;YAYV,oBAAoB;CAenC"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAqBzD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAItE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGlE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,aAAa,CAAC;AAEtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQjD,qBAAa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAPlC,OAAO,CAAC,GAAG,CAAuB;IAElC,YACmB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,SAAS,EACpB,cAAc,CAAC,4BAAgB,EAKjD;IAED;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC;QAC5B,MAAM,EAAE,cAAc,CAAC;QACvB,qBAAqB,EAAE,YAAY,CAAC;QACpC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAAC;QAC5C,IAAI,EAAE,SAAS,CAAC;QAChB,SAAS,EAAE,YAAY,CAAC;KACzB,CAAC,CAOD;IAEY,QAAQ,IAAI,OAAO,CAAC;QAC/B,MAAM,EAAE,cAAc,CAAC;QACvB,qBAAqB,EAAE,YAAY,CAAC;QACpC,GAAG,EAAE,WAAW,CAAC;QACjB,MAAM,EAAE,aAAa,CAAC;QACtB,MAAM,EAAE,aAAa,CAAC;QACtB,IAAI,EAAE,SAAS,CAAC;KACjB,CAAC,CA4BD;IAED;;;OAGG;IACU,eAAe,IAAI,OAAO,CAAC;QACtC,MAAM,EAAE,cAAc,CAAC;QACvB,qBAAqB,EAAE,YAAY,CAAC;QACpC,QAAQ,EAAE,YAAY,CAAC;QACvB,IAAI,EAAE,SAAS,CAAC;QAChB,QAAQ,EAAE,wBAAwB,CAAC;QACnC,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CA2DD;YAEa,iBAAiB;YAWjB,YAAY;YAWZ,0BAA0B;YAuC1B,gBAAgB;YAehB,iCAAiC;YAcjC,yCAAyC;YAkBzC,gBAAgB;YA4BhB,UAAU;YAyCV,kBAAkB;YAalB,gBAAgB;YA2BhB,OAAO;YA+FP,wBAAwB;YA6DxB,qBAAqB;YAuDrB,UAAU;YAiDV,sBAAsB;YA2BtB,gBAAgB;YAgChB,UAAU;YAYV,oBAAoB;CAenC"}
package/dest/factory.js CHANGED
@@ -132,11 +132,12 @@ export class BotFactory {
132
132
  }
133
133
  async setupTestContract(deployer) {
134
134
  const deployOpts = {
135
- from: deployer,
136
- contractAddressSalt: this.config.tokenSalt,
137
- universalDeploy: true
135
+ from: deployer
138
136
  };
139
- const deploy = TestContract.deploy(this.wallet);
137
+ const deploy = TestContract.deploy(this.wallet, {
138
+ salt: this.config.tokenSalt,
139
+ universalDeploy: true
140
+ });
140
141
  const instance = await this.registerOrDeployContract('TestContract', deploy, deployOpts);
141
142
  return TestContract.at(instance.address, this.wallet);
142
143
  }
@@ -211,43 +212,39 @@ export class BotFactory {
211
212
  }
212
213
  /**
213
214
  * Setup token0 for AMM with refuel-first behaviour when token already exists.
214
- */ async setupTokenContractWithOptionalEarlyRefuel(deployer, contractAddressSalt, name, ticker, decimals = 18) {
215
- const deployOpts = {
216
- from: deployer,
217
- contractAddressSalt,
215
+ */ async setupTokenContractWithOptionalEarlyRefuel(deployer, salt, name, ticker, decimals = 18) {
216
+ const deploy = TokenContract.deploy(this.wallet, deployer, name, ticker, decimals, {
217
+ salt,
218
218
  universalDeploy: true
219
- };
220
- const deploy = TokenContract.deploy(this.wallet, deployer, name, ticker, decimals);
221
- const instance = await deploy.getInstance(deployOpts);
219
+ });
220
+ const instance = await deploy.getInstance();
222
221
  const metadata = await this.wallet.getContractMetadata(instance.address);
223
222
  if (metadata.isContractPublished) {
224
223
  this.log.info(`Token ${name} at ${instance.address.toString()} already deployed, refueling before setup`);
225
224
  const token = TokenContract.at(instance.address, this.wallet);
226
225
  await this.ensureFeeJuiceBalance(deployer, token);
227
226
  }
228
- return this.setupTokenContract(deployer, contractAddressSalt, name, ticker, decimals);
227
+ return this.setupTokenContract(deployer, salt, name, ticker, decimals);
229
228
  }
230
229
  async getTokenInstance(sender) {
231
- const deployOpts = {
232
- from: sender,
233
- contractAddressSalt: this.config.tokenSalt,
234
- universalDeploy: true
235
- };
230
+ const salt = this.config.tokenSalt;
236
231
  if (this.config.contract === SupportedTokenContracts.TokenContract) {
237
- const deploy = TokenContract.deploy(this.wallet, sender, 'BotToken', 'BOT', 18);
238
- const instance = await deploy.getInstance(deployOpts);
232
+ const deploy = TokenContract.deploy(this.wallet, sender, 'BotToken', 'BOT', 18, {
233
+ salt,
234
+ universalDeploy: true
235
+ });
236
+ const instance = await deploy.getInstance();
239
237
  return TokenContract.at(instance.address, this.wallet);
240
238
  }
241
239
  if (this.config.contract === SupportedTokenContracts.PrivateTokenContract) {
242
240
  const tokenSecretKey = Fr.random();
243
241
  const tokenPublicKeys = (await deriveKeys(tokenSecretKey)).publicKeys;
244
- const deploy = PrivateTokenContract.deployWithPublicKeys(tokenPublicKeys, this.wallet, MINT_BALANCE, sender);
245
- const instance = await deploy.getInstance({
246
- ...deployOpts,
247
- skipInstancePublication: true,
248
- skipClassPublication: true,
249
- skipInitialization: false
242
+ const deploy = PrivateTokenContract.deploy(this.wallet, MINT_BALANCE, sender, {
243
+ salt,
244
+ universalDeploy: true,
245
+ publicKeys: tokenPublicKeys
250
246
  });
247
+ const instance = await deploy.getInstance();
251
248
  return PrivateTokenContract.at(instance.address, this.wallet);
252
249
  }
253
250
  throw new Error(`Unsupported token contract type: ${this.config.contract}`);
@@ -260,26 +257,32 @@ export class BotFactory {
260
257
  * @returns The TokenContract or PrivateTokenContract instance.
261
258
  */ async setupToken(sender) {
262
259
  let deploy;
260
+ const salt = this.config.tokenSalt;
263
261
  const deployOpts = {
264
- from: sender,
265
- contractAddressSalt: this.config.tokenSalt,
266
- universalDeploy: true
262
+ from: sender
267
263
  };
268
264
  let token;
269
265
  if (this.config.contract === SupportedTokenContracts.TokenContract) {
270
- deploy = TokenContract.deploy(this.wallet, sender, 'BotToken', 'BOT', 18);
271
- const instance = await deploy.getInstance(deployOpts);
266
+ deploy = TokenContract.deploy(this.wallet, sender, 'BotToken', 'BOT', 18, {
267
+ salt,
268
+ universalDeploy: true
269
+ });
270
+ const instance = await deploy.getInstance();
272
271
  token = TokenContract.at(instance.address, this.wallet);
273
272
  } else if (this.config.contract === SupportedTokenContracts.PrivateTokenContract) {
274
273
  // Generate keys for the contract since PrivateToken uses SinglePrivateMutable which requires keys
275
274
  const tokenSecretKey = Fr.random();
276
275
  const tokenPublicKeys = (await deriveKeys(tokenSecretKey)).publicKeys;
277
- deploy = PrivateTokenContract.deployWithPublicKeys(tokenPublicKeys, this.wallet, MINT_BALANCE, sender);
276
+ deploy = PrivateTokenContract.deploy(this.wallet, MINT_BALANCE, sender, {
277
+ salt,
278
+ universalDeploy: true,
279
+ publicKeys: tokenPublicKeys
280
+ });
278
281
  deployOpts.skipInstancePublication = true;
279
282
  deployOpts.skipClassPublication = true;
280
283
  deployOpts.skipInitialization = false;
281
284
  // Register the contract with the secret key before deployment
282
- const tokenInstance = await deploy.getInstance(deployOpts);
285
+ const tokenInstance = await deploy.getInstance();
283
286
  token = PrivateTokenContract.at(tokenInstance.address, this.wallet);
284
287
  await this.wallet.registerContract(tokenInstance, PrivateTokenContract.artifact, tokenSecretKey);
285
288
  // The contract constructor initializes private storage vars that need the contract's own nullifier key.
@@ -296,23 +299,25 @@ export class BotFactory {
296
299
  * Checks if the token contract is deployed and deploys it if necessary.
297
300
  * @param wallet - Wallet to deploy the token contract from.
298
301
  * @returns The TokenContract instance.
299
- */ async setupTokenContract(deployer, contractAddressSalt, name, ticker, decimals = 18) {
302
+ */ async setupTokenContract(deployer, salt, name, ticker, decimals = 18) {
300
303
  const deployOpts = {
301
- from: deployer,
302
- contractAddressSalt,
303
- universalDeploy: true
304
+ from: deployer
304
305
  };
305
- const deploy = TokenContract.deploy(this.wallet, deployer, name, ticker, decimals);
306
+ const deploy = TokenContract.deploy(this.wallet, deployer, name, ticker, decimals, {
307
+ salt,
308
+ universalDeploy: true
309
+ });
306
310
  const instance = await this.registerOrDeployContract('Token - ' + name, deploy, deployOpts);
307
311
  return TokenContract.at(instance.address, this.wallet);
308
312
  }
309
- async setupAmmContract(deployer, contractAddressSalt, token0, token1, lpToken) {
313
+ async setupAmmContract(deployer, salt, token0, token1, lpToken) {
310
314
  const deployOpts = {
311
- from: deployer,
312
- contractAddressSalt,
313
- universalDeploy: true
315
+ from: deployer
314
316
  };
315
- const deploy = AMMContract.deploy(this.wallet, token0.address, token1.address, lpToken.address);
317
+ const deploy = AMMContract.deploy(this.wallet, token0.address, token1.address, lpToken.address, {
318
+ salt,
319
+ universalDeploy: true
320
+ });
316
321
  const instance = await this.registerOrDeployContract('AMM', deploy, deployOpts);
317
322
  const amm = AMMContract.at(instance.address, this.wallet);
318
323
  this.log.info(`AMM deployed at ${amm.address}`);
@@ -384,7 +389,7 @@ export class BotFactory {
384
389
  this.log.info(`Updated private balances of ${defaultAccountAddress} after minting and funding AMM: token0=${newT0Bal}, token1=${newT1Bal}, lp=${newLPBal}`);
385
390
  }
386
391
  async registerOrDeployContract(name, deploy, deployOpts) {
387
- const instance = await deploy.getInstance(deployOpts);
392
+ const instance = await deploy.getInstance();
388
393
  const address = instance.address;
389
394
  const metadata = await this.wallet.getContractMetadata(address);
390
395
  if (metadata.isContractPublished) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/bot",
3
- "version": "5.0.0-nightly.20260504",
3
+ "version": "5.0.0-nightly.20260512",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -54,20 +54,20 @@
54
54
  ]
55
55
  },
56
56
  "dependencies": {
57
- "@aztec/accounts": "5.0.0-nightly.20260504",
58
- "@aztec/aztec.js": "5.0.0-nightly.20260504",
59
- "@aztec/entrypoints": "5.0.0-nightly.20260504",
60
- "@aztec/ethereum": "5.0.0-nightly.20260504",
61
- "@aztec/foundation": "5.0.0-nightly.20260504",
62
- "@aztec/kv-store": "5.0.0-nightly.20260504",
63
- "@aztec/l1-artifacts": "5.0.0-nightly.20260504",
64
- "@aztec/noir-contracts.js": "5.0.0-nightly.20260504",
65
- "@aztec/noir-protocol-circuits-types": "5.0.0-nightly.20260504",
66
- "@aztec/noir-test-contracts.js": "5.0.0-nightly.20260504",
67
- "@aztec/protocol-contracts": "5.0.0-nightly.20260504",
68
- "@aztec/stdlib": "5.0.0-nightly.20260504",
69
- "@aztec/telemetry-client": "5.0.0-nightly.20260504",
70
- "@aztec/wallets": "5.0.0-nightly.20260504",
57
+ "@aztec/accounts": "5.0.0-nightly.20260512",
58
+ "@aztec/aztec.js": "5.0.0-nightly.20260512",
59
+ "@aztec/entrypoints": "5.0.0-nightly.20260512",
60
+ "@aztec/ethereum": "5.0.0-nightly.20260512",
61
+ "@aztec/foundation": "5.0.0-nightly.20260512",
62
+ "@aztec/kv-store": "5.0.0-nightly.20260512",
63
+ "@aztec/l1-artifacts": "5.0.0-nightly.20260512",
64
+ "@aztec/noir-contracts.js": "5.0.0-nightly.20260512",
65
+ "@aztec/noir-protocol-circuits-types": "5.0.0-nightly.20260512",
66
+ "@aztec/noir-test-contracts.js": "5.0.0-nightly.20260512",
67
+ "@aztec/protocol-contracts": "5.0.0-nightly.20260512",
68
+ "@aztec/stdlib": "5.0.0-nightly.20260512",
69
+ "@aztec/telemetry-client": "5.0.0-nightly.20260512",
70
+ "@aztec/wallets": "5.0.0-nightly.20260512",
71
71
  "source-map-support": "^0.5.21",
72
72
  "tslib": "^2.4.0",
73
73
  "viem": "npm:@aztec/viem@2.38.2",
package/src/factory.ts CHANGED
@@ -189,12 +189,8 @@ export class BotFactory {
189
189
  }
190
190
 
191
191
  private async setupTestContract(deployer: AztecAddress): Promise<TestContract> {
192
- const deployOpts: DeployOptions = {
193
- from: deployer,
194
- contractAddressSalt: this.config.tokenSalt,
195
- universalDeploy: true,
196
- };
197
- const deploy = TestContract.deploy(this.wallet);
192
+ const deployOpts: DeployOptions = { from: deployer };
193
+ const deploy = TestContract.deploy(this.wallet, { salt: this.config.tokenSalt, universalDeploy: true });
198
194
  const instance = await this.registerOrDeployContract('TestContract', deploy, deployOpts);
199
195
  return TestContract.at(instance.address, this.wallet);
200
196
  }
@@ -284,44 +280,38 @@ export class BotFactory {
284
280
  */
285
281
  private async setupTokenContractWithOptionalEarlyRefuel(
286
282
  deployer: AztecAddress,
287
- contractAddressSalt: Fr,
283
+ salt: Fr,
288
284
  name: string,
289
285
  ticker: string,
290
286
  decimals = 18,
291
287
  ): Promise<TokenContract> {
292
- const deployOpts: DeployOptions = { from: deployer, contractAddressSalt, universalDeploy: true };
293
- const deploy = TokenContract.deploy(this.wallet, deployer, name, ticker, decimals);
294
- const instance = await deploy.getInstance(deployOpts);
288
+ const deploy = TokenContract.deploy(this.wallet, deployer, name, ticker, decimals, { salt, universalDeploy: true });
289
+ const instance = await deploy.getInstance();
295
290
  const metadata = await this.wallet.getContractMetadata(instance.address);
296
291
  if (metadata.isContractPublished) {
297
292
  this.log.info(`Token ${name} at ${instance.address.toString()} already deployed, refueling before setup`);
298
293
  const token = TokenContract.at(instance.address, this.wallet);
299
294
  await this.ensureFeeJuiceBalance(deployer, token);
300
295
  }
301
- return this.setupTokenContract(deployer, contractAddressSalt, name, ticker, decimals);
296
+ return this.setupTokenContract(deployer, salt, name, ticker, decimals);
302
297
  }
303
298
 
304
299
  private async getTokenInstance(sender: AztecAddress): Promise<TokenContract | PrivateTokenContract> {
305
- const deployOpts: DeployOptions = {
306
- from: sender,
307
- contractAddressSalt: this.config.tokenSalt,
308
- universalDeploy: true,
309
- };
300
+ const salt = this.config.tokenSalt;
310
301
  if (this.config.contract === SupportedTokenContracts.TokenContract) {
311
- const deploy = TokenContract.deploy(this.wallet, sender, 'BotToken', 'BOT', 18);
312
- const instance = await deploy.getInstance(deployOpts);
302
+ const deploy = TokenContract.deploy(this.wallet, sender, 'BotToken', 'BOT', 18, { salt, universalDeploy: true });
303
+ const instance = await deploy.getInstance();
313
304
  return TokenContract.at(instance.address, this.wallet);
314
305
  }
315
306
  if (this.config.contract === SupportedTokenContracts.PrivateTokenContract) {
316
307
  const tokenSecretKey = Fr.random();
317
308
  const tokenPublicKeys = (await deriveKeys(tokenSecretKey)).publicKeys;
318
- const deploy = PrivateTokenContract.deployWithPublicKeys(tokenPublicKeys, this.wallet, MINT_BALANCE, sender);
319
- const instance = await deploy.getInstance({
320
- ...deployOpts,
321
- skipInstancePublication: true,
322
- skipClassPublication: true,
323
- skipInitialization: false,
309
+ const deploy = PrivateTokenContract.deploy(this.wallet, MINT_BALANCE, sender, {
310
+ salt,
311
+ universalDeploy: true,
312
+ publicKeys: tokenPublicKeys,
324
313
  });
314
+ const instance = await deploy.getInstance();
325
315
  return PrivateTokenContract.at(instance.address, this.wallet);
326
316
  }
327
317
  throw new Error(`Unsupported token contract type: ${this.config.contract}`);
@@ -336,27 +326,28 @@ export class BotFactory {
336
326
  */
337
327
  private async setupToken(sender: AztecAddress): Promise<TokenContract | PrivateTokenContract> {
338
328
  let deploy: DeployMethod<TokenContract | PrivateTokenContract>;
339
- const deployOpts: DeployOptions = {
340
- from: sender,
341
- contractAddressSalt: this.config.tokenSalt,
342
- universalDeploy: true,
343
- };
329
+ const salt = this.config.tokenSalt;
330
+ const deployOpts: DeployOptions = { from: sender };
344
331
  let token: TokenContract | PrivateTokenContract;
345
332
  if (this.config.contract === SupportedTokenContracts.TokenContract) {
346
- deploy = TokenContract.deploy(this.wallet, sender, 'BotToken', 'BOT', 18);
347
- const instance = await deploy.getInstance(deployOpts);
333
+ deploy = TokenContract.deploy(this.wallet, sender, 'BotToken', 'BOT', 18, { salt, universalDeploy: true });
334
+ const instance = await deploy.getInstance();
348
335
  token = TokenContract.at(instance.address, this.wallet);
349
336
  } else if (this.config.contract === SupportedTokenContracts.PrivateTokenContract) {
350
337
  // Generate keys for the contract since PrivateToken uses SinglePrivateMutable which requires keys
351
338
  const tokenSecretKey = Fr.random();
352
339
  const tokenPublicKeys = (await deriveKeys(tokenSecretKey)).publicKeys;
353
- deploy = PrivateTokenContract.deployWithPublicKeys(tokenPublicKeys, this.wallet, MINT_BALANCE, sender);
340
+ deploy = PrivateTokenContract.deploy(this.wallet, MINT_BALANCE, sender, {
341
+ salt,
342
+ universalDeploy: true,
343
+ publicKeys: tokenPublicKeys,
344
+ });
354
345
  deployOpts.skipInstancePublication = true;
355
346
  deployOpts.skipClassPublication = true;
356
347
  deployOpts.skipInitialization = false;
357
348
 
358
349
  // Register the contract with the secret key before deployment
359
- const tokenInstance = await deploy.getInstance(deployOpts);
350
+ const tokenInstance = await deploy.getInstance();
360
351
  token = PrivateTokenContract.at(tokenInstance.address, this.wallet);
361
352
  await this.wallet.registerContract(tokenInstance, PrivateTokenContract.artifact, tokenSecretKey);
362
353
  // The contract constructor initializes private storage vars that need the contract's own nullifier key.
@@ -376,26 +367,29 @@ export class BotFactory {
376
367
  */
377
368
  private async setupTokenContract(
378
369
  deployer: AztecAddress,
379
- contractAddressSalt: Fr,
370
+ salt: Fr,
380
371
  name: string,
381
372
  ticker: string,
382
373
  decimals = 18,
383
374
  ): Promise<TokenContract> {
384
- const deployOpts: DeployOptions = { from: deployer, contractAddressSalt, universalDeploy: true };
385
- const deploy = TokenContract.deploy(this.wallet, deployer, name, ticker, decimals);
375
+ const deployOpts: DeployOptions = { from: deployer };
376
+ const deploy = TokenContract.deploy(this.wallet, deployer, name, ticker, decimals, { salt, universalDeploy: true });
386
377
  const instance = await this.registerOrDeployContract('Token - ' + name, deploy, deployOpts);
387
378
  return TokenContract.at(instance.address, this.wallet);
388
379
  }
389
380
 
390
381
  private async setupAmmContract(
391
382
  deployer: AztecAddress,
392
- contractAddressSalt: Fr,
383
+ salt: Fr,
393
384
  token0: TokenContract,
394
385
  token1: TokenContract,
395
386
  lpToken: TokenContract,
396
387
  ): Promise<AMMContract> {
397
- const deployOpts: DeployOptions = { from: deployer, contractAddressSalt, universalDeploy: true };
398
- const deploy = AMMContract.deploy(this.wallet, token0.address, token1.address, lpToken.address);
388
+ const deployOpts: DeployOptions = { from: deployer };
389
+ const deploy = AMMContract.deploy(this.wallet, token0.address, token1.address, lpToken.address, {
390
+ salt,
391
+ universalDeploy: true,
392
+ });
399
393
  const instance = await this.registerOrDeployContract('AMM', deploy, deployOpts);
400
394
  const amm = AMMContract.at(instance.address, this.wallet);
401
395
 
@@ -511,7 +505,7 @@ export class BotFactory {
511
505
  deploy: DeployMethod<T>,
512
506
  deployOpts: DeployOptions,
513
507
  ): Promise<ContractInstanceWithAddress> {
514
- const instance = await deploy.getInstance(deployOpts);
508
+ const instance = await deploy.getInstance();
515
509
  const address = instance.address;
516
510
  const metadata = await this.wallet.getContractMetadata(address);
517
511
  if (metadata.isContractPublished) {