@aztec/bot 0.66.0 → 0.67.1-devnet
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 +2 -1
- package/dest/bot.d.ts.map +1 -1
- package/dest/bot.js +4 -4
- package/dest/config.js +6 -6
- package/dest/factory.d.ts +1 -1
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +6 -11
- package/dest/runner.d.ts +4 -1
- package/dest/runner.d.ts.map +1 -1
- package/dest/runner.js +153 -136
- package/dest/utils.d.ts +1 -1
- package/dest/utils.d.ts.map +1 -1
- package/package.json +17 -11
- package/src/bot.ts +5 -6
- package/src/config.ts +5 -5
- package/src/factory.ts +5 -16
- package/src/runner.ts +14 -6
- package/src/utils.ts +1 -1
package/dest/bot.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type AztecAddress, type Wallet } from '@aztec/aztec.js';
|
|
2
2
|
import { type AztecNode, type PXE } from '@aztec/circuit-types';
|
|
3
|
-
import { type EasyPrivateTokenContract
|
|
3
|
+
import { type EasyPrivateTokenContract } from '@aztec/noir-contracts.js/EasyPrivateToken';
|
|
4
|
+
import { type TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
4
5
|
import { type BotConfig } from './config.js';
|
|
5
6
|
export declare class Bot {
|
|
6
7
|
readonly wallet: Wallet;
|
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,KAAK,aAAa,EAAE,MAAM,
|
|
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;IA8DH,WAAW;;;;;;;;;;IAoBxB,OAAO,CAAC,iBAAiB;CAkB1B"}
|
package/dest/bot.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BatchCall, FeeJuicePaymentMethod, NoFeePaymentMethod,
|
|
1
|
+
import { BatchCall, FeeJuicePaymentMethod, NoFeePaymentMethod, createLogger, } from '@aztec/aztec.js';
|
|
2
2
|
import { Gas } from '@aztec/circuits.js';
|
|
3
3
|
import { times } from '@aztec/foundation/collection';
|
|
4
4
|
import { BotFactory } from './factory.js';
|
|
@@ -10,7 +10,7 @@ export class Bot {
|
|
|
10
10
|
this.token = token;
|
|
11
11
|
this.recipient = recipient;
|
|
12
12
|
this.config = config;
|
|
13
|
-
this.log =
|
|
13
|
+
this.log = createLogger('bot');
|
|
14
14
|
this.attempts = 0;
|
|
15
15
|
this.successes = 0;
|
|
16
16
|
}
|
|
@@ -35,7 +35,7 @@ export class Bot {
|
|
|
35
35
|
calls.push(...times(publicTransfersPerTx, () => token.methods.transfer_in_public(sender, recipient, TRANSFER_AMOUNT, 0).request()));
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
38
|
-
calls.push(...times(privateTransfersPerTx, () => token.methods.transfer(TRANSFER_AMOUNT, sender, recipient
|
|
38
|
+
calls.push(...times(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);
|
|
@@ -97,4 +97,4 @@ export class Bot {
|
|
|
97
97
|
return { fee: { estimateGas, paymentMethod, gasSettings }, skipPublicSimulation };
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2JvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULHFCQUFxQixFQUNyQixrQkFBa0IsRUFHbEIsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUtyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFckYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0FBRTFCLE1BQU0sT0FBTyxHQUFHO0lBTWQsWUFDa0IsTUFBYyxFQUNkLEtBQStDLEVBQy9DLFNBQXVCLEVBQ2hDLE1BQWlCO1FBSFIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQTBDO1FBQy9DLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQVRsQixRQUFHLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsY0FBUyxHQUFXLENBQUMsQ0FBQztJQU8zQixDQUFDO0lBRUosTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBaUIsRUFBRSxlQUFnRCxFQUFFO1FBQ3ZGLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hGLE9BQU8sSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUs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
|
package/dest/config.js
CHANGED
|
@@ -50,20 +50,20 @@ export const botConfigMappings = {
|
|
|
50
50
|
senderPrivateKey: {
|
|
51
51
|
env: 'BOT_PRIVATE_KEY',
|
|
52
52
|
description: 'Signing private key for the sender account.',
|
|
53
|
-
parseEnv: (val) => Fr.
|
|
53
|
+
parseEnv: (val) => Fr.fromHexString(val),
|
|
54
54
|
defaultValue: Fr.random(),
|
|
55
55
|
},
|
|
56
56
|
recipientEncryptionSecret: {
|
|
57
57
|
env: 'BOT_RECIPIENT_ENCRYPTION_SECRET',
|
|
58
58
|
description: 'Encryption secret for a recipient account.',
|
|
59
|
-
parseEnv: (val) => Fr.
|
|
60
|
-
defaultValue: Fr.
|
|
59
|
+
parseEnv: (val) => Fr.fromHexString(val),
|
|
60
|
+
defaultValue: Fr.fromHexString('0xcafecafe'),
|
|
61
61
|
},
|
|
62
62
|
tokenSalt: {
|
|
63
63
|
env: 'BOT_TOKEN_SALT',
|
|
64
64
|
description: 'Salt for the token contract deployment.',
|
|
65
|
-
parseEnv: (val) => Fr.
|
|
66
|
-
defaultValue: Fr.
|
|
65
|
+
parseEnv: (val) => Fr.fromHexString(val),
|
|
66
|
+
defaultValue: Fr.fromHexString('1'),
|
|
67
67
|
},
|
|
68
68
|
txIntervalSeconds: {
|
|
69
69
|
env: 'BOT_TX_INTERVAL_SECONDS',
|
|
@@ -160,4 +160,4 @@ export function getBotConfigFromEnv() {
|
|
|
160
160
|
export function getBotDefaultConfig() {
|
|
161
161
|
return getDefaultConfig(botConfigMappings);
|
|
162
162
|
}
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEMsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQiwwQkFBMEIsR0FDM0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQWUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFHOUQsTUFBTSxDQUFOLElBQVksdUJBR1g7QUFIRCxXQUFZLHVCQUF1QjtJQUNqQywwREFBK0IsQ0FBQTtJQUMvQixnRkFBcUQsQ0FBQTtBQUN2RCxDQUFDLEVBSFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUdsQztBQTZDRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQztLQUM3QixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixnQkFBZ0IsRUFBRSxPQUFPLENBQUMsRUFBRTtJQUM1Qix5QkFBeUIsRUFBRSxPQUFPLENBQUMsRUFBRTtJQUNyQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEVBQUU7SUFDckIsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUM3QixxQkFBcUIsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQ3BCLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDOUIsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ25DLGFBQWEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3pCLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbkMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtJQUNqQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQztJQUMvQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDL0IsQ0FBQztLQUNELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsTUFBTSxFQUFFLFNBQVM7SUFDakIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsR0FBRyxNQUFNO0NBQ1YsQ0FBQyxDQUE2QixDQUFDO0FBRWxDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFrQztJQUM5RCxPQUFPLEVBQUU7UUFDUCxHQUFHLEVBQUUsZ0JBQWdCO1FBQ3JCLFdBQVcsRUFBRSx3REFBd0Q7S0FDdEU7SUFDRCxNQUFNLEVBQUU7UUFDTixHQUFHLEVBQUUsYUFBYTtRQUNsQixXQUFXLEVBQUUseUVBQXlFO0tBQ3ZGO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsR0FBRyxFQUFFLGlCQUFpQjtRQUN0QixXQUFXLEVBQUUsNkNBQTZDO1FBQzFELFFBQVEsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7UUFDaEQsWUFBWSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUU7S0FDMUI7SUFDRCx5QkFBeUIsRUFBRTtRQUN6QixHQUFHLEVBQUUsaUNBQWlDO1FBQ3RDLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsUUFBUSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQztRQUNoRCxZQUFZLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7S0FDN0M7SUFDRCxTQUFTLEVBQUU7UUFDVCxHQUFHLEVBQUUsZ0JBQWdCO1FBQ3JCLFdBQVcsRUFBRSx5Q0FBeUM7UUFDdEQsUUFBUSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQztRQUNoRCxZQUFZLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7S0FDcEM7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixHQUFHLEVBQUUseUJBQXlCO1FBQzlCLFdBQVcsRUFBRSxpREFBaUQ7UUFDOUQsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7S0FDMUI7SUFDRCxxQkFBcUIsRUFBRTtRQUNyQixHQUFHLEVBQUUsOEJBQThCO1FBQ25DLFdBQVcsRUFBRSx1REFBdUQ7UUFDcEUsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7S0FDekI7SUFDRCxvQkFBb0IsRUFBRTtRQUNwQixHQUFHLEVBQUUsNkJBQTZCO1FBQ2xDLFdBQVcsRUFBRSxzREFBc0Q7UUFDbkUsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7S0FDekI7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixHQUFHLEVBQUUsd0JBQXdCO1FBQzdCLFdBQVcsRUFBRSx3REFBd0Q7UUFDckUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUUsR0FBNEIsSUFBSSxTQUFTO1FBQzNELFlBQVksRUFBRSxNQUFNO0tBQ3JCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsR0FBRyxFQUFFLGNBQWM7UUFDbkIsV0FBVyxFQUFFLHFFQUFxRTtRQUNsRixHQUFHLG1CQUFtQixFQUFFO0tBQ3pCO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsR0FBRyxFQUFFLDJCQUEyQjtRQUNoQyxXQUFXLEVBQUUsa0VBQWtFO1FBQy9FLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDO0tBQzNCO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsR0FBRyxFQUFFLGtCQUFrQjtRQUN2QixXQUFXLEVBQUUsNkJBQTZCO1FBQzFDLFlBQVksRUFBRSxNQUFNO1FBQ3BCLFFBQVEsQ0FBQyxHQUFHO1lBQ1YsSUFBSSxDQUFFLGNBQW9DLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZFLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDaEUsQ0FBQztZQUNELE9BQU8sR0FBcUIsQ0FBQztRQUMvQixDQUFDO0tBQ0Y7SUFDRCxhQUFhLEVBQUU7UUFDYixHQUFHLEVBQUUscUJBQXFCO1FBQzFCLFdBQVcsRUFBRSwyRUFBMkU7UUFDeEYsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUM7S0FDM0I7SUFDRCxzQkFBc0IsRUFBRTtRQUN0QixHQUFHLEVBQUUsOEJBQThCO1FBQ25DLFdBQVcsRUFBRSxpRkFBaUY7UUFDOUYsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7S0FDOUI7SUFDRCxvQkFBb0IsRUFBRTtRQUNwQixHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLFdBQVcsRUFBRSwrREFBK0Q7UUFDNUUsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7S0FDOUI7SUFDRCxVQUFVLEVBQUU7UUFDVixHQUFHLEVBQUUsa0JBQWtCO1FBQ3ZCLFdBQVcsRUFBRSwwRUFBMEU7UUFDdkYsR0FBRywwQkFBMEIsRUFBRTtLQUNoQztJQUNELFVBQVUsRUFBRTtRQUNWLEdBQUcsRUFBRSxrQkFBa0I7UUFDdkIsV0FBVyxFQUFFLDBFQUEwRTtRQUN2RixHQUFHLDBCQUEwQixFQUFFO0tBQ2hDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixXQUFXLEVBQUUsdUJBQXVCO1FBQ3BDLFlBQVksRUFBRSx1QkFBdUIsQ0FBQyxhQUFhO1FBQ25ELFFBQVEsQ0FBQyxHQUFHO1lBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBVSxDQUFDLEVBQUUsQ0FBQztnQkFDakUsTUFBTSxJQUFJLEtBQUssQ0FDYix5Q0FBeUMsR0FBRyxtQkFBbUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLElBQUksQ0FDeEcsSUFBSSxDQUNMLEVBQUUsQ0FDSixDQUFDO1lBQ0osQ0FBQztZQUNELE9BQU8sR0FBOEIsQ0FBQztRQUN4QyxDQUFDO0tBQ0Y7SUFDRCxvQkFBb0IsRUFBRTtRQUNwQixHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLFdBQVcsRUFBRSxvRUFBb0U7UUFDakYsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7S0FDekI7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixHQUFHLEVBQUUseUJBQXlCO1FBQzlCLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7S0FDOUI7Q0FDRixDQUFDO0FBRUYsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPLHFCQUFxQixDQUFZLGlCQUFpQixDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsT0FBTyxnQkFBZ0IsQ0FBWSxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3hELENBQUMifQ==
|
package/dest/factory.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AztecNode, type PXE } from '@aztec/circuit-types';
|
|
2
|
-
import { EasyPrivateTokenContract } from '@aztec/noir-contracts.js';
|
|
2
|
+
import { EasyPrivateTokenContract } from '@aztec/noir-contracts.js/EasyPrivateToken';
|
|
3
3
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
4
4
|
import { type BotConfig } from './config.js';
|
|
5
5
|
export declare class BotFactory {
|
package/dest/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"
|
|
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;AAE/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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getSchnorrAccount } from '@aztec/accounts/schnorr';
|
|
2
|
-
import { BatchCall,
|
|
2
|
+
import { BatchCall, createLogger, createPXEClient, } from '@aztec/aztec.js';
|
|
3
3
|
import { Fr, deriveSigningKey } from '@aztec/circuits.js';
|
|
4
|
-
import { EasyPrivateTokenContract } from '@aztec/noir-contracts.js';
|
|
4
|
+
import { EasyPrivateTokenContract } from '@aztec/noir-contracts.js/EasyPrivateToken';
|
|
5
5
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
6
6
|
import { SupportedTokenContracts } from './config.js';
|
|
7
7
|
import { getBalances, getPrivateBalance, isStandardTokenContract } from './utils.js';
|
|
@@ -10,7 +10,7 @@ const MIN_BALANCE = 1e3;
|
|
|
10
10
|
export class BotFactory {
|
|
11
11
|
constructor(config, dependencies = {}) {
|
|
12
12
|
this.config = config;
|
|
13
|
-
this.log =
|
|
13
|
+
this.log = createLogger('bot');
|
|
14
14
|
if (config.flushSetupTransactions && !dependencies.node) {
|
|
15
15
|
throw new Error(`Either a node client or node url must be provided if transaction flushing is requested`);
|
|
16
16
|
}
|
|
@@ -49,11 +49,6 @@ export class BotFactory {
|
|
|
49
49
|
if (isInit) {
|
|
50
50
|
this.log.info(`Account at ${account.getAddress().toString()} already initialized`);
|
|
51
51
|
const wallet = await account.register();
|
|
52
|
-
const blockNumber = await this.pxe.getBlockNumber();
|
|
53
|
-
await retryUntil(async () => {
|
|
54
|
-
const status = await this.pxe.getSyncStatus();
|
|
55
|
-
return blockNumber <= status.blocks;
|
|
56
|
-
}, 'pxe synch', 3600, 1);
|
|
57
52
|
return wallet;
|
|
58
53
|
}
|
|
59
54
|
else {
|
|
@@ -89,7 +84,7 @@ export class BotFactory {
|
|
|
89
84
|
deploy = TokenContract.deploy(wallet, wallet.getAddress(), 'BotToken', 'BOT', 18);
|
|
90
85
|
}
|
|
91
86
|
else if (this.config.contract === SupportedTokenContracts.EasyPrivateTokenContract) {
|
|
92
|
-
deploy = EasyPrivateTokenContract.deploy(wallet, MINT_BALANCE, wallet.getAddress()
|
|
87
|
+
deploy = EasyPrivateTokenContract.deploy(wallet, MINT_BALANCE, wallet.getAddress());
|
|
93
88
|
deployOpts.skipPublicDeployment = true;
|
|
94
89
|
deployOpts.skipClassRegistration = true;
|
|
95
90
|
deployOpts.skipInitialization = false;
|
|
@@ -137,7 +132,7 @@ export class BotFactory {
|
|
|
137
132
|
const from = sender; // we are setting from to sender here because of TODO(#9887)
|
|
138
133
|
calls.push(isStandardToken
|
|
139
134
|
? token.methods.mint_to_private(from, sender, MINT_BALANCE).request()
|
|
140
|
-
: token.methods.mint(MINT_BALANCE, sender
|
|
135
|
+
: token.methods.mint(MINT_BALANCE, sender).request());
|
|
141
136
|
}
|
|
142
137
|
if (isStandardToken && publicBalance < MIN_BALANCE) {
|
|
143
138
|
this.log.info(`Minting public tokens for ${sender.toString()}`);
|
|
@@ -158,4 +153,4 @@ export class BotFactory {
|
|
|
158
153
|
await sentTx.wait({ timeout: this.config.txMinedWaitSeconds });
|
|
159
154
|
}
|
|
160
155
|
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFFTCxTQUFTLEVBR1QsWUFBWSxFQUNaLGVBQWUsR0FDaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRS9ELE9BQU8sRUFBa0IsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVyRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUM7QUFDMUIsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDO0FBRXhCLE1BQU0sT0FBTyxVQUFVO0lBS3JCLFlBQTZCLE1BQWlCLEVBQUUsZUFBZ0QsRUFBRTtRQUFyRSxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBRnRDLFFBQUcsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFHaEMsSUFBSSxNQUFNLENBQUMsc0JBQXNCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQyx3RkFBd0YsQ0FBQyxDQUFDO1FBQzVHLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUVELElBQUksQ0FBQyxJ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
|
package/dest/runner.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type AztecNode, type PXE } from '@aztec/aztec.js';
|
|
2
|
+
import { type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
|
|
2
3
|
import { type BotConfig } from './config.js';
|
|
3
4
|
import { type BotRunnerApi } from './interface.js';
|
|
4
|
-
export declare class BotRunner implements BotRunnerApi {
|
|
5
|
+
export declare class BotRunner implements BotRunnerApi, Traceable {
|
|
5
6
|
#private;
|
|
6
7
|
private config;
|
|
7
8
|
private log;
|
|
@@ -11,9 +12,11 @@ export declare class BotRunner implements BotRunnerApi {
|
|
|
11
12
|
private runningPromise;
|
|
12
13
|
private consecutiveErrors;
|
|
13
14
|
private healthy;
|
|
15
|
+
readonly tracer: Tracer;
|
|
14
16
|
constructor(config: BotConfig, dependencies: {
|
|
15
17
|
pxe?: PXE;
|
|
16
18
|
node?: AztecNode;
|
|
19
|
+
telemetry: TelemetryClient;
|
|
17
20
|
});
|
|
18
21
|
/** Initializes the bot if needed. Blocks until the bot setup is finished. */
|
|
19
22
|
setup(): Promise<void>;
|
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,
|
|
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,EAAa,MAAM,yBAAyB,CAAC;AAGvG,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;IAQlB;;;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,138 +1,155 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import { createAztecNodeClient, createDebugLogger } from '@aztec/aztec.js';
|
|
1
|
+
import { __classPrivateFieldGet, __classPrivateFieldIn, __esDecorate, __runInitializers, __setFunctionName } from "tslib";
|
|
2
|
+
import { createAztecNodeClient, createLogger } from '@aztec/aztec.js';
|
|
4
3
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
4
|
+
import { trackSpan } from '@aztec/telemetry-client';
|
|
5
5
|
import { Bot } from './bot.js';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
138
|
-
|
|
6
|
+
let BotRunner = (() => {
|
|
7
|
+
var _BotRunner_instances, _a, _BotRunner_createBot, _BotRunner_work_get;
|
|
8
|
+
let _instanceExtraInitializers = [];
|
|
9
|
+
let _private_work_decorators;
|
|
10
|
+
let _private_work_descriptor;
|
|
11
|
+
return _a = class BotRunner {
|
|
12
|
+
constructor(config, dependencies) {
|
|
13
|
+
_BotRunner_instances.add(this);
|
|
14
|
+
this.config = (__runInitializers(this, _instanceExtraInitializers), config);
|
|
15
|
+
this.log = createLogger('bot');
|
|
16
|
+
this.consecutiveErrors = 0;
|
|
17
|
+
this.healthy = true;
|
|
18
|
+
this.tracer = dependencies.telemetry.getTracer('Bot');
|
|
19
|
+
this.pxe = dependencies.pxe;
|
|
20
|
+
if (!dependencies.node && !config.nodeUrl) {
|
|
21
|
+
throw new Error(`Missing node URL in config or dependencies`);
|
|
22
|
+
}
|
|
23
|
+
this.node = dependencies.node ?? createAztecNodeClient(config.nodeUrl);
|
|
24
|
+
this.runningPromise = new RunningPromise(() => __classPrivateFieldGet(this, _BotRunner_instances, "a", _BotRunner_work_get).call(this), this.log, config.txIntervalSeconds * 1000);
|
|
25
|
+
}
|
|
26
|
+
/** Initializes the bot if needed. Blocks until the bot setup is finished. */
|
|
27
|
+
async setup() {
|
|
28
|
+
if (!this.bot) {
|
|
29
|
+
this.log.verbose(`Setting up bot`);
|
|
30
|
+
await __classPrivateFieldGet(this, _BotRunner_instances, "m", _BotRunner_createBot).call(this);
|
|
31
|
+
this.log.info(`Bot set up completed`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Initializes the bot if needed and starts sending txs at regular intervals.
|
|
36
|
+
* Blocks until the bot setup is finished.
|
|
37
|
+
*/
|
|
38
|
+
async start() {
|
|
39
|
+
await this.setup();
|
|
40
|
+
if (!this.runningPromise.isRunning()) {
|
|
41
|
+
this.log.info(`Starting bot with interval of ${this.config.txIntervalSeconds}s`);
|
|
42
|
+
this.runningPromise.start();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Stops sending txs. Returns once all ongoing txs are finished.
|
|
47
|
+
*/
|
|
48
|
+
async stop() {
|
|
49
|
+
if (this.runningPromise.isRunning()) {
|
|
50
|
+
this.log.verbose(`Stopping bot`);
|
|
51
|
+
await this.runningPromise.stop();
|
|
52
|
+
}
|
|
53
|
+
this.log.info(`Stopped bot`);
|
|
54
|
+
}
|
|
55
|
+
isHealthy() {
|
|
56
|
+
return this.runningPromise.isRunning() && this.healthy;
|
|
57
|
+
}
|
|
58
|
+
/** Returns whether the bot is running. */
|
|
59
|
+
isRunning() {
|
|
60
|
+
return this.runningPromise.isRunning();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Updates the bot config and recreates the bot. Will stop and restart the bot automatically if it was
|
|
64
|
+
* running when this method was called. Blocks until the new bot is set up.
|
|
65
|
+
*/
|
|
66
|
+
async update(config) {
|
|
67
|
+
this.log.verbose(`Updating bot config`);
|
|
68
|
+
const wasRunning = this.isRunning();
|
|
69
|
+
if (wasRunning) {
|
|
70
|
+
await this.stop();
|
|
71
|
+
}
|
|
72
|
+
this.config = { ...this.config, ...config };
|
|
73
|
+
this.runningPromise.setPollingIntervalMS(this.config.txIntervalSeconds * 1000);
|
|
74
|
+
await __classPrivateFieldGet(this, _BotRunner_instances, "m", _BotRunner_createBot).call(this);
|
|
75
|
+
this.log.info(`Bot config updated`);
|
|
76
|
+
if (wasRunning) {
|
|
77
|
+
await this.start();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Triggers a single iteration of the bot. Requires the bot to be initialized.
|
|
82
|
+
* Blocks until the run is finished.
|
|
83
|
+
*/
|
|
84
|
+
async run() {
|
|
85
|
+
if (!this.bot) {
|
|
86
|
+
this.log.error(`Trying to run with uninitialized bot`);
|
|
87
|
+
throw new Error(`Bot is not initialized`);
|
|
88
|
+
}
|
|
89
|
+
let bot;
|
|
90
|
+
try {
|
|
91
|
+
bot = await this.bot;
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
this.log.error(`Error awaiting bot set up: ${err}`);
|
|
95
|
+
throw err;
|
|
96
|
+
}
|
|
97
|
+
try {
|
|
98
|
+
await bot.run();
|
|
99
|
+
this.consecutiveErrors = 0;
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
this.consecutiveErrors += 1;
|
|
103
|
+
this.log.error(`Error running bot consecutiveCount=${this.consecutiveErrors}: ${err}`);
|
|
104
|
+
throw err;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** Returns the current configuration for the bot. */
|
|
108
|
+
getConfig() {
|
|
109
|
+
return Promise.resolve(this.config);
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
_BotRunner_instances = new WeakSet(),
|
|
113
|
+
_BotRunner_createBot = async function _BotRunner_createBot() {
|
|
114
|
+
try {
|
|
115
|
+
this.bot = Bot.create(this.config, { pxe: this.pxe, node: this.node });
|
|
116
|
+
await this.bot;
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
this.log.error(`Error setting up bot: ${err}`);
|
|
120
|
+
throw err;
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
_BotRunner_work_get = function _BotRunner_work_get() { return _private_work_descriptor.value; },
|
|
124
|
+
(() => {
|
|
125
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
126
|
+
_private_work_decorators = [trackSpan('Bot.work')];
|
|
127
|
+
__esDecorate(_a, _private_work_descriptor = { value: __setFunctionName(async function () {
|
|
128
|
+
if (this.config.maxPendingTxs > 0) {
|
|
129
|
+
const pendingTxs = await this.node.getPendingTxs();
|
|
130
|
+
if (pendingTxs.length >= this.config.maxPendingTxs) {
|
|
131
|
+
this.log.verbose(`Not sending bot tx since node has ${pendingTxs.length} pending txs`);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
try {
|
|
136
|
+
await this.run();
|
|
137
|
+
}
|
|
138
|
+
catch (err) {
|
|
139
|
+
// Already logged in run()
|
|
140
|
+
if (this.config.maxConsecutiveErrors > 0 && this.consecutiveErrors >= this.config.maxConsecutiveErrors) {
|
|
141
|
+
this.log.error(`Too many errors bot is unhealthy`);
|
|
142
|
+
this.healthy = false;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (!this.healthy && this.config.stopWhenUnhealthy) {
|
|
146
|
+
this.log.fatal(`Stopping bot due to errors`);
|
|
147
|
+
process.exit(1); // workaround docker not restarting the container if its unhealthy. We have to exit instead
|
|
148
|
+
}
|
|
149
|
+
}, "#work") }, _private_work_decorators, { kind: "method", name: "#work", static: false, private: true, access: { has: obj => __classPrivateFieldIn(_BotRunner_instances, obj), get: obj => __classPrivateFieldGet(obj, _BotRunner_instances, "a", _BotRunner_work_get) }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
150
|
+
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
151
|
+
})(),
|
|
152
|
+
_a;
|
|
153
|
+
})();
|
|
154
|
+
export { BotRunner };
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3J1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUE0QixxQkFBcUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFxRCxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sVUFBVSxDQUFDO0lBSWxCLFNBQVM7Ozs7O3NCQUFULFNBQVM7WUFXcEIsWUFDVSxNQUFpQixFQUN6QixZQUF5RTs7Z0JBRGpFLFdBQU0sSUFaTCxtREFBUyxFQVlWLE1BQU0sRUFBVztnQkFYbkIsUUFBRyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFLMUIsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QixZQUFPLEdBQUcsSUFBSSxDQUFDO2dCQVFyQixJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7Z0JBQ2hFLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxJQUFJLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUMsQ0FBQztnQkFDeEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBQSxJQUFJLGlEQUFNLE1BQVYsSUFBSSxDQUFRLEVBQUUsSUFB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
|
package/dest/utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AztecAddress } from '@aztec/circuits.js';
|
|
2
|
-
import { type EasyPrivateTokenContract } from '@aztec/noir-contracts.js';
|
|
2
|
+
import { type EasyPrivateTokenContract } from '@aztec/noir-contracts.js/EasyPrivateToken';
|
|
3
3
|
import { type TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
4
4
|
/**
|
|
5
5
|
* Gets the private and public balance of the given token for the given address.
|
package/dest/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAI5D;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,wBAAwB,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAG3G;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,wBAAwB,GAAG,KAAK,IAAI,aAAa,CAE/G"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/bot",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.67.1-devnet",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
|
-
".": "./dest/index.js"
|
|
6
|
+
".": "./dest/index.js",
|
|
7
|
+
"./config": "./dest/config.js"
|
|
7
8
|
},
|
|
8
9
|
"inherits": [
|
|
9
10
|
"../package.common.json"
|
|
@@ -49,18 +50,23 @@
|
|
|
49
50
|
"summaryThreshold": 9999
|
|
50
51
|
}
|
|
51
52
|
]
|
|
53
|
+
],
|
|
54
|
+
"testTimeout": 30000,
|
|
55
|
+
"setupFiles": [
|
|
56
|
+
"../../foundation/src/jest/setup.mjs"
|
|
52
57
|
]
|
|
53
58
|
},
|
|
54
59
|
"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/
|
|
60
|
+
"@aztec/accounts": "0.67.1-devnet",
|
|
61
|
+
"@aztec/aztec.js": "0.67.1-devnet",
|
|
62
|
+
"@aztec/circuit-types": "0.67.1-devnet",
|
|
63
|
+
"@aztec/circuits.js": "0.67.1-devnet",
|
|
64
|
+
"@aztec/entrypoints": "0.67.1-devnet",
|
|
65
|
+
"@aztec/foundation": "0.67.1-devnet",
|
|
66
|
+
"@aztec/noir-contracts.js": "0.67.1-devnet",
|
|
67
|
+
"@aztec/protocol-contracts": "0.67.1-devnet",
|
|
68
|
+
"@aztec/telemetry-client": "0.67.1-devnet",
|
|
69
|
+
"@aztec/types": "0.67.1-devnet",
|
|
64
70
|
"source-map-support": "^0.5.21",
|
|
65
71
|
"tslib": "^2.4.0",
|
|
66
72
|
"zod": "^3.23.8"
|
package/src/bot.ts
CHANGED
|
@@ -5,12 +5,13 @@ import {
|
|
|
5
5
|
NoFeePaymentMethod,
|
|
6
6
|
type SendMethodOptions,
|
|
7
7
|
type Wallet,
|
|
8
|
-
|
|
8
|
+
createLogger,
|
|
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
12
|
import { times } from '@aztec/foundation/collection';
|
|
13
|
-
import { type EasyPrivateTokenContract
|
|
13
|
+
import { type EasyPrivateTokenContract } from '@aztec/noir-contracts.js/EasyPrivateToken';
|
|
14
|
+
import { type TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
14
15
|
|
|
15
16
|
import { type BotConfig } from './config.js';
|
|
16
17
|
import { BotFactory } from './factory.js';
|
|
@@ -19,7 +20,7 @@ import { getBalances, getPrivateBalance, isStandardTokenContract } from './utils
|
|
|
19
20
|
const TRANSFER_AMOUNT = 1;
|
|
20
21
|
|
|
21
22
|
export class Bot {
|
|
22
|
-
private log =
|
|
23
|
+
private log = createLogger('bot');
|
|
23
24
|
|
|
24
25
|
private attempts: number = 0;
|
|
25
26
|
private successes: number = 0;
|
|
@@ -64,9 +65,7 @@ export class Bot {
|
|
|
64
65
|
);
|
|
65
66
|
} else {
|
|
66
67
|
calls.push(
|
|
67
|
-
...times(privateTransfersPerTx, () =>
|
|
68
|
-
token.methods.transfer(TRANSFER_AMOUNT, sender, recipient, sender).request(),
|
|
69
|
-
),
|
|
68
|
+
...times(privateTransfersPerTx, () => token.methods.transfer(TRANSFER_AMOUNT, sender, recipient).request()),
|
|
70
69
|
);
|
|
71
70
|
}
|
|
72
71
|
|
package/src/config.ts
CHANGED
|
@@ -105,20 +105,20 @@ export const botConfigMappings: ConfigMappingsType<BotConfig> = {
|
|
|
105
105
|
senderPrivateKey: {
|
|
106
106
|
env: 'BOT_PRIVATE_KEY',
|
|
107
107
|
description: 'Signing private key for the sender account.',
|
|
108
|
-
parseEnv: (val: string) => Fr.
|
|
108
|
+
parseEnv: (val: string) => Fr.fromHexString(val),
|
|
109
109
|
defaultValue: Fr.random(),
|
|
110
110
|
},
|
|
111
111
|
recipientEncryptionSecret: {
|
|
112
112
|
env: 'BOT_RECIPIENT_ENCRYPTION_SECRET',
|
|
113
113
|
description: 'Encryption secret for a recipient account.',
|
|
114
|
-
parseEnv: (val: string) => Fr.
|
|
115
|
-
defaultValue: Fr.
|
|
114
|
+
parseEnv: (val: string) => Fr.fromHexString(val),
|
|
115
|
+
defaultValue: Fr.fromHexString('0xcafecafe'),
|
|
116
116
|
},
|
|
117
117
|
tokenSalt: {
|
|
118
118
|
env: 'BOT_TOKEN_SALT',
|
|
119
119
|
description: 'Salt for the token contract deployment.',
|
|
120
|
-
parseEnv: (val: string) => Fr.
|
|
121
|
-
defaultValue: Fr.
|
|
120
|
+
parseEnv: (val: string) => Fr.fromHexString(val),
|
|
121
|
+
defaultValue: Fr.fromHexString('1'),
|
|
122
122
|
},
|
|
123
123
|
txIntervalSeconds: {
|
|
124
124
|
env: 'BOT_TX_INTERVAL_SECONDS',
|
package/src/factory.ts
CHANGED
|
@@ -4,13 +4,12 @@ import {
|
|
|
4
4
|
BatchCall,
|
|
5
5
|
type DeployMethod,
|
|
6
6
|
type DeployOptions,
|
|
7
|
-
|
|
7
|
+
createLogger,
|
|
8
8
|
createPXEClient,
|
|
9
|
-
retryUntil,
|
|
10
9
|
} from '@aztec/aztec.js';
|
|
11
10
|
import { type AztecNode, type FunctionCall, type PXE } from '@aztec/circuit-types';
|
|
12
11
|
import { Fr, deriveSigningKey } from '@aztec/circuits.js';
|
|
13
|
-
import { EasyPrivateTokenContract } from '@aztec/noir-contracts.js';
|
|
12
|
+
import { EasyPrivateTokenContract } from '@aztec/noir-contracts.js/EasyPrivateToken';
|
|
14
13
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
15
14
|
|
|
16
15
|
import { type BotConfig, SupportedTokenContracts } from './config.js';
|
|
@@ -22,7 +21,7 @@ const MIN_BALANCE = 1e3;
|
|
|
22
21
|
export class BotFactory {
|
|
23
22
|
private pxe: PXE;
|
|
24
23
|
private node?: AztecNode;
|
|
25
|
-
private log =
|
|
24
|
+
private log = createLogger('bot');
|
|
26
25
|
|
|
27
26
|
constructor(private readonly config: BotConfig, dependencies: { pxe?: PXE; node?: AztecNode } = {}) {
|
|
28
27
|
if (config.flushSetupTransactions && !dependencies.node) {
|
|
@@ -67,16 +66,6 @@ export class BotFactory {
|
|
|
67
66
|
if (isInit) {
|
|
68
67
|
this.log.info(`Account at ${account.getAddress().toString()} already initialized`);
|
|
69
68
|
const wallet = await account.register();
|
|
70
|
-
const blockNumber = await this.pxe.getBlockNumber();
|
|
71
|
-
await retryUntil(
|
|
72
|
-
async () => {
|
|
73
|
-
const status = await this.pxe.getSyncStatus();
|
|
74
|
-
return blockNumber <= status.blocks;
|
|
75
|
-
},
|
|
76
|
-
'pxe synch',
|
|
77
|
-
3600,
|
|
78
|
-
1,
|
|
79
|
-
);
|
|
80
69
|
return wallet;
|
|
81
70
|
} else {
|
|
82
71
|
this.log.info(`Initializing account at ${account.getAddress().toString()}`);
|
|
@@ -112,7 +101,7 @@ export class BotFactory {
|
|
|
112
101
|
if (this.config.contract === SupportedTokenContracts.TokenContract) {
|
|
113
102
|
deploy = TokenContract.deploy(wallet, wallet.getAddress(), 'BotToken', 'BOT', 18);
|
|
114
103
|
} else if (this.config.contract === SupportedTokenContracts.EasyPrivateTokenContract) {
|
|
115
|
-
deploy = EasyPrivateTokenContract.deploy(wallet, MINT_BALANCE, wallet.getAddress()
|
|
104
|
+
deploy = EasyPrivateTokenContract.deploy(wallet, MINT_BALANCE, wallet.getAddress());
|
|
116
105
|
deployOpts.skipPublicDeployment = true;
|
|
117
106
|
deployOpts.skipClassRegistration = true;
|
|
118
107
|
deployOpts.skipInitialization = false;
|
|
@@ -163,7 +152,7 @@ export class BotFactory {
|
|
|
163
152
|
calls.push(
|
|
164
153
|
isStandardToken
|
|
165
154
|
? token.methods.mint_to_private(from, sender, MINT_BALANCE).request()
|
|
166
|
-
: token.methods.mint(MINT_BALANCE, sender
|
|
155
|
+
: token.methods.mint(MINT_BALANCE, sender).request(),
|
|
167
156
|
);
|
|
168
157
|
}
|
|
169
158
|
if (isStandardToken && publicBalance < MIN_BALANCE) {
|
package/src/runner.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { type AztecNode, type PXE, createAztecNodeClient,
|
|
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
4
|
|
|
4
5
|
import { Bot } from './bot.js';
|
|
5
6
|
import { type BotConfig } from './config.js';
|
|
6
7
|
import { type BotRunnerApi } from './interface.js';
|
|
7
8
|
|
|
8
|
-
export class BotRunner implements BotRunnerApi {
|
|
9
|
-
private log =
|
|
9
|
+
export class BotRunner implements BotRunnerApi, Traceable {
|
|
10
|
+
private log = createLogger('bot');
|
|
10
11
|
private bot?: Promise<Bot>;
|
|
11
12
|
private pxe?: PXE;
|
|
12
13
|
private node: AztecNode;
|
|
@@ -14,13 +15,19 @@ export class BotRunner implements BotRunnerApi {
|
|
|
14
15
|
private consecutiveErrors = 0;
|
|
15
16
|
private healthy = true;
|
|
16
17
|
|
|
17
|
-
public
|
|
18
|
+
public readonly tracer: Tracer;
|
|
19
|
+
|
|
20
|
+
public constructor(
|
|
21
|
+
private config: BotConfig,
|
|
22
|
+
dependencies: { pxe?: PXE; node?: AztecNode; telemetry: TelemetryClient },
|
|
23
|
+
) {
|
|
24
|
+
this.tracer = dependencies.telemetry.getTracer('Bot');
|
|
18
25
|
this.pxe = dependencies.pxe;
|
|
19
26
|
if (!dependencies.node && !config.nodeUrl) {
|
|
20
27
|
throw new Error(`Missing node URL in config or dependencies`);
|
|
21
28
|
}
|
|
22
29
|
this.node = dependencies.node ?? createAztecNodeClient(config.nodeUrl!);
|
|
23
|
-
this.runningPromise = new RunningPromise(() => this.#work(), config.txIntervalSeconds * 1000);
|
|
30
|
+
this.runningPromise = new RunningPromise(() => this.#work(), this.log, config.txIntervalSeconds * 1000);
|
|
24
31
|
}
|
|
25
32
|
|
|
26
33
|
/** Initializes the bot if needed. Blocks until the bot setup is finished. */
|
|
@@ -126,6 +133,7 @@ export class BotRunner implements BotRunnerApi {
|
|
|
126
133
|
}
|
|
127
134
|
}
|
|
128
135
|
|
|
136
|
+
@trackSpan('Bot.work')
|
|
129
137
|
async #work() {
|
|
130
138
|
if (this.config.maxPendingTxs > 0) {
|
|
131
139
|
const pendingTxs = await this.node.getPendingTxs();
|
|
@@ -146,7 +154,7 @@ export class BotRunner implements BotRunnerApi {
|
|
|
146
154
|
}
|
|
147
155
|
|
|
148
156
|
if (!this.healthy && this.config.stopWhenUnhealthy) {
|
|
149
|
-
this.log.
|
|
157
|
+
this.log.fatal(`Stopping bot due to errors`);
|
|
150
158
|
process.exit(1); // workaround docker not restarting the container if its unhealthy. We have to exit instead
|
|
151
159
|
}
|
|
152
160
|
}
|
package/src/utils.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AztecAddress } from '@aztec/circuits.js';
|
|
2
|
-
import { type EasyPrivateTokenContract } from '@aztec/noir-contracts.js';
|
|
2
|
+
import { type EasyPrivateTokenContract } from '@aztec/noir-contracts.js/EasyPrivateToken';
|
|
3
3
|
import { type TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
4
4
|
|
|
5
5
|
/**
|