@aztec/bot 0.71.0 → 0.73.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.
- package/dest/bot.d.ts.map +1 -1
- package/dest/bot.js +7 -6
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +10 -9
- package/dest/rpc.d.ts.map +1 -1
- package/dest/rpc.js +3 -3
- package/dest/runner.d.ts +1 -0
- package/dest/runner.d.ts.map +1 -1
- package/dest/runner.js +12 -6
- package/package.json +11 -11
- package/src/bot.ts +13 -6
- package/src/factory.ts +9 -8
- package/src/rpc.ts +3 -2
- package/src/runner.ts +10 -5
package/dest/bot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EAKjB,KAAK,MAAM,EAEZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,SAAS,EAAqB,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAGnF,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,qBAAa,GAAG;aAOI,MAAM,EAAE,MAAM;aACd,KAAK,EAAE,aAAa,GAAG,wBAAwB;aAC/C,SAAS,EAAE,YAAY;IAChC,MAAM,EAAE,SAAS;IAT1B,OAAO,CAAC,GAAG,CAAuB;IAElC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAa;IAE9B,SAAS,aACS,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,GAAG,wBAAwB,EAC/C,SAAS,EAAE,YAAY,EAChC,MAAM,EAAE,SAAS;WAGb,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,GAAE;QAAE,GAAG,CAAC,EAAE,GAAG,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAKjG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC;IAKjC,GAAG;
|
|
1
|
+
{"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EAKjB,KAAK,MAAM,EAEZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,SAAS,EAAqB,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAGnF,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,qBAAa,GAAG;aAOI,MAAM,EAAE,MAAM;aACd,KAAK,EAAE,aAAa,GAAG,wBAAwB;aAC/C,SAAS,EAAE,YAAY;IAChC,MAAM,EAAE,SAAS;IAT1B,OAAO,CAAC,GAAG,CAAuB;IAElC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAa;IAE9B,SAAS,aACS,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,GAAG,wBAAwB,EAC/C,SAAS,EAAE,YAAY,EAChC,MAAM,EAAE,SAAS;WAGb,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,GAAE;QAAE,GAAG,CAAC,EAAE,GAAG,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAKjG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC;IAKjC,GAAG;IAoEH,WAAW;;;;;;;;;;IAoBxB,OAAO,CAAC,iBAAiB;CAmB1B"}
|
package/dest/bot.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BatchCall, FeeJuicePaymentMethod, NoFeePaymentMethod, createLogger, } from '@aztec/aztec.js';
|
|
2
2
|
import { Gas } from '@aztec/circuits.js';
|
|
3
|
-
import {
|
|
3
|
+
import { timesParallel } from '@aztec/foundation/collection';
|
|
4
4
|
import { BotFactory } from './factory.js';
|
|
5
5
|
import { getBalances, getPrivateBalance, isStandardTokenContract } from './utils.js';
|
|
6
6
|
const TRANSFER_AMOUNT = 1;
|
|
@@ -31,11 +31,11 @@ export class Bot {
|
|
|
31
31
|
this.log.verbose(`Preparing tx with ${feePaymentMethod} fee with ${privateTransfersPerTx} private and ${publicTransfersPerTx} public transfers`, logCtx);
|
|
32
32
|
const calls = [];
|
|
33
33
|
if (isStandardTokenContract(token)) {
|
|
34
|
-
calls.push(...
|
|
35
|
-
calls.push(...
|
|
34
|
+
calls.push(...(await timesParallel(privateTransfersPerTx, () => token.methods.transfer(recipient, TRANSFER_AMOUNT).request())));
|
|
35
|
+
calls.push(...(await timesParallel(publicTransfersPerTx, () => token.methods.transfer_in_public(sender, recipient, TRANSFER_AMOUNT, 0).request())));
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
38
|
-
calls.push(...
|
|
38
|
+
calls.push(...(await timesParallel(privateTransfersPerTx, () => token.methods.transfer(TRANSFER_AMOUNT, sender, recipient).request())));
|
|
39
39
|
}
|
|
40
40
|
const opts = this.getSendMethodOpts();
|
|
41
41
|
const batch = new BatchCall(wallet, calls);
|
|
@@ -93,8 +93,9 @@ export class Bot {
|
|
|
93
93
|
estimateGas = true;
|
|
94
94
|
this.log.verbose(`Estimating gas for transaction`);
|
|
95
95
|
}
|
|
96
|
+
const baseFeePadding = 2; // Send 3x the current base fee
|
|
96
97
|
this.log.verbose(skipPublicSimulation ? `Skipping public simulation` : `Simulating public transfers`);
|
|
97
|
-
return { fee: { estimateGas, paymentMethod, gasSettings }, skipPublicSimulation };
|
|
98
|
+
return { fee: { estimateGas, paymentMethod, gasSettings, baseFeePadding }, skipPublicSimulation };
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2JvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULHFCQUFxQixFQUNyQixrQkFBa0IsRUFHbEIsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUs3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFckYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0FBRTFCLE1BQU0sT0FBTyxHQUFHO0lBTWQsWUFDa0IsTUFBYyxFQUNkLEtBQStDLEVBQy9DLFNBQXVCLEVBQ2hDLE1BQWlCO1FBSFIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQTBDO1FBQy9DLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQVRsQixRQUFHLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsY0FBUyxHQUFXLENBQUMsQ0FBQztJQU8zQixDQUFDO0lBRUosTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBaUIsRUFBRSxlQUFnRCxFQUFFO1FBQ3ZGLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hGLE9BQU8sSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUs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
|
package/dest/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,SAAS,EAAqB,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,SAAS,EAAqB,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,aAAa,CAAC;AAMtE,qBAAa,UAAU;IAKT,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJnC,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,IAAI,CAAC,CAAY;IACzB,OAAO,CAAC,GAAG,CAAuB;gBAEL,MAAM,EAAE,SAAS,EAAE,YAAY,GAAE;QAAE,GAAG,CAAC,EAAE,GAAG,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAA;KAAO;IAmBlG;;;OAGG;IACU,KAAK;;;;;;IAQlB;;;OAGG;YACW,YAAY;IAwB1B;;OAEG;YACW,iBAAiB;IAK/B;;;;OAIG;YACW,UAAU;IAiCxB;;;OAGG;YACW,UAAU;CAyCzB"}
|
package/dest/factory.js
CHANGED
|
@@ -3,6 +3,7 @@ import { BatchCall, createLogger, createPXEClient, } from '@aztec/aztec.js';
|
|
|
3
3
|
import { Fr, deriveSigningKey } from '@aztec/circuits.js';
|
|
4
4
|
import { EasyPrivateTokenContract } from '@aztec/noir-contracts.js/EasyPrivateToken';
|
|
5
5
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
6
|
+
import { makeTracedFetch } from '@aztec/telemetry-client';
|
|
6
7
|
import { SupportedTokenContracts } from './config.js';
|
|
7
8
|
import { getBalances, getPrivateBalance, isStandardTokenContract } from './utils.js';
|
|
8
9
|
const MINT_BALANCE = 1e12;
|
|
@@ -24,7 +25,7 @@ export class BotFactory {
|
|
|
24
25
|
return;
|
|
25
26
|
}
|
|
26
27
|
this.log.info(`Using remote PXE at ${config.pxeUrl}`);
|
|
27
|
-
this.pxe = createPXEClient(config.pxeUrl);
|
|
28
|
+
this.pxe = createPXEClient(config.pxeUrl, makeTracedFetch([1, 2, 3], false));
|
|
28
29
|
}
|
|
29
30
|
/**
|
|
30
31
|
* Initializes a new bot by setting up the sender account, registering the recipient,
|
|
@@ -44,8 +45,8 @@ export class BotFactory {
|
|
|
44
45
|
async setupAccount() {
|
|
45
46
|
const salt = Fr.ONE;
|
|
46
47
|
const signingKey = deriveSigningKey(this.config.senderPrivateKey);
|
|
47
|
-
const account = getSchnorrAccount(this.pxe, this.config.senderPrivateKey, signingKey, salt);
|
|
48
|
-
const isInit = await this.pxe.
|
|
48
|
+
const account = await getSchnorrAccount(this.pxe, this.config.senderPrivateKey, signingKey, salt);
|
|
49
|
+
const isInit = (await this.pxe.getContractMetadata(account.getAddress())).isContractInitialized;
|
|
49
50
|
if (isInit) {
|
|
50
51
|
this.log.info(`Account at ${account.getAddress().toString()} already initialized`);
|
|
51
52
|
const wallet = await account.register();
|
|
@@ -93,8 +94,8 @@ export class BotFactory {
|
|
|
93
94
|
else {
|
|
94
95
|
throw new Error(`Unsupported token contract type: ${this.config.contract}`);
|
|
95
96
|
}
|
|
96
|
-
const address = deploy.getInstance(deployOpts).address;
|
|
97
|
-
if (await this.pxe.
|
|
97
|
+
const address = (await deploy.getInstance(deployOpts)).address;
|
|
98
|
+
if ((await this.pxe.getContractMetadata(address)).isContractPubliclyDeployed) {
|
|
98
99
|
this.log.info(`Token at ${address.toString()} already deployed`);
|
|
99
100
|
return deploy.register();
|
|
100
101
|
}
|
|
@@ -131,12 +132,12 @@ export class BotFactory {
|
|
|
131
132
|
this.log.info(`Minting private tokens for ${sender.toString()}`);
|
|
132
133
|
const from = sender; // we are setting from to sender here because of TODO(#9887)
|
|
133
134
|
calls.push(isStandardToken
|
|
134
|
-
? token.methods.mint_to_private(from, sender, MINT_BALANCE).request()
|
|
135
|
-
: token.methods.mint(MINT_BALANCE, sender).request());
|
|
135
|
+
? await token.methods.mint_to_private(from, sender, MINT_BALANCE).request()
|
|
136
|
+
: await token.methods.mint(MINT_BALANCE, sender).request());
|
|
136
137
|
}
|
|
137
138
|
if (isStandardToken && publicBalance < MIN_BALANCE) {
|
|
138
139
|
this.log.info(`Minting public tokens for ${sender.toString()}`);
|
|
139
|
-
calls.push(token.methods.mint_to_public(sender, MINT_BALANCE).request());
|
|
140
|
+
calls.push(await token.methods.mint_to_public(sender, MINT_BALANCE).request());
|
|
140
141
|
}
|
|
141
142
|
if (calls.length === 0) {
|
|
142
143
|
this.log.info(`Skipping minting as ${sender.toString()} has enough tokens`);
|
|
@@ -153,4 +154,4 @@ export class BotFactory {
|
|
|
153
154
|
await sentTx.wait({ timeout: this.config.txMinedWaitSeconds });
|
|
154
155
|
}
|
|
155
156
|
}
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFFTCxTQUFTLEVBR1QsWUFBWSxFQUNaLGVBQWUsR0FDaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUxRCxPQUFPLEVBQWtCLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFckYsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBQzFCLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQztBQUV4QixNQUFNLE9BQU8sVUFBVTtJQUtyQixZQUE2QixNQUFpQixFQUFFLGVBQWdELEVBQUU7UUFBckUsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUZ0QyxRQUFHLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBR2hDLElBQUksTUFBTSxDQUFDLHNCQUFzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hELE1BQU0sSUFBSSxLQUFLLENBQUMsd0ZBQXdGLENBQUMsQ0FBQztRQUM1RyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxt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
|
package/dest/rpc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAIpE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,SAAS,QAK5D;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAEvE"}
|
package/dest/rpc.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createTracedJsonRpcServer } from '@aztec/telemetry-client';
|
|
2
2
|
import { BotRunnerApiSchema } from './interface.js';
|
|
3
3
|
/**
|
|
4
4
|
* Wraps a bot runner with a JSON RPC HTTP server.
|
|
@@ -6,7 +6,7 @@ import { BotRunnerApiSchema } from './interface.js';
|
|
|
6
6
|
* @returns An JSON-RPC HTTP server
|
|
7
7
|
*/
|
|
8
8
|
export function createBotRunnerRpcServer(botRunner) {
|
|
9
|
-
|
|
9
|
+
createTracedJsonRpcServer(botRunner, BotRunnerApiSchema, {
|
|
10
10
|
http200OnError: false,
|
|
11
11
|
healthCheck: botRunner.isHealthy.bind(botRunner),
|
|
12
12
|
});
|
|
@@ -14,4 +14,4 @@ export function createBotRunnerRpcServer(botRunner) {
|
|
|
14
14
|
export function getBotRunnerApiHandler(botRunner) {
|
|
15
15
|
return [botRunner, BotRunnerApiSchema, botRunner.isHealthy.bind(botRunner)];
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUFDLFNBQW9CO0lBQzNELHlCQUF5QixDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRTtRQUN2RCxjQUFjLEVBQUUsS0FBSztRQUNyQixXQUFXLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0tBQ2pELENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsU0FBb0I7SUFDekQsT0FBTyxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQzlFLENBQUMifQ==
|
package/dest/runner.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export declare class BotRunner implements BotRunnerApi, Traceable {
|
|
|
20
20
|
});
|
|
21
21
|
/** Initializes the bot if needed. Blocks until the bot setup is finished. */
|
|
22
22
|
setup(): Promise<void>;
|
|
23
|
+
private doSetup;
|
|
23
24
|
/**
|
|
24
25
|
* Initializes the bot if needed and starts sending txs at regular intervals.
|
|
25
26
|
* Blocks until the bot setup is finished.
|
package/dest/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAuC,MAAM,iBAAiB,CAAC;AAEhG,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAuC,MAAM,iBAAiB,CAAC;AAEhG,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAA8B,MAAM,yBAAyB,CAAC;AAGxH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,qBAAa,SAAU,YAAW,YAAY,EAAE,SAAS;;IAYrD,OAAO,CAAC,MAAM;IAXhB,OAAO,CAAC,GAAG,CAAuB;IAClC,OAAO,CAAC,GAAG,CAAC,CAAe;IAC3B,OAAO,CAAC,GAAG,CAAC,CAAM;IAClB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,OAAO,CAAQ;IAEvB,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAGrB,MAAM,EAAE,SAAS,EACzB,YAAY,EAAE;QAAE,GAAG,CAAC,EAAE,GAAG,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,eAAe,CAAA;KAAE;IAW3E,6EAA6E;IAChE,KAAK;YAOJ,OAAO;IAMrB;;;OAGG;IACU,KAAK;IAQlB;;OAEG;IACU,IAAI;IAQV,SAAS;IAIhB,0CAA0C;IACnC,SAAS;IAIhB;;;OAGG;IACU,MAAM,CAAC,MAAM,EAAE,SAAS;IAerC;;;OAGG;IACU,GAAG;IAwBhB,qDAAqD;IAC9C,SAAS;CAuCjB"}
|
package/dest/runner.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { __classPrivateFieldGet, __classPrivateFieldIn, __esDecorate, __runInitializers, __setFunctionName } from "tslib";
|
|
2
2
|
import { createAztecNodeClient, createLogger } from '@aztec/aztec.js';
|
|
3
3
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
4
|
-
import { trackSpan } from '@aztec/telemetry-client';
|
|
4
|
+
import { makeTracedFetch, trackSpan } from '@aztec/telemetry-client';
|
|
5
5
|
import { Bot } from './bot.js';
|
|
6
6
|
let BotRunner = (() => {
|
|
7
7
|
var _BotRunner_instances, _a, _BotRunner_createBot, _BotRunner_work_get;
|
|
8
8
|
let _instanceExtraInitializers = [];
|
|
9
|
+
let _doSetup_decorators;
|
|
9
10
|
let _private_work_decorators;
|
|
10
11
|
let _private_work_descriptor;
|
|
11
12
|
return _a = class BotRunner {
|
|
@@ -20,17 +21,20 @@ let BotRunner = (() => {
|
|
|
20
21
|
if (!dependencies.node && !config.nodeUrl) {
|
|
21
22
|
throw new Error(`Missing node URL in config or dependencies`);
|
|
22
23
|
}
|
|
23
|
-
this.node = dependencies.node ?? createAztecNodeClient(config.nodeUrl);
|
|
24
|
+
this.node = dependencies.node ?? createAztecNodeClient(config.nodeUrl, makeTracedFetch([1, 2, 3], true));
|
|
24
25
|
this.runningPromise = new RunningPromise(() => __classPrivateFieldGet(this, _BotRunner_instances, "a", _BotRunner_work_get).call(this), this.log, config.txIntervalSeconds * 1000);
|
|
25
26
|
}
|
|
26
27
|
/** Initializes the bot if needed. Blocks until the bot setup is finished. */
|
|
27
28
|
async setup() {
|
|
28
29
|
if (!this.bot) {
|
|
29
|
-
this.
|
|
30
|
-
await __classPrivateFieldGet(this, _BotRunner_instances, "m", _BotRunner_createBot).call(this);
|
|
31
|
-
this.log.info(`Bot set up completed`);
|
|
30
|
+
await this.doSetup();
|
|
32
31
|
}
|
|
33
32
|
}
|
|
33
|
+
async doSetup() {
|
|
34
|
+
this.log.verbose(`Setting up bot`);
|
|
35
|
+
await __classPrivateFieldGet(this, _BotRunner_instances, "m", _BotRunner_createBot).call(this);
|
|
36
|
+
this.log.info(`Bot set up completed`);
|
|
37
|
+
}
|
|
34
38
|
/**
|
|
35
39
|
* Initializes the bot if needed and starts sending txs at regular intervals.
|
|
36
40
|
* Blocks until the bot setup is finished.
|
|
@@ -123,7 +127,9 @@ let BotRunner = (() => {
|
|
|
123
127
|
_BotRunner_work_get = function _BotRunner_work_get() { return _private_work_descriptor.value; },
|
|
124
128
|
(() => {
|
|
125
129
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
130
|
+
_doSetup_decorators = [trackSpan('Bot.setup')];
|
|
126
131
|
_private_work_decorators = [trackSpan('Bot.work')];
|
|
132
|
+
__esDecorate(_a, null, _doSetup_decorators, { kind: "method", name: "doSetup", static: false, private: false, access: { has: obj => "doSetup" in obj, get: obj => obj.doSetup }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
127
133
|
__esDecorate(_a, _private_work_descriptor = { value: __setFunctionName(async function () {
|
|
128
134
|
if (this.config.maxPendingTxs > 0) {
|
|
129
135
|
const pendingTxs = await this.node.getPendingTxs();
|
|
@@ -152,4 +158,4 @@ let BotRunner = (() => {
|
|
|
152
158
|
_a;
|
|
153
159
|
})();
|
|
154
160
|
export { BotRunner };
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3J1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUE0QixxQkFBcUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFxRCxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEgsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztJQUlsQixTQUFTOzs7Ozs7c0JBQVQsU0FBUztZQVdwQixZQUNVLE1BQWlCLEVBQ3pCLFlBQXlFOztnQkFEakUsV0FBTSxJQVpMLG1EQUFTLEVBWVYsTUFBTSxFQUFXO2dCQVhuQixRQUFHLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUsxQixzQkFBaUIsR0FBRyxDQUFDLENBQUM7Z0JBQ3RCLFlBQU8sR0FBRyxJQUFJLENBQUM7Z0JBUXJCLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQzFDLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztnQkFDaEUsQ0FBQztnQkFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLElBQUkscUJBQXFCLENBQUMsTUFBTSxDQUFDLE9BQVEsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzFHLElBQUksQ0FBQyxjQUFj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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/bot",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.73.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -52,16 +52,16 @@
|
|
|
52
52
|
]
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@aztec/accounts": "0.
|
|
56
|
-
"@aztec/aztec.js": "0.
|
|
57
|
-
"@aztec/circuit-types": "0.
|
|
58
|
-
"@aztec/circuits.js": "0.
|
|
59
|
-
"@aztec/entrypoints": "0.
|
|
60
|
-
"@aztec/foundation": "0.
|
|
61
|
-
"@aztec/noir-contracts.js": "0.
|
|
62
|
-
"@aztec/protocol-contracts": "0.
|
|
63
|
-
"@aztec/telemetry-client": "0.
|
|
64
|
-
"@aztec/types": "0.
|
|
55
|
+
"@aztec/accounts": "0.73.0",
|
|
56
|
+
"@aztec/aztec.js": "0.73.0",
|
|
57
|
+
"@aztec/circuit-types": "0.73.0",
|
|
58
|
+
"@aztec/circuits.js": "0.73.0",
|
|
59
|
+
"@aztec/entrypoints": "0.73.0",
|
|
60
|
+
"@aztec/foundation": "0.73.0",
|
|
61
|
+
"@aztec/noir-contracts.js": "0.73.0",
|
|
62
|
+
"@aztec/protocol-contracts": "0.73.0",
|
|
63
|
+
"@aztec/telemetry-client": "0.73.0",
|
|
64
|
+
"@aztec/types": "0.73.0",
|
|
65
65
|
"source-map-support": "^0.5.21",
|
|
66
66
|
"tslib": "^2.4.0",
|
|
67
67
|
"zod": "^3.23.8"
|
package/src/bot.ts
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from '@aztec/aztec.js';
|
|
10
10
|
import { type AztecNode, type FunctionCall, type PXE } from '@aztec/circuit-types';
|
|
11
11
|
import { Gas } from '@aztec/circuits.js';
|
|
12
|
-
import {
|
|
12
|
+
import { timesParallel } from '@aztec/foundation/collection';
|
|
13
13
|
import { type EasyPrivateTokenContract } from '@aztec/noir-contracts.js/EasyPrivateToken';
|
|
14
14
|
import { type TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
15
15
|
|
|
@@ -57,15 +57,21 @@ export class Bot {
|
|
|
57
57
|
|
|
58
58
|
const calls: FunctionCall[] = [];
|
|
59
59
|
if (isStandardTokenContract(token)) {
|
|
60
|
-
calls.push(...times(privateTransfersPerTx, () => token.methods.transfer(recipient, TRANSFER_AMOUNT).request()));
|
|
61
60
|
calls.push(
|
|
62
|
-
...
|
|
61
|
+
...(await timesParallel(privateTransfersPerTx, () =>
|
|
62
|
+
token.methods.transfer(recipient, TRANSFER_AMOUNT).request(),
|
|
63
|
+
)),
|
|
64
|
+
);
|
|
65
|
+
calls.push(
|
|
66
|
+
...(await timesParallel(publicTransfersPerTx, () =>
|
|
63
67
|
token.methods.transfer_in_public(sender, recipient, TRANSFER_AMOUNT, 0).request(),
|
|
64
|
-
),
|
|
68
|
+
)),
|
|
65
69
|
);
|
|
66
70
|
} else {
|
|
67
71
|
calls.push(
|
|
68
|
-
...
|
|
72
|
+
...(await timesParallel(privateTransfersPerTx, () =>
|
|
73
|
+
token.methods.transfer(TRANSFER_AMOUNT, sender, recipient).request(),
|
|
74
|
+
)),
|
|
69
75
|
);
|
|
70
76
|
}
|
|
71
77
|
|
|
@@ -139,7 +145,8 @@ export class Bot {
|
|
|
139
145
|
estimateGas = true;
|
|
140
146
|
this.log.verbose(`Estimating gas for transaction`);
|
|
141
147
|
}
|
|
148
|
+
const baseFeePadding = 2; // Send 3x the current base fee
|
|
142
149
|
this.log.verbose(skipPublicSimulation ? `Skipping public simulation` : `Simulating public transfers`);
|
|
143
|
-
return { fee: { estimateGas, paymentMethod, gasSettings }, skipPublicSimulation };
|
|
150
|
+
return { fee: { estimateGas, paymentMethod, gasSettings, baseFeePadding }, skipPublicSimulation };
|
|
144
151
|
}
|
|
145
152
|
}
|
package/src/factory.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { type AztecNode, type FunctionCall, type PXE } from '@aztec/circuit-type
|
|
|
11
11
|
import { Fr, deriveSigningKey } from '@aztec/circuits.js';
|
|
12
12
|
import { EasyPrivateTokenContract } from '@aztec/noir-contracts.js/EasyPrivateToken';
|
|
13
13
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
14
|
+
import { makeTracedFetch } from '@aztec/telemetry-client';
|
|
14
15
|
|
|
15
16
|
import { type BotConfig, SupportedTokenContracts } from './config.js';
|
|
16
17
|
import { getBalances, getPrivateBalance, isStandardTokenContract } from './utils.js';
|
|
@@ -39,7 +40,7 @@ export class BotFactory {
|
|
|
39
40
|
return;
|
|
40
41
|
}
|
|
41
42
|
this.log.info(`Using remote PXE at ${config.pxeUrl!}`);
|
|
42
|
-
this.pxe = createPXEClient(config.pxeUrl
|
|
43
|
+
this.pxe = createPXEClient(config.pxeUrl!, makeTracedFetch([1, 2, 3], false));
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
/**
|
|
@@ -61,8 +62,8 @@ export class BotFactory {
|
|
|
61
62
|
private async setupAccount() {
|
|
62
63
|
const salt = Fr.ONE;
|
|
63
64
|
const signingKey = deriveSigningKey(this.config.senderPrivateKey);
|
|
64
|
-
const account = getSchnorrAccount(this.pxe, this.config.senderPrivateKey, signingKey, salt);
|
|
65
|
-
const isInit = await this.pxe.
|
|
65
|
+
const account = await getSchnorrAccount(this.pxe, this.config.senderPrivateKey, signingKey, salt);
|
|
66
|
+
const isInit = (await this.pxe.getContractMetadata(account.getAddress())).isContractInitialized;
|
|
66
67
|
if (isInit) {
|
|
67
68
|
this.log.info(`Account at ${account.getAddress().toString()} already initialized`);
|
|
68
69
|
const wallet = await account.register();
|
|
@@ -110,8 +111,8 @@ export class BotFactory {
|
|
|
110
111
|
throw new Error(`Unsupported token contract type: ${this.config.contract}`);
|
|
111
112
|
}
|
|
112
113
|
|
|
113
|
-
const address = deploy.getInstance(deployOpts).address;
|
|
114
|
-
if (await this.pxe.
|
|
114
|
+
const address = (await deploy.getInstance(deployOpts)).address;
|
|
115
|
+
if ((await this.pxe.getContractMetadata(address)).isContractPubliclyDeployed) {
|
|
115
116
|
this.log.info(`Token at ${address.toString()} already deployed`);
|
|
116
117
|
return deploy.register();
|
|
117
118
|
} else {
|
|
@@ -151,13 +152,13 @@ export class BotFactory {
|
|
|
151
152
|
const from = sender; // we are setting from to sender here because of TODO(#9887)
|
|
152
153
|
calls.push(
|
|
153
154
|
isStandardToken
|
|
154
|
-
? token.methods.mint_to_private(from, sender, MINT_BALANCE).request()
|
|
155
|
-
: token.methods.mint(MINT_BALANCE, sender).request(),
|
|
155
|
+
? await token.methods.mint_to_private(from, sender, MINT_BALANCE).request()
|
|
156
|
+
: await token.methods.mint(MINT_BALANCE, sender).request(),
|
|
156
157
|
);
|
|
157
158
|
}
|
|
158
159
|
if (isStandardToken && publicBalance < MIN_BALANCE) {
|
|
159
160
|
this.log.info(`Minting public tokens for ${sender.toString()}`);
|
|
160
|
-
calls.push(token.methods.mint_to_public(sender, MINT_BALANCE).request());
|
|
161
|
+
calls.push(await token.methods.mint_to_public(sender, MINT_BALANCE).request());
|
|
161
162
|
}
|
|
162
163
|
if (calls.length === 0) {
|
|
163
164
|
this.log.info(`Skipping minting as ${sender.toString()} has enough tokens`);
|
package/src/rpc.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type ApiHandler
|
|
1
|
+
import { type ApiHandler } from '@aztec/foundation/json-rpc/server';
|
|
2
|
+
import { createTracedJsonRpcServer } from '@aztec/telemetry-client';
|
|
2
3
|
|
|
3
4
|
import { BotRunnerApiSchema } from './interface.js';
|
|
4
5
|
import { type BotRunner } from './runner.js';
|
|
@@ -9,7 +10,7 @@ import { type BotRunner } from './runner.js';
|
|
|
9
10
|
* @returns An JSON-RPC HTTP server
|
|
10
11
|
*/
|
|
11
12
|
export function createBotRunnerRpcServer(botRunner: BotRunner) {
|
|
12
|
-
|
|
13
|
+
createTracedJsonRpcServer(botRunner, BotRunnerApiSchema, {
|
|
13
14
|
http200OnError: false,
|
|
14
15
|
healthCheck: botRunner.isHealthy.bind(botRunner),
|
|
15
16
|
});
|
package/src/runner.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type AztecNode, type PXE, createAztecNodeClient, createLogger } from '@aztec/aztec.js';
|
|
2
2
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
3
|
-
import { type TelemetryClient, type Traceable, type Tracer, trackSpan } from '@aztec/telemetry-client';
|
|
3
|
+
import { type TelemetryClient, type Traceable, type Tracer, makeTracedFetch, trackSpan } from '@aztec/telemetry-client';
|
|
4
4
|
|
|
5
5
|
import { Bot } from './bot.js';
|
|
6
6
|
import { type BotConfig } from './config.js';
|
|
@@ -26,19 +26,24 @@ export class BotRunner implements BotRunnerApi, Traceable {
|
|
|
26
26
|
if (!dependencies.node && !config.nodeUrl) {
|
|
27
27
|
throw new Error(`Missing node URL in config or dependencies`);
|
|
28
28
|
}
|
|
29
|
-
this.node = dependencies.node ?? createAztecNodeClient(config.nodeUrl
|
|
29
|
+
this.node = dependencies.node ?? createAztecNodeClient(config.nodeUrl!, makeTracedFetch([1, 2, 3], true));
|
|
30
30
|
this.runningPromise = new RunningPromise(() => this.#work(), this.log, config.txIntervalSeconds * 1000);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
/** Initializes the bot if needed. Blocks until the bot setup is finished. */
|
|
34
34
|
public async setup() {
|
|
35
35
|
if (!this.bot) {
|
|
36
|
-
this.
|
|
37
|
-
await this.#createBot();
|
|
38
|
-
this.log.info(`Bot set up completed`);
|
|
36
|
+
await this.doSetup();
|
|
39
37
|
}
|
|
40
38
|
}
|
|
41
39
|
|
|
40
|
+
@trackSpan('Bot.setup')
|
|
41
|
+
private async doSetup() {
|
|
42
|
+
this.log.verbose(`Setting up bot`);
|
|
43
|
+
await this.#createBot();
|
|
44
|
+
this.log.info(`Bot set up completed`);
|
|
45
|
+
}
|
|
46
|
+
|
|
42
47
|
/**
|
|
43
48
|
* Initializes the bot if needed and starts sending txs at regular intervals.
|
|
44
49
|
* Blocks until the bot setup is finished.
|