@aztec/bot 0.0.1-commit.fcb71a6 → 0.0.1-commit.ff7989d6c
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/amm_bot.d.ts +6 -7
- package/dest/amm_bot.d.ts.map +1 -1
- package/dest/amm_bot.js +5 -1
- package/dest/base_bot.d.ts +6 -6
- package/dest/base_bot.d.ts.map +1 -1
- package/dest/base_bot.js +14 -15
- package/dest/bot.d.ts +6 -6
- package/dest/bot.d.ts.map +1 -1
- package/dest/bot.js +7 -4
- package/dest/config.d.ts +37 -21
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +39 -11
- package/dest/cross_chain_bot.d.ts +54 -0
- package/dest/cross_chain_bot.d.ts.map +1 -0
- package/dest/cross_chain_bot.js +140 -0
- package/dest/factory.d.ts +20 -10
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +162 -71
- package/dest/index.d.ts +2 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -0
- package/dest/l1_to_l2_seeding.d.ts +8 -0
- package/dest/l1_to_l2_seeding.d.ts.map +1 -0
- package/dest/l1_to_l2_seeding.js +63 -0
- package/dest/runner.d.ts +3 -3
- package/dest/runner.d.ts.map +1 -1
- package/dest/runner.js +429 -31
- package/dest/store/bot_store.d.ts +31 -6
- package/dest/store/bot_store.d.ts.map +1 -1
- package/dest/store/bot_store.js +37 -6
- package/dest/store/index.d.ts +2 -2
- package/dest/store/index.d.ts.map +1 -1
- package/package.json +17 -14
- package/src/amm_bot.ts +7 -7
- package/src/base_bot.ts +13 -27
- package/src/bot.ts +9 -8
- package/src/config.ts +44 -15
- package/src/cross_chain_bot.ts +209 -0
- package/src/factory.ts +170 -56
- package/src/index.ts +1 -0
- package/src/l1_to_l2_seeding.ts +79 -0
- package/src/runner.ts +18 -5
- package/src/store/bot_store.ts +60 -5
- package/src/store/index.ts +1 -1
package/dest/amm_bot.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
|
-
import {
|
|
3
|
-
import { TxReceipt } from '@aztec/aztec.js/tx';
|
|
2
|
+
import { TxHash, TxReceipt } from '@aztec/aztec.js/tx';
|
|
4
3
|
import type { AMMContract } from '@aztec/noir-contracts.js/AMM';
|
|
5
4
|
import type { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
6
5
|
import type { AztecNode, AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
7
|
-
import type {
|
|
6
|
+
import type { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
8
7
|
import { BaseBot } from './base_bot.js';
|
|
9
8
|
import type { BotConfig } from './config.js';
|
|
10
9
|
import type { BotStore } from './store/index.js';
|
|
@@ -16,9 +15,9 @@ export declare class AmmBot extends BaseBot {
|
|
|
16
15
|
readonly amm: AMMContract;
|
|
17
16
|
readonly token0: TokenContract;
|
|
18
17
|
readonly token1: TokenContract;
|
|
19
|
-
protected constructor(node: AztecNode, wallet:
|
|
20
|
-
static create(config: BotConfig, wallet:
|
|
21
|
-
protected createAndSendTx(logCtx: object): Promise<
|
|
18
|
+
protected constructor(node: AztecNode, wallet: EmbeddedWallet, defaultAccountAddress: AztecAddress, amm: AMMContract, token0: TokenContract, token1: TokenContract, config: BotConfig);
|
|
19
|
+
static create(config: BotConfig, wallet: EmbeddedWallet, aztecNode: AztecNode, aztecNodeAdmin: AztecNodeAdmin | undefined, store: BotStore): Promise<AmmBot>;
|
|
20
|
+
protected createAndSendTx(logCtx: object): Promise<TxHash>;
|
|
22
21
|
protected onTxMined(receipt: TxReceipt, logCtx: object): Promise<void>;
|
|
23
22
|
getAmmBalances(): Promise<Balances>;
|
|
24
23
|
getBalances(): Promise<{
|
|
@@ -30,4 +29,4 @@ export declare class AmmBot extends BaseBot {
|
|
|
30
29
|
private getPrivateBalanceFor;
|
|
31
30
|
}
|
|
32
31
|
export {};
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1tX2JvdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FtbV9ib3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBS2pELEtBQUssUUFBUSxHQUFHO0lBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUFDLE1BQU0sRUFBRSxNQUFNLENBQUE7Q0FBRSxDQUFDO0FBRW5ELHFCQUFhLE1BQU8sU0FBUSxPQUFPO2FBS2YsR0FBRyxFQUFFLFdBQVc7YUFDaEIsTUFBTSxFQUFFLGFBQWE7YUFDckIsTUFBTSxFQUFFLGFBQWE7SUFOdkMsU0FBUyxhQUNQLElBQUksRUFBRSxTQUFTLEVBQ2YsTUFBTSxFQUFFLGNBQWMsRUFDdEIscUJBQXFCLEVBQUUsWUFBWSxFQUNuQixHQUFHLEVBQUUsV0FBVyxFQUNoQixNQUFNLEVBQUUsYUFBYSxFQUNyQixNQUFNLEVBQUUsYUFBYSxFQUNyQyxNQUFNLEVBQUUsU0FBUyxFQUdsQjtJQUVELE9BQWEsTUFBTSxDQUNqQixNQUFNLEVBQUUsU0FBUyxFQUNqQixNQUFNLEVBQUUsY0FBYyxFQUN0QixTQUFTLEVBQUUsU0FBUyxFQUNwQixjQUFjLEVBQUUsY0FBYyxHQUFHLFNBQVMsRUFDMUMsS0FBSyxFQUFFLFFBQVEsR0FDZCxPQUFPLENBQUMsTUFBTSxDQUFDLENBU2pCO0lBRUQsVUFBZ0IsZUFBZSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQTBDL0Q7SUFFRCxVQUF5QixTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHcEY7SUFFTSxjQUFjLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUV6QztJQUVZLFdBQVcsSUFBSSxPQUFPLENBQUM7UUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO1FBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQztRQUFDLEdBQUcsRUFBRSxRQUFRLENBQUE7S0FBRSxDQUFDLENBTXRHO1lBRWEsbUJBQW1CO1lBTW5CLG9CQUFvQjtDQU1uQyJ9
|
package/dest/amm_bot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amm_bot.d.ts","sourceRoot":"","sources":["../src/amm_bot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"amm_bot.d.ts","sourceRoot":"","sources":["../src/amm_bot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAKjD,KAAK,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,qBAAa,MAAO,SAAQ,OAAO;aAKf,GAAG,EAAE,WAAW;aAChB,MAAM,EAAE,aAAa;aACrB,MAAM,EAAE,aAAa;IANvC,SAAS,aACP,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,cAAc,EACtB,qBAAqB,EAAE,YAAY,EACnB,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EACrC,MAAM,EAAE,SAAS,EAGlB;IAED,OAAa,MAAM,CACjB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,MAAM,CAAC,CASjB;IAED,UAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0C/D;IAED,UAAyB,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpF;IAEM,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,CAEzC;IAEY,WAAW,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,QAAQ,CAAC;QAAC,aAAa,EAAE,QAAQ,CAAC;QAAC,GAAG,EAAE,QAAQ,CAAA;KAAE,CAAC,CAMtG;YAEa,mBAAmB;YAMnB,oBAAoB;CAMnC"}
|
package/dest/amm_bot.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { NO_WAIT } from '@aztec/aztec.js/contracts';
|
|
1
2
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
2
3
|
import { jsonStringify } from '@aztec/foundation/json-rpc';
|
|
3
4
|
import { BaseBot } from './base_bot.js';
|
|
@@ -55,7 +56,10 @@ export class AmmBot extends BaseBot {
|
|
|
55
56
|
...logCtx,
|
|
56
57
|
balances
|
|
57
58
|
});
|
|
58
|
-
return swapExactTokensInteraction.send(
|
|
59
|
+
return swapExactTokensInteraction.send({
|
|
60
|
+
...opts,
|
|
61
|
+
wait: NO_WAIT
|
|
62
|
+
});
|
|
59
63
|
}
|
|
60
64
|
async onTxMined(receipt, logCtx) {
|
|
61
65
|
const balances = await this.getBalances();
|
package/dest/base_bot.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
|
-
import { BatchCall, ContractFunctionInteraction, type SendInteractionOptions
|
|
2
|
+
import { BatchCall, ContractFunctionInteraction, type SendInteractionOptions } from '@aztec/aztec.js/contracts';
|
|
3
3
|
import { TxHash, TxReceipt } from '@aztec/aztec.js/tx';
|
|
4
4
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
5
|
-
import type {
|
|
5
|
+
import type { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
6
6
|
import type { BotConfig } from './config.js';
|
|
7
7
|
export declare abstract class BaseBot {
|
|
8
8
|
readonly node: AztecNode;
|
|
9
|
-
readonly wallet:
|
|
9
|
+
readonly wallet: EmbeddedWallet;
|
|
10
10
|
readonly defaultAccountAddress: AztecAddress;
|
|
11
11
|
config: BotConfig;
|
|
12
12
|
protected log: import("@aztec/aztec.js/log").Logger;
|
|
13
13
|
protected attempts: number;
|
|
14
14
|
protected successes: number;
|
|
15
|
-
protected constructor(node: AztecNode, wallet:
|
|
15
|
+
protected constructor(node: AztecNode, wallet: EmbeddedWallet, defaultAccountAddress: AztecAddress, config: BotConfig);
|
|
16
16
|
run(): Promise<TxReceipt | TxHash>;
|
|
17
|
-
protected abstract createAndSendTx(logCtx: object): Promise<
|
|
17
|
+
protected abstract createAndSendTx(logCtx: object): Promise<TxHash>;
|
|
18
18
|
protected onTxMined(_receipt: TxReceipt, _logCtx: object): Promise<void>;
|
|
19
19
|
protected getSendMethodOpts(interaction: ContractFunctionInteraction | BatchCall): Promise<SendInteractionOptions>;
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9ib3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9iYXNlX2JvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBRSxLQUFLLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHaEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQVksTUFBTSxvQkFBb0IsQ0FBQztBQUVqRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0MsOEJBQXNCLE9BQU87YUFPVCxJQUFJLEVBQUUsU0FBUzthQUNmLE1BQU0sRUFBRSxjQUFjO2FBQ3RCLHFCQUFxQixFQUFFLFlBQVk7SUFDNUMsTUFBTSxFQUFFLFNBQVM7SUFUMUIsU0FBUyxDQUFDLEdBQUcsdUNBQXVCO0lBRXBDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFLO0lBQy9CLFNBQVMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFLO0lBRWhDLFNBQVMsYUFDUyxJQUFJLEVBQUUsU0FBUyxFQUNmLE1BQU0sRUFBRSxjQUFjLEVBQ3RCLHFCQUFxQixFQUFFLFlBQVksRUFDNUMsTUFBTSxFQUFFLFNBQVMsRUFDdEI7SUFFUyxHQUFHLElBQUksT0FBTyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0F5QjlDO0lBRUQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFcEUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUd2RTtJQUVELFVBQWdCLGlCQUFpQixDQUMvQixXQUFXLEVBQUUsMkJBQTJCLEdBQUcsU0FBUyxHQUNuRCxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FvQmpDO0NBQ0YifQ==
|
package/dest/base_bot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_bot.d.ts","sourceRoot":"","sources":["../src/base_bot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"base_bot.d.ts","sourceRoot":"","sources":["../src/base_bot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGhH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAY,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,8BAAsB,OAAO;aAOT,IAAI,EAAE,SAAS;aACf,MAAM,EAAE,cAAc;aACtB,qBAAqB,EAAE,YAAY;IAC5C,MAAM,EAAE,SAAS;IAT1B,SAAS,CAAC,GAAG,uCAAuB;IAEpC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAK;IAC/B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAK;IAEhC,SAAS,aACS,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,cAAc,EACtB,qBAAqB,EAAE,YAAY,EAC5C,MAAM,EAAE,SAAS,EACtB;IAES,GAAG,IAAI,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,CAyB9C;IAED,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpE,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvE;IAED,UAAgB,iBAAiB,CAC/B,WAAW,EAAE,2BAA2B,GAAG,SAAS,GACnD,OAAO,CAAC,sBAAsB,CAAC,CAoBjC;CACF"}
|
package/dest/base_bot.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { waitForProven } from '@aztec/aztec.js/contracts';
|
|
2
1
|
import { createLogger } from '@aztec/aztec.js/log';
|
|
2
|
+
import { waitForTx } from '@aztec/aztec.js/node';
|
|
3
|
+
import { TxStatus } from '@aztec/aztec.js/tx';
|
|
3
4
|
import { Gas } from '@aztec/stdlib/gas';
|
|
4
5
|
export class BaseBot {
|
|
5
6
|
node;
|
|
@@ -20,26 +21,24 @@ export class BaseBot {
|
|
|
20
21
|
}
|
|
21
22
|
async run() {
|
|
22
23
|
this.attempts++;
|
|
24
|
+
const { followChain, txMinedWaitSeconds } = this.config;
|
|
23
25
|
const logCtx = {
|
|
24
|
-
runId: Date.now() * 1000 + Math.floor(Math.random() * 1000)
|
|
26
|
+
runId: Date.now() * 1000 + Math.floor(Math.random() * 1000),
|
|
27
|
+
followChain,
|
|
28
|
+
txMinedWaitSeconds
|
|
25
29
|
};
|
|
26
|
-
const { followChain, txMinedWaitSeconds } = this.config;
|
|
27
30
|
this.log.verbose(`Creating tx`, logCtx);
|
|
28
|
-
const
|
|
29
|
-
const txHash = await tx.getTxHash();
|
|
31
|
+
const txHash = await this.createAndSendTx(logCtx);
|
|
30
32
|
if (followChain === 'NONE') {
|
|
31
33
|
this.log.info(`Transaction ${txHash.toString()} sent, not waiting for it to be mined`);
|
|
32
34
|
return txHash;
|
|
33
35
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
const waitForStatus = TxStatus[followChain];
|
|
37
|
+
this.log.verbose(`Awaiting tx ${txHash.toString()} to be on the ${followChain} chain`, logCtx);
|
|
38
|
+
const receipt = await waitForTx(this.node, txHash, {
|
|
39
|
+
timeout: txMinedWaitSeconds,
|
|
40
|
+
waitForStatus
|
|
37
41
|
});
|
|
38
|
-
if (followChain === 'PROVEN') {
|
|
39
|
-
await waitForProven(this.node, receipt, {
|
|
40
|
-
provenTimeout: txMinedWaitSeconds
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
42
|
this.successes++;
|
|
44
43
|
this.log.info(`Tx #${this.attempts} ${receipt.txHash} successfully mined in block ${receipt.blockNumber} (stats: ${this.successes}/${this.attempts} success)`, logCtx);
|
|
45
44
|
await this.onTxMined(receipt, logCtx);
|
|
@@ -50,8 +49,8 @@ export class BaseBot {
|
|
|
50
49
|
return Promise.resolve();
|
|
51
50
|
}
|
|
52
51
|
async getSendMethodOpts(interaction) {
|
|
53
|
-
const { l2GasLimit, daGasLimit,
|
|
54
|
-
this.wallet.
|
|
52
|
+
const { l2GasLimit, daGasLimit, minFeePadding } = this.config;
|
|
53
|
+
this.wallet.setMinFeePadding(minFeePadding);
|
|
55
54
|
let gasSettings;
|
|
56
55
|
if (l2GasLimit !== undefined && l2GasLimit > 0 && daGasLimit !== undefined && daGasLimit > 0) {
|
|
57
56
|
gasSettings = {
|
package/dest/bot.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import type { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
|
-
import {
|
|
2
|
+
import { TxHash } from '@aztec/aztec.js/tx';
|
|
3
3
|
import type { PrivateTokenContract } from '@aztec/noir-contracts.js/PrivateToken';
|
|
4
4
|
import type { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
5
5
|
import type { AztecNode, AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
6
|
-
import type {
|
|
6
|
+
import type { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
7
7
|
import { BaseBot } from './base_bot.js';
|
|
8
8
|
import type { BotConfig } from './config.js';
|
|
9
9
|
import type { BotStore } from './store/index.js';
|
|
10
10
|
export declare class Bot extends BaseBot {
|
|
11
11
|
readonly token: TokenContract | PrivateTokenContract;
|
|
12
12
|
readonly recipient: AztecAddress;
|
|
13
|
-
protected constructor(node: AztecNode, wallet:
|
|
14
|
-
static create(config: BotConfig, wallet:
|
|
13
|
+
protected constructor(node: AztecNode, wallet: EmbeddedWallet, defaultAccountAddress: AztecAddress, token: TokenContract | PrivateTokenContract, recipient: AztecAddress, config: BotConfig);
|
|
14
|
+
static create(config: BotConfig, wallet: EmbeddedWallet, aztecNode: AztecNode, aztecNodeAdmin: AztecNodeAdmin | undefined, store: BotStore): Promise<Bot>;
|
|
15
15
|
updateConfig(config: Partial<BotConfig>): void;
|
|
16
|
-
protected createAndSendTx(logCtx: object): Promise<
|
|
16
|
+
protected createAndSendTx(logCtx: object): Promise<TxHash>;
|
|
17
17
|
getBalances(): Promise<{
|
|
18
18
|
sender: {
|
|
19
19
|
privateBalance: bigint;
|
|
@@ -25,4 +25,4 @@ export declare class Bot extends BaseBot {
|
|
|
25
25
|
};
|
|
26
26
|
}>;
|
|
27
27
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYm90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QyxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xGLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUtqRCxxQkFBYSxHQUFJLFNBQVEsT0FBTzthQUtaLEtBQUssRUFBRSxhQUFhLEdBQUcsb0JBQW9CO2FBQzNDLFNBQVMsRUFBRSxZQUFZO0lBTHpDLFNBQVMsYUFDUCxJQUFJLEVBQUUsU0FBUyxFQUNmLE1BQU0sRUFBRSxjQUFjLEVBQ3RCLHFCQUFxQixFQUFFLFlBQVksRUFDbkIsS0FBSyxFQUFFLGFBQWEsR0FBRyxvQkFBb0IsRUFDM0MsU0FBUyxFQUFFLFlBQVksRUFDdkMsTUFBTSxFQUFFLFNBQVMsRUFHbEI7SUFFRCxPQUFhLE1BQU0sQ0FDakIsTUFBTSxFQUFFLFNBQVMsRUFDakIsTUFBTSxFQUFFLGNBQWMsRUFDdEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsY0FBYyxFQUFFLGNBQWMsR0FBRyxTQUFTLEVBQzFDLEtBQUssRUFBRSxRQUFRLEdBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQVNkO0lBRU0sWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBRzdDO0lBRUQsVUFBZ0IsZUFBZSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQTRCL0Q7SUFFWSxXQUFXOzs7Ozs7Ozs7T0FrQnZCO0NBQ0YifQ==
|
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,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAKjD,qBAAa,GAAI,SAAQ,OAAO;aAKZ,KAAK,EAAE,aAAa,GAAG,oBAAoB;aAC3C,SAAS,EAAE,YAAY;IALzC,SAAS,aACP,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,cAAc,EACtB,qBAAqB,EAAE,YAAY,EACnB,KAAK,EAAE,aAAa,GAAG,oBAAoB,EAC3C,SAAS,EAAE,YAAY,EACvC,MAAM,EAAE,SAAS,EAGlB;IAED,OAAa,MAAM,CACjB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,GAAG,CAAC,CASd;IAEM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,QAG7C;IAED,UAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4B/D;IAEY,WAAW;;;;;;;;;OAkBvB;CACF"}
|
package/dest/bot.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BatchCall } from '@aztec/aztec.js/contracts';
|
|
1
|
+
import { BatchCall, NO_WAIT } from '@aztec/aztec.js/contracts';
|
|
2
2
|
import { times } from '@aztec/foundation/collection';
|
|
3
3
|
import { BaseBot } from './base_bot.js';
|
|
4
4
|
import { BotFactory } from './factory.js';
|
|
@@ -36,13 +36,16 @@ export class Bot extends BaseBot {
|
|
|
36
36
|
from: this.defaultAccountAddress
|
|
37
37
|
});
|
|
38
38
|
this.log.verbose(`Sending transaction`, logCtx);
|
|
39
|
-
return batch.send(
|
|
39
|
+
return batch.send({
|
|
40
|
+
...opts,
|
|
41
|
+
wait: NO_WAIT
|
|
42
|
+
});
|
|
40
43
|
}
|
|
41
44
|
async getBalances() {
|
|
42
45
|
if (isStandardTokenContract(this.token)) {
|
|
43
46
|
return {
|
|
44
47
|
sender: await getBalances(this.token, this.defaultAccountAddress),
|
|
45
|
-
recipient: await getBalances(this.token, this.recipient
|
|
48
|
+
recipient: await getBalances(this.token, this.recipient)
|
|
46
49
|
};
|
|
47
50
|
} else {
|
|
48
51
|
return {
|
|
@@ -51,7 +54,7 @@ export class Bot extends BaseBot {
|
|
|
51
54
|
publicBalance: 0n
|
|
52
55
|
},
|
|
53
56
|
recipient: {
|
|
54
|
-
privateBalance: await getPrivateBalance(this.token, this.recipient
|
|
57
|
+
privateBalance: await getPrivateBalance(this.token, this.recipient),
|
|
55
58
|
publicBalance: 0n
|
|
56
59
|
}
|
|
57
60
|
};
|
package/dest/config.d.ts
CHANGED
|
@@ -3,8 +3,10 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
3
3
|
import { type DataStoreConfig } from '@aztec/kv-store/config';
|
|
4
4
|
import type { ComponentsVersions } from '@aztec/stdlib/versioning';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
declare const BotFollowChain: readonly ["NONE", "
|
|
6
|
+
declare const BotFollowChain: readonly ["NONE", "PROPOSED", "CHECKPOINTED", "PROVEN"];
|
|
7
7
|
type BotFollowChain = (typeof BotFollowChain)[number];
|
|
8
|
+
declare const BotMode: readonly ["transfer", "amm", "crosschain"];
|
|
9
|
+
type BotMode = (typeof BotMode)[number];
|
|
8
10
|
export declare enum SupportedTokenContracts {
|
|
9
11
|
TokenContract = "TokenContract",
|
|
10
12
|
PrivateTokenContract = "PrivateTokenContract"
|
|
@@ -36,8 +38,8 @@ export type BotConfig = {
|
|
|
36
38
|
publicTransfersPerTx: number;
|
|
37
39
|
/** How to handle fee payments. */
|
|
38
40
|
feePaymentMethod: 'fee_juice';
|
|
39
|
-
/** 'How much is the bot willing to overpay vs. the current
|
|
40
|
-
|
|
41
|
+
/** 'How much is the bot willing to overpay vs. the current min fee' */
|
|
42
|
+
minFeePadding: number;
|
|
41
43
|
/** True to not automatically setup or start the bot on initialization. */
|
|
42
44
|
noStart: boolean;
|
|
43
45
|
/** How long to wait for a tx to be mined before reporting an error. */
|
|
@@ -58,8 +60,12 @@ export type BotConfig = {
|
|
|
58
60
|
maxConsecutiveErrors: number;
|
|
59
61
|
/** Stops the bot if service becomes unhealthy */
|
|
60
62
|
stopWhenUnhealthy: boolean;
|
|
61
|
-
/**
|
|
62
|
-
|
|
63
|
+
/** Bot mode: transfer, amm, or crosschain. */
|
|
64
|
+
botMode: BotMode;
|
|
65
|
+
/** Number of L2→L1 messages per tx (crosschain mode). */
|
|
66
|
+
l2ToL1MessagesPerTx: number;
|
|
67
|
+
/** Max L1→L2 messages to keep in-flight (crosschain mode). */
|
|
68
|
+
l1ToL2SeedCount: number;
|
|
63
69
|
} & Pick<DataStoreConfig, 'dataDirectory' | 'dataStoreMapSizeKb'>;
|
|
64
70
|
export declare const BotConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
65
71
|
nodeUrl: z.ZodOptional<z.ZodString>;
|
|
@@ -75,10 +81,10 @@ export declare const BotConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
75
81
|
privateTransfersPerTx: z.ZodNumber;
|
|
76
82
|
publicTransfersPerTx: z.ZodNumber;
|
|
77
83
|
feePaymentMethod: z.ZodLiteral<"fee_juice">;
|
|
78
|
-
|
|
84
|
+
minFeePadding: z.ZodNumber;
|
|
79
85
|
noStart: z.ZodBoolean;
|
|
80
86
|
txMinedWaitSeconds: z.ZodNumber;
|
|
81
|
-
followChain: z.ZodEnum<["NONE", "
|
|
87
|
+
followChain: z.ZodEnum<["NONE", "PROPOSED", "CHECKPOINTED", "PROVEN"]>;
|
|
82
88
|
maxPendingTxs: z.ZodNumber;
|
|
83
89
|
flushSetupTransactions: z.ZodBoolean;
|
|
84
90
|
l2GasLimit: z.ZodOptional<z.ZodNumber>;
|
|
@@ -86,7 +92,9 @@ export declare const BotConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
86
92
|
contract: z.ZodNativeEnum<typeof SupportedTokenContracts>;
|
|
87
93
|
maxConsecutiveErrors: z.ZodNumber;
|
|
88
94
|
stopWhenUnhealthy: z.ZodBoolean;
|
|
89
|
-
|
|
95
|
+
botMode: z.ZodDefault<z.ZodEnum<["transfer", "amm", "crosschain"]>>;
|
|
96
|
+
l2ToL1MessagesPerTx: z.ZodDefault<z.ZodNumber>;
|
|
97
|
+
l1ToL2SeedCount: z.ZodDefault<z.ZodNumber>;
|
|
90
98
|
dataDirectory: z.ZodOptional<z.ZodString>;
|
|
91
99
|
dataStoreMapSizeKb: z.ZodOptional<z.ZodNumber>;
|
|
92
100
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -103,10 +111,10 @@ export declare const BotConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
103
111
|
privateTransfersPerTx: number;
|
|
104
112
|
publicTransfersPerTx: number;
|
|
105
113
|
feePaymentMethod: "fee_juice";
|
|
106
|
-
|
|
114
|
+
minFeePadding: number;
|
|
107
115
|
noStart: boolean;
|
|
108
116
|
txMinedWaitSeconds: number;
|
|
109
|
-
followChain: "NONE" | "
|
|
117
|
+
followChain: "CHECKPOINTED" | "NONE" | "PROPOSED" | "PROVEN";
|
|
110
118
|
maxPendingTxs: number;
|
|
111
119
|
flushSetupTransactions: boolean;
|
|
112
120
|
l2GasLimit?: number | undefined;
|
|
@@ -114,7 +122,9 @@ export declare const BotConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
114
122
|
contract: SupportedTokenContracts;
|
|
115
123
|
maxConsecutiveErrors: number;
|
|
116
124
|
stopWhenUnhealthy: boolean;
|
|
117
|
-
|
|
125
|
+
botMode: "amm" | "crosschain" | "transfer";
|
|
126
|
+
l2ToL1MessagesPerTx: number;
|
|
127
|
+
l1ToL2SeedCount: number;
|
|
118
128
|
dataDirectory?: string | undefined;
|
|
119
129
|
dataStoreMapSizeKb?: number | undefined;
|
|
120
130
|
}, {
|
|
@@ -131,10 +141,10 @@ export declare const BotConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
131
141
|
privateTransfersPerTx: number;
|
|
132
142
|
publicTransfersPerTx: number;
|
|
133
143
|
feePaymentMethod: "fee_juice";
|
|
134
|
-
|
|
144
|
+
minFeePadding: number;
|
|
135
145
|
noStart: boolean;
|
|
136
146
|
txMinedWaitSeconds: number;
|
|
137
|
-
followChain: "NONE" | "
|
|
147
|
+
followChain: "CHECKPOINTED" | "NONE" | "PROPOSED" | "PROVEN";
|
|
138
148
|
maxPendingTxs: number;
|
|
139
149
|
flushSetupTransactions: boolean;
|
|
140
150
|
l2GasLimit?: number | undefined;
|
|
@@ -142,7 +152,9 @@ export declare const BotConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
142
152
|
contract: SupportedTokenContracts;
|
|
143
153
|
maxConsecutiveErrors: number;
|
|
144
154
|
stopWhenUnhealthy: boolean;
|
|
145
|
-
|
|
155
|
+
botMode?: "amm" | "crosschain" | "transfer" | undefined;
|
|
156
|
+
l2ToL1MessagesPerTx?: number | undefined;
|
|
157
|
+
l1ToL2SeedCount?: number | undefined;
|
|
146
158
|
dataDirectory?: string | undefined;
|
|
147
159
|
dataStoreMapSizeKb?: number | undefined;
|
|
148
160
|
}>, {
|
|
@@ -152,16 +164,18 @@ export declare const BotConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
152
164
|
privateTransfersPerTx: number;
|
|
153
165
|
publicTransfersPerTx: number;
|
|
154
166
|
feePaymentMethod: "fee_juice";
|
|
155
|
-
|
|
167
|
+
minFeePadding: number;
|
|
156
168
|
noStart: boolean;
|
|
157
169
|
txMinedWaitSeconds: number;
|
|
158
|
-
followChain: "NONE" | "
|
|
170
|
+
followChain: "CHECKPOINTED" | "NONE" | "PROPOSED" | "PROVEN";
|
|
159
171
|
maxPendingTxs: number;
|
|
160
172
|
flushSetupTransactions: boolean;
|
|
161
173
|
contract: SupportedTokenContracts;
|
|
162
174
|
maxConsecutiveErrors: number;
|
|
163
175
|
stopWhenUnhealthy: boolean;
|
|
164
|
-
|
|
176
|
+
botMode: "amm" | "crosschain" | "transfer";
|
|
177
|
+
l2ToL1MessagesPerTx: number;
|
|
178
|
+
l1ToL2SeedCount: number;
|
|
165
179
|
nodeUrl: string | undefined;
|
|
166
180
|
nodeAdminUrl: string | undefined;
|
|
167
181
|
l1RpcUrls: string[] | undefined;
|
|
@@ -187,10 +201,10 @@ export declare const BotConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
187
201
|
privateTransfersPerTx: number;
|
|
188
202
|
publicTransfersPerTx: number;
|
|
189
203
|
feePaymentMethod: "fee_juice";
|
|
190
|
-
|
|
204
|
+
minFeePadding: number;
|
|
191
205
|
noStart: boolean;
|
|
192
206
|
txMinedWaitSeconds: number;
|
|
193
|
-
followChain: "NONE" | "
|
|
207
|
+
followChain: "CHECKPOINTED" | "NONE" | "PROPOSED" | "PROVEN";
|
|
194
208
|
maxPendingTxs: number;
|
|
195
209
|
flushSetupTransactions: boolean;
|
|
196
210
|
l2GasLimit?: number | undefined;
|
|
@@ -198,7 +212,9 @@ export declare const BotConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
198
212
|
contract: SupportedTokenContracts;
|
|
199
213
|
maxConsecutiveErrors: number;
|
|
200
214
|
stopWhenUnhealthy: boolean;
|
|
201
|
-
|
|
215
|
+
botMode?: "amm" | "crosschain" | "transfer" | undefined;
|
|
216
|
+
l2ToL1MessagesPerTx?: number | undefined;
|
|
217
|
+
l1ToL2SeedCount?: number | undefined;
|
|
202
218
|
dataDirectory?: string | undefined;
|
|
203
219
|
dataStoreMapSizeKb?: number | undefined;
|
|
204
220
|
}>;
|
|
@@ -207,4 +223,4 @@ export declare function getBotConfigFromEnv(): BotConfig;
|
|
|
207
223
|
export declare function getBotDefaultConfig(): BotConfig;
|
|
208
224
|
export declare function getVersions(): Partial<ComponentsVersions>;
|
|
209
225
|
export {};
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixXQUFXLEVBU1osTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHdCQUF3QixDQUFDO0FBSWxGLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbkUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixRQUFBLE1BQU0sY0FBYyx5REFBMEQsQ0FBQztBQUMvRSxLQUFLLGNBQWMsR0FBRyxDQUFDLE9BQU8sY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFdEQsUUFBQSxNQUFNLE9BQU8sNENBQTZDLENBQUM7QUFDM0QsS0FBSyxPQUFPLEdBQUcsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRXhDLG9CQUFZLHVCQUF1QjtJQUNqQyxhQUFhLGtCQUFrQjtJQUMvQixvQkFBb0IseUJBQXlCO0NBQzlDO0FBRUQsTUFBTSxNQUFNLFNBQVMsR0FBRztJQUN0Qiw2REFBNkQ7SUFDN0QsT0FBTyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDNUIsNEVBQTRFO0lBQzVFLFlBQVksRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ2pDLGdDQUFnQztJQUNoQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLGdFQUFnRTtJQUNoRSxVQUFVLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUM1QyxtRUFBbUU7SUFDbkUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDOUMsdUVBQXVFO0lBQ3ZFLDJCQUEyQixFQUFFLE1BQU0sQ0FBQztJQUNwQyxrREFBa0Q7SUFDbEQsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUM5Qyw2REFBNkQ7SUFDN0QsVUFBVSxFQUFFLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDM0IsaURBQWlEO0lBQ2pELFNBQVMsRUFBRSxFQUFFLENBQUM7SUFDZCxzREFBc0Q7SUFDdEQsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFCLDREQUE0RDtJQUM1RCxxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFDOUIsMkRBQTJEO0lBQzNELG9CQUFvQixFQUFFLE1BQU0sQ0FBQztJQUM3QixrQ0FBa0M7SUFDbEMsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDO0lBQzlCLHVFQUF1RTtJQUN2RSxhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLDBFQUEwRTtJQUMxRSxPQUFPLEVBQUUsT0FBTyxDQUFDO0lBQ2pCLHVFQUF1RTtJQUN2RSxrQkFBa0IsRUFBRSxNQUFNLENBQUM7SUFDM0IsNEVBQTRFO0lBQzVFLFdBQVcsRUFBRSxjQUFjLENBQUM7SUFDNUIsZ0ZBQWdGO0lBQ2hGLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIsOERBQThEO0lBQzlELHNCQUFzQixFQUFFLE9BQU8sQ0FBQztJQUNoQywrRUFBK0U7SUFDL0UsVUFBVSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDL0IsK0VBQStFO0lBQy9FLFVBQVUsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQy9CLDRCQUE0QjtJQUM1QixRQUFRLEVBQUUsdUJBQXVCLENBQUM7SUFDbEMseUVBQXlFO0lBQ3pFLG9CQUFvQixFQUFFLE1BQU0sQ0FBQztJQUM3QixpREFBaUQ7SUFDakQsaUJBQWlCLEVBQUUsT0FBTyxDQUFDO0lBQzNCLDhDQUE4QztJQUM5QyxPQUFPLEVBQUUsT0FBTyxDQUFDO0lBQ2pCLDJEQUF5RDtJQUN6RCxtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFDNUIsZ0VBQThEO0lBQzlELGVBQWUsRUFBRSxNQUFNLENBQUM7Q0FDekIsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLGVBQWUsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDO0FBRWxFLGVBQU8sTUFBTSxlQUFlOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUErQzNCLENBQUM7QUFFRixlQUFPLE1BQU0saUJBQWlCLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxDQW1LM0QsQ0FBQztBQUVGLHdCQUFnQixtQkFBbUIsSUFBSSxTQUFTLENBRS9DO0FBRUQsd0JBQWdCLG1CQUFtQixJQUFJLFNBQVMsQ0FFL0M7QUFFRCx3QkFBZ0IsV0FBVyxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUt6RCJ9
|
package/dest/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,WAAW,EASZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAIlF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dest/config.js
CHANGED
|
@@ -7,9 +7,15 @@ import { schemas, zodFor } from '@aztec/stdlib/schemas';
|
|
|
7
7
|
import { z } from 'zod';
|
|
8
8
|
const BotFollowChain = [
|
|
9
9
|
'NONE',
|
|
10
|
-
'
|
|
10
|
+
'PROPOSED',
|
|
11
|
+
'CHECKPOINTED',
|
|
11
12
|
'PROVEN'
|
|
12
13
|
];
|
|
14
|
+
const BotMode = [
|
|
15
|
+
'transfer',
|
|
16
|
+
'amm',
|
|
17
|
+
'crosschain'
|
|
18
|
+
];
|
|
13
19
|
export var SupportedTokenContracts = /*#__PURE__*/ function(SupportedTokenContracts) {
|
|
14
20
|
SupportedTokenContracts["TokenContract"] = "TokenContract";
|
|
15
21
|
SupportedTokenContracts["PrivateTokenContract"] = "PrivateTokenContract";
|
|
@@ -29,7 +35,7 @@ export const BotConfigSchema = zodFor()(z.object({
|
|
|
29
35
|
privateTransfersPerTx: z.number().int().nonnegative(),
|
|
30
36
|
publicTransfersPerTx: z.number().int().nonnegative(),
|
|
31
37
|
feePaymentMethod: z.literal('fee_juice'),
|
|
32
|
-
|
|
38
|
+
minFeePadding: z.number().int().nonnegative(),
|
|
33
39
|
noStart: z.boolean(),
|
|
34
40
|
txMinedWaitSeconds: z.number(),
|
|
35
41
|
followChain: z.enum(BotFollowChain),
|
|
@@ -40,7 +46,9 @@ export const BotConfigSchema = zodFor()(z.object({
|
|
|
40
46
|
contract: z.nativeEnum(SupportedTokenContracts),
|
|
41
47
|
maxConsecutiveErrors: z.number().int().nonnegative(),
|
|
42
48
|
stopWhenUnhealthy: z.boolean(),
|
|
43
|
-
|
|
49
|
+
botMode: z.enum(BotMode).default('transfer'),
|
|
50
|
+
l2ToL1MessagesPerTx: z.number().int().nonnegative().default(1),
|
|
51
|
+
l1ToL2SeedCount: z.number().int().nonnegative().default(1),
|
|
44
52
|
dataDirectory: z.string().optional(),
|
|
45
53
|
dataStoreMapSizeKb: z.number().optional()
|
|
46
54
|
}).transform((config)=>({
|
|
@@ -123,8 +131,8 @@ export const botConfigMappings = {
|
|
|
123
131
|
parseEnv: (val)=>val || undefined,
|
|
124
132
|
defaultValue: 'fee_juice'
|
|
125
133
|
},
|
|
126
|
-
|
|
127
|
-
env: '
|
|
134
|
+
minFeePadding: {
|
|
135
|
+
env: 'BOT_MIN_FEE_PADDING',
|
|
128
136
|
description: 'How much is the bot willing to overpay vs. the current base fee',
|
|
129
137
|
...numberConfigHelper(3)
|
|
130
138
|
},
|
|
@@ -143,10 +151,14 @@ export const botConfigMappings = {
|
|
|
143
151
|
description: 'Which chain the bot follows',
|
|
144
152
|
defaultValue: 'NONE',
|
|
145
153
|
parseEnv (val) {
|
|
146
|
-
|
|
154
|
+
const upper = val.toUpperCase();
|
|
155
|
+
if (upper === 'PENDING') {
|
|
156
|
+
return 'CHECKPOINTED';
|
|
157
|
+
}
|
|
158
|
+
if (!BotFollowChain.includes(upper)) {
|
|
147
159
|
throw new Error(`Invalid value for BOT_FOLLOW_CHAIN: ${val}`);
|
|
148
160
|
}
|
|
149
|
-
return
|
|
161
|
+
return upper;
|
|
150
162
|
}
|
|
151
163
|
},
|
|
152
164
|
maxPendingTxs: {
|
|
@@ -190,10 +202,26 @@ export const botConfigMappings = {
|
|
|
190
202
|
description: 'Stops the bot if service becomes unhealthy',
|
|
191
203
|
...booleanConfigHelper(false)
|
|
192
204
|
},
|
|
193
|
-
|
|
194
|
-
env: '
|
|
195
|
-
description: '
|
|
196
|
-
|
|
205
|
+
botMode: {
|
|
206
|
+
env: 'BOT_MODE',
|
|
207
|
+
description: 'Bot mode: transfer, amm, or crosschain',
|
|
208
|
+
defaultValue: 'transfer',
|
|
209
|
+
parseEnv (val) {
|
|
210
|
+
if (!BotMode.includes(val)) {
|
|
211
|
+
throw new Error(`Invalid value for BOT_MODE: ${val}`);
|
|
212
|
+
}
|
|
213
|
+
return val;
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
l2ToL1MessagesPerTx: {
|
|
217
|
+
env: 'BOT_L2_TO_L1_MESSAGES_PER_TX',
|
|
218
|
+
description: 'Number of L2→L1 messages per tx (crosschain mode)',
|
|
219
|
+
...numberConfigHelper(1)
|
|
220
|
+
},
|
|
221
|
+
l1ToL2SeedCount: {
|
|
222
|
+
env: 'BOT_L1_TO_L2_SEED_COUNT',
|
|
223
|
+
description: 'Max L1→L2 messages to keep in-flight (crosschain mode)',
|
|
224
|
+
...numberConfigHelper(1)
|
|
197
225
|
},
|
|
198
226
|
...pickConfigMappings(dataConfigMappings, [
|
|
199
227
|
'dataStoreMapSizeKb',
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CrossChainBot exercises L2->L1 and L1->L2 messaging.
|
|
3
|
+
*
|
|
4
|
+
* createAndSendTx onTxMined
|
|
5
|
+
* ────────────────────────────────────── ──────────────────────────────
|
|
6
|
+
*
|
|
7
|
+
* 1. SEED (fire-and-forget) 3. VERIFY L2->L1
|
|
8
|
+
* if store has fewer pending messages Query getTxEffect, confirm
|
|
9
|
+
* than seedCount and no seed is the expected L2->L1 messages
|
|
10
|
+
* in-flight: appeared in tx effects.
|
|
11
|
+
* * kick off L1 inbox tx
|
|
12
|
+
* * store msg on completion
|
|
13
|
+
*
|
|
14
|
+
* 2. BUILD & SEND BATCH
|
|
15
|
+
* Always:
|
|
16
|
+
* N x create_l2_to_l1_message
|
|
17
|
+
* (random content, fixed
|
|
18
|
+
* L1 recipient)
|
|
19
|
+
* If a ready L1->L2 msg exists:
|
|
20
|
+
* 1 x consume_message_from_
|
|
21
|
+
* arbitrary_sender_public
|
|
22
|
+
* delete consumed msg from store
|
|
23
|
+
* Send batch tx (no wait)
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
27
|
+
import { TxHash, TxReceipt } from '@aztec/aztec.js/tx';
|
|
28
|
+
import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
|
|
29
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
30
|
+
import type { TestContract } from '@aztec/noir-test-contracts.js/Test';
|
|
31
|
+
import type { AztecNode, AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
32
|
+
import type { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
33
|
+
import { BaseBot } from './base_bot.js';
|
|
34
|
+
import type { BotConfig } from './config.js';
|
|
35
|
+
import type { BotStore } from './store/index.js';
|
|
36
|
+
/** Bot that exercises both L2→L1 and L1→L2 cross-chain messaging. */
|
|
37
|
+
export declare class CrossChainBot extends BaseBot {
|
|
38
|
+
private readonly contract;
|
|
39
|
+
private readonly l1Client;
|
|
40
|
+
private readonly l1Recipient;
|
|
41
|
+
private readonly inboxAddress;
|
|
42
|
+
private readonly rollupVersion;
|
|
43
|
+
private readonly store;
|
|
44
|
+
private l2ToL1Sent;
|
|
45
|
+
private l1ToL2Consumed;
|
|
46
|
+
private pendingSeedPromise;
|
|
47
|
+
protected constructor(node: AztecNode, wallet: EmbeddedWallet, defaultAccountAddress: AztecAddress, contract: TestContract, l1Client: ExtendedViemWalletClient, l1Recipient: EthAddress, inboxAddress: EthAddress, rollupVersion: bigint, store: BotStore, config: BotConfig);
|
|
48
|
+
static create(config: BotConfig, wallet: EmbeddedWallet, aztecNode: AztecNode, aztecNodeAdmin: AztecNodeAdmin | undefined, store: BotStore): Promise<CrossChainBot>;
|
|
49
|
+
protected createAndSendTx(logCtx: object): Promise<TxHash>;
|
|
50
|
+
protected onTxMined(receipt: TxReceipt, logCtx: object): Promise<void>;
|
|
51
|
+
private getReadyL1ToL2Message;
|
|
52
|
+
private seedNewL1ToL2Message;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3NfY2hhaW5fYm90LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY3Jvc3NfY2hhaW5fYm90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFDSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXRFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakYsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHN0MsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUF3QixNQUFNLGtCQUFrQixDQUFDO0FBS3ZFLHlFQUFxRTtBQUNyRSxxQkFBYSxhQUFjLFNBQVEsT0FBTztJQVN0QyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVE7SUFDekIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRO0lBQ3pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVztJQUM1QixPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVk7SUFDN0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhO0lBQzlCLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSztJQWJ4QixPQUFPLENBQUMsVUFBVSxDQUFLO0lBQ3ZCLE9BQU8sQ0FBQyxjQUFjLENBQUs7SUFDM0IsT0FBTyxDQUFDLGtCQUFrQixDQUE0QjtJQUV0RCxTQUFTLGFBQ1AsSUFBSSxFQUFFLFNBQVMsRUFDZixNQUFNLEVBQUUsY0FBYyxFQUN0QixxQkFBcUIsRUFBRSxZQUFZLEVBQ2xCLFFBQVEsRUFBRSxZQUFZLEVBQ3RCLFFBQVEsRUFBRSx3QkFBd0IsRUFDbEMsV0FBVyxFQUFFLFVBQVUsRUFDdkIsWUFBWSxFQUFFLFVBQVUsRUFDeEIsYUFBYSxFQUFFLE1BQU0sRUFDckIsS0FBSyxFQUFFLFFBQVEsRUFDaEMsTUFBTSxFQUFFLFNBQVMsRUFHbEI7SUFFRCxPQUFhLE1BQU0sQ0FDakIsTUFBTSxFQUFFLFNBQVMsRUFDakIsTUFBTSxFQUFFLGNBQWMsRUFDdEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsY0FBYyxFQUFFLGNBQWMsR0FBRyxTQUFTLEVBQzFDLEtBQUssRUFBRSxRQUFRLEdBQ2QsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQXFCeEI7SUFFRCxVQUFnQixlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBZ0QvRDtJQUVELFVBQXlCLFNBQVMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQXVCcEY7WUFHYSxxQkFBcUI7WUEyQnJCLG9CQUFvQjtDQVVuQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross_chain_bot.d.ts","sourceRoot":"","sources":["../src/cross_chain_bot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,KAAK,EAAE,QAAQ,EAAwB,MAAM,kBAAkB,CAAC;AAKvE,yEAAqE;AACrE,qBAAa,aAAc,SAAQ,OAAO;IAStC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAbxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,kBAAkB,CAA4B;IAEtD,SAAS,aACP,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,cAAc,EACtB,qBAAqB,EAAE,YAAY,EAClB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,wBAAwB,EAClC,WAAW,EAAE,UAAU,EACvB,YAAY,EAAE,UAAU,EACxB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,QAAQ,EAChC,MAAM,EAAE,SAAS,EAGlB;IAED,OAAa,MAAM,CACjB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,aAAa,CAAC,CAqBxB;IAED,UAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgD/D;IAED,UAAyB,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBpF;YAGa,qBAAqB;YA2BrB,oBAAoB;CAUnC"}
|