@aztec/bot 0.0.1-commit.d3ec352c → 0.0.1-commit.d58ff9d0
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 +7 -7
- package/dest/amm_bot.d.ts.map +1 -1
- package/dest/amm_bot.js +30 -19
- package/dest/base_bot.d.ts +8 -8
- package/dest/base_bot.d.ts.map +1 -1
- package/dest/base_bot.js +26 -37
- package/dest/bot.d.ts +7 -6
- package/dest/bot.d.ts.map +1 -1
- package/dest/bot.js +11 -11
- package/dest/config.d.ts +55 -91
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +48 -21
- package/dest/cross_chain_bot.d.ts +56 -0
- package/dest/cross_chain_bot.d.ts.map +1 -0
- package/dest/cross_chain_bot.js +138 -0
- package/dest/factory.d.ts +34 -14
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +335 -177
- package/dest/index.d.ts +2 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -0
- package/dest/interface.d.ts +2 -6
- package/dest/interface.d.ts.map +1 -1
- package/dest/interface.js +30 -7
- 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 +4 -3
- package/dest/runner.d.ts.map +1 -1
- package/dest/runner.js +432 -32
- 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 +38 -7
- package/dest/store/index.d.ts +2 -2
- package/dest/store/index.d.ts.map +1 -1
- package/dest/utils.js +3 -3
- package/package.json +18 -15
- package/src/amm_bot.ts +30 -22
- package/src/base_bot.ts +23 -44
- package/src/bot.ts +14 -12
- package/src/config.ts +96 -65
- package/src/cross_chain_bot.ts +208 -0
- package/src/factory.ts +354 -174
- package/src/index.ts +1 -0
- package/src/interface.ts +7 -7
- package/src/l1_to_l2_seeding.ts +79 -0
- package/src/runner.ts +41 -5
- package/src/store/bot_store.ts +61 -6
- package/src/store/index.ts +1 -1
- package/src/utils.ts +3 -3
package/dest/amm_bot.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
|
-
import {
|
|
3
|
-
import { TxReceipt } from '@aztec/aztec.js/tx';
|
|
2
|
+
import type { 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';
|
|
5
|
+
import type { BlockTag } from '@aztec/stdlib/block';
|
|
6
6
|
import type { AztecNode, AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
7
|
-
import type {
|
|
7
|
+
import type { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
8
8
|
import { BaseBot } from './base_bot.js';
|
|
9
9
|
import type { BotConfig } from './config.js';
|
|
10
10
|
import type { BotStore } from './store/index.js';
|
|
@@ -16,9 +16,9 @@ export declare class AmmBot extends BaseBot {
|
|
|
16
16
|
readonly amm: AMMContract;
|
|
17
17
|
readonly token0: TokenContract;
|
|
18
18
|
readonly token1: TokenContract;
|
|
19
|
-
protected constructor(node: AztecNode, wallet:
|
|
20
|
-
static create(config: BotConfig, wallet:
|
|
21
|
-
protected createAndSendTx(logCtx: object): Promise<
|
|
19
|
+
protected constructor(node: AztecNode, wallet: EmbeddedWallet, defaultAccountAddress: AztecAddress, amm: AMMContract, token0: TokenContract, token1: TokenContract, config: BotConfig);
|
|
20
|
+
static create(config: BotConfig, wallet: EmbeddedWallet, aztecNode: AztecNode, aztecNodeAdmin: AztecNodeAdmin | undefined, store: BotStore, syncChainTip?: BlockTag): Promise<AmmBot>;
|
|
21
|
+
protected createAndSendTx(logCtx: object): Promise<TxHash>;
|
|
22
22
|
protected onTxMined(receipt: TxReceipt, logCtx: object): Promise<void>;
|
|
23
23
|
getAmmBalances(): Promise<Balances>;
|
|
24
24
|
getBalances(): Promise<{
|
|
@@ -30,4 +30,4 @@ export declare class AmmBot extends BaseBot {
|
|
|
30
30
|
private getPrivateBalanceFor;
|
|
31
31
|
}
|
|
32
32
|
export {};
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1tX2JvdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FtbV9ib3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakYsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0MsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLakQsS0FBSyxRQUFRLEdBQUc7SUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUM7QUFFbkQscUJBQWEsTUFBTyxTQUFRLE9BQU87YUFLZixHQUFHLEVBQUUsV0FBVzthQUNoQixNQUFNLEVBQUUsYUFBYTthQUNyQixNQUFNLEVBQUUsYUFBYTtJQU52QyxTQUFTLGFBQ1AsSUFBSSxFQUFFLFNBQVMsRUFDZixNQUFNLEVBQUUsY0FBYyxFQUN0QixxQkFBcUIsRUFBRSxZQUFZLEVBQ25CLEdBQUcsRUFBRSxXQUFXLEVBQ2hCLE1BQU0sRUFBRSxhQUFhLEVBQ3JCLE1BQU0sRUFBRSxhQUFhLEVBQ3JDLE1BQU0sRUFBRSxTQUFTLEVBR2xCO0lBRUQsT0FBYSxNQUFNLENBQ2pCLE1BQU0sRUFBRSxTQUFTLEVBQ2pCLE1BQU0sRUFBRSxjQUFjLEVBQ3RCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGNBQWMsRUFBRSxjQUFjLEdBQUcsU0FBUyxFQUMxQyxLQUFLLEVBQUUsUUFBUSxFQUNmLFlBQVksQ0FBQyxFQUFFLFFBQVEsR0FDdEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQVVqQjtJQUVELFVBQWdCLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0E2Qy9EO0lBRUQsVUFBeUIsU0FBUyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBR3BGO0lBRU0sY0FBYyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FFekM7SUFFWSxXQUFXLElBQUksT0FBTyxDQUFDO1FBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQztRQUFDLGFBQWEsRUFBRSxRQUFRLENBQUM7UUFBQyxHQUFHLEVBQUUsUUFBUSxDQUFBO0tBQUUsQ0FBQyxDQU10RztZQUVhLG1CQUFtQjtZQUtuQixvQkFBb0I7Q0FTbkMifQ==
|
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,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,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,EACf,YAAY,CAAC,EAAE,QAAQ,GACtB,OAAO,CAAC,MAAM,CAAC,CAUjB;IAED,UAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6C/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;YAKnB,oBAAoB;CASnC"}
|
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';
|
|
@@ -11,8 +12,8 @@ export class AmmBot extends BaseBot {
|
|
|
11
12
|
constructor(node, wallet, defaultAccountAddress, amm, token0, token1, config){
|
|
12
13
|
super(node, wallet, defaultAccountAddress, config), this.amm = amm, this.token0 = token0, this.token1 = token1;
|
|
13
14
|
}
|
|
14
|
-
static async create(config, wallet, aztecNode, aztecNodeAdmin, store) {
|
|
15
|
-
const { defaultAccountAddress, token0, token1, amm } = await new BotFactory(config, wallet, store, aztecNode, aztecNodeAdmin).setupAmm();
|
|
15
|
+
static async create(config, wallet, aztecNode, aztecNodeAdmin, store, syncChainTip) {
|
|
16
|
+
const { defaultAccountAddress, token0, token1, amm } = await new BotFactory(config, wallet, store, aztecNode, aztecNodeAdmin, syncChainTip).setupAmm();
|
|
16
17
|
return new AmmBot(aztecNode, wallet, defaultAccountAddress, amm, token0, token1, config);
|
|
17
18
|
}
|
|
18
19
|
async createAndSendTx(logCtx) {
|
|
@@ -37,11 +38,13 @@ export class AmmBot extends BaseBot {
|
|
|
37
38
|
caller: amm.address,
|
|
38
39
|
call: await tokenIn.methods.transfer_to_public(this.defaultAccountAddress, amm.address, amountIn, authwitNonce).getFunctionCall()
|
|
39
40
|
});
|
|
40
|
-
const
|
|
41
|
+
const { result: tokenInBalance } = await tokenIn.methods.balance_of_public(amm.address).simulate({
|
|
41
42
|
from: this.defaultAccountAddress
|
|
42
|
-
})
|
|
43
|
+
});
|
|
44
|
+
const { result: tokenOutBalance } = await tokenOut.methods.balance_of_public(amm.address).simulate({
|
|
43
45
|
from: this.defaultAccountAddress
|
|
44
|
-
})
|
|
46
|
+
});
|
|
47
|
+
const { result: amountOutMin } = await amm.methods.get_amount_out_for_exact_in(tokenInBalance, tokenOutBalance, amountIn).simulate({
|
|
45
48
|
from: this.defaultAccountAddress
|
|
46
49
|
});
|
|
47
50
|
const swapExactTokensInteraction = amm.methods.swap_exact_tokens_for_tokens(tokenIn.address, tokenOut.address, amountIn, amountOutMin, authwitNonce).with({
|
|
@@ -49,13 +52,17 @@ export class AmmBot extends BaseBot {
|
|
|
49
52
|
swapAuthwit
|
|
50
53
|
]
|
|
51
54
|
});
|
|
52
|
-
const opts =
|
|
55
|
+
const opts = this.getSendMethodOpts();
|
|
53
56
|
this.log.verbose(`Sending transaction`, logCtx);
|
|
54
57
|
this.log.info(`Tx. Balances: ${jsonStringify(balances)}`, {
|
|
55
58
|
...logCtx,
|
|
56
59
|
balances
|
|
57
60
|
});
|
|
58
|
-
|
|
61
|
+
const { txHash } = await swapExactTokensInteraction.send({
|
|
62
|
+
...opts,
|
|
63
|
+
wait: NO_WAIT
|
|
64
|
+
});
|
|
65
|
+
return txHash;
|
|
59
66
|
}
|
|
60
67
|
async onTxMined(receipt, logCtx) {
|
|
61
68
|
const balances = await this.getBalances();
|
|
@@ -75,23 +82,27 @@ export class AmmBot extends BaseBot {
|
|
|
75
82
|
};
|
|
76
83
|
}
|
|
77
84
|
async getPublicBalanceFor(address, from) {
|
|
85
|
+
const { result: token0 } = await this.token0.methods.balance_of_public(address).simulate({
|
|
86
|
+
from: from ?? address
|
|
87
|
+
});
|
|
88
|
+
const { result: token1 } = await this.token1.methods.balance_of_public(address).simulate({
|
|
89
|
+
from: from ?? address
|
|
90
|
+
});
|
|
78
91
|
return {
|
|
79
|
-
token0
|
|
80
|
-
|
|
81
|
-
}),
|
|
82
|
-
token1: await this.token1.methods.balance_of_public(address).simulate({
|
|
83
|
-
from: from ?? address
|
|
84
|
-
})
|
|
92
|
+
token0,
|
|
93
|
+
token1
|
|
85
94
|
};
|
|
86
95
|
}
|
|
87
96
|
async getPrivateBalanceFor(address, from) {
|
|
97
|
+
const { result: token0 } = await this.token0.methods.balance_of_private(address).simulate({
|
|
98
|
+
from: from ?? address
|
|
99
|
+
});
|
|
100
|
+
const { result: token1 } = await this.token1.methods.balance_of_private(address).simulate({
|
|
101
|
+
from: from ?? address
|
|
102
|
+
});
|
|
88
103
|
return {
|
|
89
|
-
token0
|
|
90
|
-
|
|
91
|
-
}),
|
|
92
|
-
token1: await this.token1.methods.balance_of_private(address).simulate({
|
|
93
|
-
from: from ?? address
|
|
94
|
-
})
|
|
104
|
+
token0,
|
|
105
|
+
token1
|
|
95
106
|
};
|
|
96
107
|
}
|
|
97
108
|
}
|
package/dest/base_bot.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
|
-
import {
|
|
3
|
-
import { TxHash, TxReceipt } from '@aztec/aztec.js/tx';
|
|
2
|
+
import type { SendInteractionOptions } from '@aztec/aztec.js/contracts';
|
|
3
|
+
import type { 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
|
-
protected getSendMethodOpts(
|
|
19
|
+
protected getSendMethodOpts(): SendInteractionOptions;
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9ib3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9iYXNlX2JvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUl4RSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFNUQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLDhCQUFzQixPQUFPO2FBT1QsSUFBSSxFQUFFLFNBQVM7YUFDZixNQUFNLEVBQUUsY0FBYzthQUN0QixxQkFBcUIsRUFBRSxZQUFZO0lBQzVDLE1BQU0sRUFBRSxTQUFTO0lBVDFCLFNBQVMsQ0FBQyxHQUFHLHVDQUF1QjtJQUVwQyxTQUFTLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBSztJQUMvQixTQUFTLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBSztJQUVoQyxTQUFTLGFBQ1MsSUFBSSxFQUFFLFNBQVMsRUFDZixNQUFNLEVBQUUsY0FBYyxFQUN0QixxQkFBcUIsRUFBRSxZQUFZLEVBQzVDLE1BQU0sRUFBRSxTQUFTLEVBQ3RCO0lBRVMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLENBeUI5QztJQUVELFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXBFLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHdkU7SUFFRCxTQUFTLENBQUMsaUJBQWlCLElBQUksc0JBQXNCLENBY3BEO0NBQ0YifQ==
|
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,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAIxE,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE5D,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,SAAS,CAAC,iBAAiB,IAAI,sBAAsB,CAcpD;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);
|
|
@@ -49,32 +48,22 @@ export class BaseBot {
|
|
|
49
48
|
// no-op
|
|
50
49
|
return Promise.resolve();
|
|
51
50
|
}
|
|
52
|
-
|
|
53
|
-
const { l2GasLimit, daGasLimit,
|
|
54
|
-
this.wallet.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
})
|
|
62
|
-
};
|
|
63
|
-
this.log.verbose(`Using gas limits ${l2GasLimit} L2 gas ${daGasLimit} DA gas`);
|
|
64
|
-
} else {
|
|
65
|
-
this.log.verbose(`Estimating gas for transaction`);
|
|
66
|
-
({ estimatedGas: gasSettings } = await interaction.simulate({
|
|
67
|
-
fee: {
|
|
68
|
-
estimateGas: true
|
|
69
|
-
},
|
|
70
|
-
from: this.defaultAccountAddress
|
|
71
|
-
}));
|
|
72
|
-
}
|
|
51
|
+
getSendMethodOpts() {
|
|
52
|
+
const { l2GasLimit, daGasLimit, minFeePadding } = this.config;
|
|
53
|
+
this.wallet.setMinFeePadding(minFeePadding);
|
|
54
|
+
const gasSettings = l2GasLimit !== undefined && l2GasLimit > 0 && daGasLimit !== undefined && daGasLimit > 0 ? {
|
|
55
|
+
gasLimits: Gas.from({
|
|
56
|
+
l2Gas: l2GasLimit,
|
|
57
|
+
daGas: daGasLimit
|
|
58
|
+
})
|
|
59
|
+
} : undefined;
|
|
73
60
|
return {
|
|
74
61
|
from: this.defaultAccountAddress,
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
62
|
+
...gasSettings ? {
|
|
63
|
+
fee: {
|
|
64
|
+
gasSettings
|
|
65
|
+
}
|
|
66
|
+
} : {}
|
|
78
67
|
};
|
|
79
68
|
}
|
|
80
69
|
}
|
package/dest/bot.d.ts
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
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
|
+
import type { BlockTag } from '@aztec/stdlib/block';
|
|
5
6
|
import type { AztecNode, AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
6
|
-
import type {
|
|
7
|
+
import type { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
7
8
|
import { BaseBot } from './base_bot.js';
|
|
8
9
|
import type { BotConfig } from './config.js';
|
|
9
10
|
import type { BotStore } from './store/index.js';
|
|
10
11
|
export declare class Bot extends BaseBot {
|
|
11
12
|
readonly token: TokenContract | PrivateTokenContract;
|
|
12
13
|
readonly recipient: AztecAddress;
|
|
13
|
-
protected constructor(node: AztecNode, wallet:
|
|
14
|
-
static create(config: BotConfig, wallet:
|
|
14
|
+
protected constructor(node: AztecNode, wallet: EmbeddedWallet, defaultAccountAddress: AztecAddress, token: TokenContract | PrivateTokenContract, recipient: AztecAddress, config: BotConfig);
|
|
15
|
+
static create(config: BotConfig, wallet: EmbeddedWallet, aztecNode: AztecNode, aztecNodeAdmin: AztecNodeAdmin | undefined, store: BotStore, syncChainTip?: BlockTag): Promise<Bot>;
|
|
15
16
|
updateConfig(config: Partial<BotConfig>): void;
|
|
16
|
-
protected createAndSendTx(logCtx: object): Promise<
|
|
17
|
+
protected createAndSendTx(logCtx: object): Promise<TxHash>;
|
|
17
18
|
getBalances(): Promise<{
|
|
18
19
|
sender: {
|
|
19
20
|
privateBalance: bigint;
|
|
@@ -25,4 +26,4 @@ export declare class Bot extends BaseBot {
|
|
|
25
26
|
};
|
|
26
27
|
}>;
|
|
27
28
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYm90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QyxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xGLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUtqRCxxQkFBYSxHQUFJLFNBQVEsT0FBTzthQUtaLEtBQUssRUFBRSxhQUFhLEdBQUcsb0JBQW9CO2FBQzNDLFNBQVMsRUFBRSxZQUFZO0lBTHpDLFNBQVMsYUFDUCxJQUFJLEVBQUUsU0FBUyxFQUNmLE1BQU0sRUFBRSxjQUFjLEVBQ3RCLHFCQUFxQixFQUFFLFlBQVksRUFDbkIsS0FBSyxFQUFFLGFBQWEsR0FBRyxvQkFBb0IsRUFDM0MsU0FBUyxFQUFFLFlBQVksRUFDdkMsTUFBTSxFQUFFLFNBQVMsRUFHbEI7SUFFRCxPQUFhLE1BQU0sQ0FDakIsTUFBTSxFQUFFLFNBQVMsRUFDakIsTUFBTSxFQUFFLGNBQWMsRUFDdEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsY0FBYyxFQUFFLGNBQWMsR0FBRyxTQUFTLEVBQzFDLEtBQUssRUFBRSxRQUFRLEVBQ2YsWUFBWSxDQUFDLEVBQUUsUUFBUSxHQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLENBVWQ7SUFFTSxZQUFZLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFHN0M7SUFFRCxVQUFnQixlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBMEIvRDtJQUVZLFdBQVc7Ozs7Ozs7OztPQWtCdkI7Q0FDRiJ9
|
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,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,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,EACf,YAAY,CAAC,EAAE,QAAQ,GACtB,OAAO,CAAC,GAAG,CAAC,CAUd;IAEM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,QAG7C;IAED,UAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0B/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';
|
|
@@ -10,8 +10,8 @@ export class Bot extends BaseBot {
|
|
|
10
10
|
constructor(node, wallet, defaultAccountAddress, token, recipient, config){
|
|
11
11
|
super(node, wallet, defaultAccountAddress, config), this.token = token, this.recipient = recipient;
|
|
12
12
|
}
|
|
13
|
-
static async create(config, wallet, aztecNode, aztecNodeAdmin, store) {
|
|
14
|
-
const { defaultAccountAddress, token, recipient } = await new BotFactory(config, wallet, store, aztecNode, aztecNodeAdmin).setup();
|
|
13
|
+
static async create(config, wallet, aztecNode, aztecNodeAdmin, store, syncChainTip) {
|
|
14
|
+
const { defaultAccountAddress, token, recipient } = await new BotFactory(config, wallet, store, aztecNode, aztecNodeAdmin, syncChainTip).setup();
|
|
15
15
|
return new Bot(aztecNode, wallet, defaultAccountAddress, token, recipient, config);
|
|
16
16
|
}
|
|
17
17
|
updateConfig(config) {
|
|
@@ -30,19 +30,19 @@ export class Bot extends BaseBot {
|
|
|
30
30
|
times(publicTransfersPerTx, ()=>token.methods.transfer_in_public(this.defaultAccountAddress, recipient, TRANSFER_AMOUNT, 0))
|
|
31
31
|
].flat() : times(privateTransfersPerTx, ()=>token.methods.transfer(TRANSFER_AMOUNT, this.defaultAccountAddress, recipient));
|
|
32
32
|
const batch = new BatchCall(wallet, calls);
|
|
33
|
-
const opts =
|
|
34
|
-
this.log.verbose(`Simulating transaction with ${calls.length}`, logCtx);
|
|
35
|
-
await batch.simulate({
|
|
36
|
-
from: this.defaultAccountAddress
|
|
37
|
-
});
|
|
33
|
+
const opts = this.getSendMethodOpts();
|
|
38
34
|
this.log.verbose(`Sending transaction`, logCtx);
|
|
39
|
-
|
|
35
|
+
const { txHash } = await batch.send({
|
|
36
|
+
...opts,
|
|
37
|
+
wait: NO_WAIT
|
|
38
|
+
});
|
|
39
|
+
return txHash;
|
|
40
40
|
}
|
|
41
41
|
async getBalances() {
|
|
42
42
|
if (isStandardTokenContract(this.token)) {
|
|
43
43
|
return {
|
|
44
44
|
sender: await getBalances(this.token, this.defaultAccountAddress),
|
|
45
|
-
recipient: await getBalances(this.token, this.recipient
|
|
45
|
+
recipient: await getBalances(this.token, this.recipient)
|
|
46
46
|
};
|
|
47
47
|
} else {
|
|
48
48
|
return {
|
|
@@ -51,7 +51,7 @@ export class Bot extends BaseBot {
|
|
|
51
51
|
publicBalance: 0n
|
|
52
52
|
},
|
|
53
53
|
recipient: {
|
|
54
|
-
privateBalance: await getPrivateBalance(this.token, this.recipient
|
|
54
|
+
privateBalance: await getPrivateBalance(this.token, this.recipient),
|
|
55
55
|
publicBalance: 0n
|
|
56
56
|
}
|
|
57
57
|
};
|
package/dest/config.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { type ConfigMappingsType, SecretValue } from '@aztec/foundation/config';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
3
|
-
import { type DataStoreConfig } from '@aztec/kv-store
|
|
4
|
-
import { type ZodFor } from '@aztec/stdlib/schemas';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import { type DataStoreConfig } from '@aztec/stdlib/kv-store';
|
|
5
4
|
import type { ComponentsVersions } from '@aztec/stdlib/versioning';
|
|
6
5
|
import { z } from 'zod';
|
|
7
|
-
declare const BotFollowChain: readonly ["NONE", "
|
|
6
|
+
declare const BotFollowChain: readonly ["NONE", "PROPOSED", "CHECKPOINTED", "PROVEN"];
|
|
8
7
|
type BotFollowChain = (typeof BotFollowChain)[number];
|
|
8
|
+
declare const BotMode: readonly ["transfer", "amm", "crosschain"];
|
|
9
|
+
type BotMode = (typeof BotMode)[number];
|
|
9
10
|
export declare enum SupportedTokenContracts {
|
|
10
11
|
TokenContract = "TokenContract",
|
|
11
12
|
PrivateTokenContract = "PrivateTokenContract"
|
|
@@ -37,8 +38,8 @@ export type BotConfig = {
|
|
|
37
38
|
publicTransfersPerTx: number;
|
|
38
39
|
/** How to handle fee payments. */
|
|
39
40
|
feePaymentMethod: 'fee_juice';
|
|
40
|
-
/** 'How much is the bot willing to overpay vs. the current
|
|
41
|
-
|
|
41
|
+
/** 'How much is the bot willing to overpay vs. the current min fee' */
|
|
42
|
+
minFeePadding: number;
|
|
42
43
|
/** True to not automatically setup or start the bot on initialization. */
|
|
43
44
|
noStart: boolean;
|
|
44
45
|
/** How long to wait for a tx to be mined before reporting an error. */
|
|
@@ -49,9 +50,9 @@ export type BotConfig = {
|
|
|
49
50
|
maxPendingTxs: number;
|
|
50
51
|
/** Whether to flush after sending each 'setup' transaction */
|
|
51
52
|
flushSetupTransactions: boolean;
|
|
52
|
-
/** L2 gas limit for the tx (empty to
|
|
53
|
+
/** L2 gas limit for the tx (empty to let the bot's wallet estimate). */
|
|
53
54
|
l2GasLimit: number | undefined;
|
|
54
|
-
/** DA gas limit for the tx (empty to
|
|
55
|
+
/** DA gas limit for the tx (empty to let the bot's wallet estimate). */
|
|
55
56
|
daGasLimit: number | undefined;
|
|
56
57
|
/** Token contract to use */
|
|
57
58
|
contract: SupportedTokenContracts;
|
|
@@ -59,110 +60,72 @@ export type BotConfig = {
|
|
|
59
60
|
maxConsecutiveErrors: number;
|
|
60
61
|
/** Stops the bot if service becomes unhealthy */
|
|
61
62
|
stopWhenUnhealthy: boolean;
|
|
62
|
-
/**
|
|
63
|
-
|
|
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;
|
|
64
69
|
} & Pick<DataStoreConfig, 'dataDirectory' | 'dataStoreMapSizeKb'>;
|
|
65
|
-
export declare const BotConfigSchema: z.
|
|
70
|
+
export declare const BotConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
66
71
|
nodeUrl: z.ZodOptional<z.ZodString>;
|
|
67
72
|
nodeAdminUrl: z.ZodOptional<z.ZodString>;
|
|
68
|
-
l1RpcUrls: z.ZodOptional<z.ZodArray<z.ZodString
|
|
69
|
-
l1Mnemonic: z.ZodOptional<z.ZodType<SecretValue<string>, any, any
|
|
70
|
-
l1PrivateKey: z.ZodOptional<z.ZodType<SecretValue<string>, any, any
|
|
73
|
+
l1RpcUrls: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
74
|
+
l1Mnemonic: z.ZodOptional<z.ZodType<SecretValue<string>, any, z.core.$ZodTypeInternals<SecretValue<string>, any>>>;
|
|
75
|
+
l1PrivateKey: z.ZodOptional<z.ZodType<SecretValue<string>, any, z.core.$ZodTypeInternals<SecretValue<string>, any>>>;
|
|
71
76
|
l1ToL2MessageTimeoutSeconds: z.ZodNumber;
|
|
72
|
-
senderPrivateKey: z.ZodOptional<z.ZodType<SecretValue<Fr>, any, any
|
|
73
|
-
senderSalt: z.ZodOptional<ZodFor<Fr>>;
|
|
74
|
-
tokenSalt: ZodFor<Fr>;
|
|
77
|
+
senderPrivateKey: z.ZodOptional<z.ZodType<SecretValue<Fr>, any, z.core.$ZodTypeInternals<SecretValue<Fr>, any>>>;
|
|
78
|
+
senderSalt: z.ZodOptional<import("@aztec/stdlib/schemas").ZodFor<Fr>>;
|
|
79
|
+
tokenSalt: import("@aztec/stdlib/schemas").ZodFor<Fr>;
|
|
75
80
|
txIntervalSeconds: z.ZodNumber;
|
|
76
81
|
privateTransfersPerTx: z.ZodNumber;
|
|
77
82
|
publicTransfersPerTx: z.ZodNumber;
|
|
78
83
|
feePaymentMethod: z.ZodLiteral<"fee_juice">;
|
|
79
|
-
|
|
84
|
+
minFeePadding: z.ZodNumber;
|
|
80
85
|
noStart: z.ZodBoolean;
|
|
81
86
|
txMinedWaitSeconds: z.ZodNumber;
|
|
82
|
-
followChain: z.ZodEnum<
|
|
87
|
+
followChain: z.ZodEnum<{
|
|
88
|
+
CHECKPOINTED: "CHECKPOINTED";
|
|
89
|
+
NONE: "NONE";
|
|
90
|
+
PROPOSED: "PROPOSED";
|
|
91
|
+
PROVEN: "PROVEN";
|
|
92
|
+
}>;
|
|
83
93
|
maxPendingTxs: z.ZodNumber;
|
|
84
94
|
flushSetupTransactions: z.ZodBoolean;
|
|
85
95
|
l2GasLimit: z.ZodOptional<z.ZodNumber>;
|
|
86
96
|
daGasLimit: z.ZodOptional<z.ZodNumber>;
|
|
87
|
-
contract: z.
|
|
97
|
+
contract: z.ZodEnum<typeof SupportedTokenContracts>;
|
|
88
98
|
maxConsecutiveErrors: z.ZodNumber;
|
|
89
99
|
stopWhenUnhealthy: z.ZodBoolean;
|
|
90
|
-
|
|
100
|
+
botMode: z.ZodDefault<z.ZodEnum<{
|
|
101
|
+
amm: "amm";
|
|
102
|
+
crosschain: "crosschain";
|
|
103
|
+
transfer: "transfer";
|
|
104
|
+
}>>;
|
|
105
|
+
l2ToL1MessagesPerTx: z.ZodDefault<z.ZodNumber>;
|
|
106
|
+
l1ToL2SeedCount: z.ZodDefault<z.ZodNumber>;
|
|
91
107
|
dataDirectory: z.ZodOptional<z.ZodString>;
|
|
92
108
|
dataStoreMapSizeKb: z.ZodOptional<z.ZodNumber>;
|
|
93
|
-
},
|
|
94
|
-
nodeUrl?: string | undefined;
|
|
95
|
-
nodeAdminUrl?: string | undefined;
|
|
96
|
-
l1RpcUrls?: string[] | undefined;
|
|
97
|
-
l1Mnemonic?: SecretValue<string> | undefined;
|
|
98
|
-
l1PrivateKey?: SecretValue<string> | undefined;
|
|
109
|
+
}, z.core.$strip>, z.ZodTransform<{
|
|
99
110
|
l1ToL2MessageTimeoutSeconds: number;
|
|
100
|
-
senderPrivateKey?: SecretValue<Fr> | undefined;
|
|
101
|
-
senderSalt?: Fr | undefined;
|
|
102
111
|
tokenSalt: Fr;
|
|
103
112
|
txIntervalSeconds: number;
|
|
104
113
|
privateTransfersPerTx: number;
|
|
105
114
|
publicTransfersPerTx: number;
|
|
106
115
|
feePaymentMethod: "fee_juice";
|
|
107
|
-
|
|
108
|
-
noStart: boolean;
|
|
109
|
-
txMinedWaitSeconds: number;
|
|
110
|
-
followChain: "NONE" | "PENDING" | "PROVEN";
|
|
111
|
-
maxPendingTxs: number;
|
|
112
|
-
flushSetupTransactions: boolean;
|
|
113
|
-
l2GasLimit?: number | undefined;
|
|
114
|
-
daGasLimit?: number | undefined;
|
|
115
|
-
contract: SupportedTokenContracts;
|
|
116
|
-
maxConsecutiveErrors: number;
|
|
117
|
-
stopWhenUnhealthy: boolean;
|
|
118
|
-
ammTxs: boolean;
|
|
119
|
-
dataDirectory?: string | undefined;
|
|
120
|
-
dataStoreMapSizeKb?: number | undefined;
|
|
121
|
-
}, {
|
|
122
|
-
nodeUrl?: string | undefined;
|
|
123
|
-
nodeAdminUrl?: string | undefined;
|
|
124
|
-
l1RpcUrls?: string[] | undefined;
|
|
125
|
-
l1Mnemonic?: any;
|
|
126
|
-
l1PrivateKey?: any;
|
|
127
|
-
l1ToL2MessageTimeoutSeconds: number;
|
|
128
|
-
senderPrivateKey?: any;
|
|
129
|
-
senderSalt?: any;
|
|
130
|
-
tokenSalt?: any;
|
|
131
|
-
txIntervalSeconds: number;
|
|
132
|
-
privateTransfersPerTx: number;
|
|
133
|
-
publicTransfersPerTx: number;
|
|
134
|
-
feePaymentMethod: "fee_juice";
|
|
135
|
-
baseFeePadding: number;
|
|
116
|
+
minFeePadding: number;
|
|
136
117
|
noStart: boolean;
|
|
137
118
|
txMinedWaitSeconds: number;
|
|
138
|
-
followChain: "NONE" | "
|
|
119
|
+
followChain: "CHECKPOINTED" | "NONE" | "PROPOSED" | "PROVEN";
|
|
139
120
|
maxPendingTxs: number;
|
|
140
121
|
flushSetupTransactions: boolean;
|
|
141
|
-
l2GasLimit?: number | undefined;
|
|
142
|
-
daGasLimit?: number | undefined;
|
|
143
122
|
contract: SupportedTokenContracts;
|
|
144
123
|
maxConsecutiveErrors: number;
|
|
145
124
|
stopWhenUnhealthy: boolean;
|
|
146
|
-
|
|
125
|
+
botMode: "amm" | "crosschain" | "transfer";
|
|
126
|
+
l2ToL1MessagesPerTx: number;
|
|
127
|
+
l1ToL2SeedCount: number;
|
|
147
128
|
dataDirectory?: string | undefined;
|
|
148
|
-
dataStoreMapSizeKb?: number | undefined;
|
|
149
|
-
}>, {
|
|
150
|
-
l1ToL2MessageTimeoutSeconds: number;
|
|
151
|
-
tokenSalt: Fr;
|
|
152
|
-
txIntervalSeconds: number;
|
|
153
|
-
privateTransfersPerTx: number;
|
|
154
|
-
publicTransfersPerTx: number;
|
|
155
|
-
feePaymentMethod: "fee_juice";
|
|
156
|
-
baseFeePadding: number;
|
|
157
|
-
noStart: boolean;
|
|
158
|
-
txMinedWaitSeconds: number;
|
|
159
|
-
followChain: "NONE" | "PENDING" | "PROVEN";
|
|
160
|
-
maxPendingTxs: number;
|
|
161
|
-
flushSetupTransactions: boolean;
|
|
162
|
-
contract: SupportedTokenContracts;
|
|
163
|
-
maxConsecutiveErrors: number;
|
|
164
|
-
stopWhenUnhealthy: boolean;
|
|
165
|
-
ammTxs: boolean;
|
|
166
129
|
nodeUrl: string | undefined;
|
|
167
130
|
nodeAdminUrl: string | undefined;
|
|
168
131
|
l1RpcUrls: string[] | undefined;
|
|
@@ -172,26 +135,25 @@ export declare const BotConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
172
135
|
l1Mnemonic: SecretValue<string> | undefined;
|
|
173
136
|
l1PrivateKey: SecretValue<string> | undefined;
|
|
174
137
|
senderPrivateKey: SecretValue<Fr> | undefined;
|
|
175
|
-
dataDirectory: string | undefined;
|
|
176
138
|
dataStoreMapSizeKb: number;
|
|
177
139
|
}, {
|
|
178
140
|
nodeUrl?: string | undefined;
|
|
179
141
|
nodeAdminUrl?: string | undefined;
|
|
180
142
|
l1RpcUrls?: string[] | undefined;
|
|
181
|
-
l1Mnemonic?:
|
|
182
|
-
l1PrivateKey?:
|
|
143
|
+
l1Mnemonic?: SecretValue<string> | undefined;
|
|
144
|
+
l1PrivateKey?: SecretValue<string> | undefined;
|
|
183
145
|
l1ToL2MessageTimeoutSeconds: number;
|
|
184
|
-
senderPrivateKey?:
|
|
185
|
-
senderSalt?:
|
|
186
|
-
tokenSalt
|
|
146
|
+
senderPrivateKey?: SecretValue<Fr> | undefined;
|
|
147
|
+
senderSalt?: Fr | undefined;
|
|
148
|
+
tokenSalt: Fr;
|
|
187
149
|
txIntervalSeconds: number;
|
|
188
150
|
privateTransfersPerTx: number;
|
|
189
151
|
publicTransfersPerTx: number;
|
|
190
152
|
feePaymentMethod: "fee_juice";
|
|
191
|
-
|
|
153
|
+
minFeePadding: number;
|
|
192
154
|
noStart: boolean;
|
|
193
155
|
txMinedWaitSeconds: number;
|
|
194
|
-
followChain: "NONE" | "
|
|
156
|
+
followChain: "CHECKPOINTED" | "NONE" | "PROPOSED" | "PROVEN";
|
|
195
157
|
maxPendingTxs: number;
|
|
196
158
|
flushSetupTransactions: boolean;
|
|
197
159
|
l2GasLimit?: number | undefined;
|
|
@@ -199,13 +161,15 @@ export declare const BotConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
199
161
|
contract: SupportedTokenContracts;
|
|
200
162
|
maxConsecutiveErrors: number;
|
|
201
163
|
stopWhenUnhealthy: boolean;
|
|
202
|
-
|
|
164
|
+
botMode: "amm" | "crosschain" | "transfer";
|
|
165
|
+
l2ToL1MessagesPerTx: number;
|
|
166
|
+
l1ToL2SeedCount: number;
|
|
203
167
|
dataDirectory?: string | undefined;
|
|
204
168
|
dataStoreMapSizeKb?: number | undefined;
|
|
205
|
-
}
|
|
169
|
+
}>>;
|
|
206
170
|
export declare const botConfigMappings: ConfigMappingsType<BotConfig>;
|
|
207
171
|
export declare function getBotConfigFromEnv(): BotConfig;
|
|
208
172
|
export declare function getBotDefaultConfig(): BotConfig;
|
|
209
173
|
export declare function getVersions(): Partial<ComponentsVersions>;
|
|
210
174
|
export {};
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixXQUFXLEVBVVosTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHdCQUF3QixDQUFDO0FBRWxGLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbkUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixRQUFBLE1BQU0sY0FBYyx5REFBMEQsQ0FBQztBQUMvRSxLQUFLLGNBQWMsR0FBRyxDQUFDLE9BQU8sY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFdEQsUUFBQSxNQUFNLE9BQU8sNENBQTZDLENBQUM7QUFDM0QsS0FBSyxPQUFPLEdBQUcsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRXhDLG9CQUFZLHVCQUF1QjtJQUNqQyxhQUFhLGtCQUFrQjtJQUMvQixvQkFBb0IseUJBQXlCO0NBQzlDO0FBRUQsTUFBTSxNQUFNLFNBQVMsR0FBRztJQUN0Qiw2REFBNkQ7SUFDN0QsT0FBTyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDNUIsNEVBQTRFO0lBQzVFLFlBQVksRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ2pDLGdDQUFnQztJQUNoQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLGdFQUFnRTtJQUNoRSxVQUFVLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUM1QyxtRUFBbUU7SUFDbkUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDOUMsdUVBQXVFO0lBQ3ZFLDJCQUEyQixFQUFFLE1BQU0sQ0FBQztJQUNwQyxrREFBa0Q7SUFDbEQsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUM5Qyw2REFBNkQ7SUFDN0QsVUFBVSxFQUFFLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDM0IsaURBQWlEO0lBQ2pELFNBQVMsRUFBRSxFQUFFLENBQUM7SUFDZCxzREFBc0Q7SUFDdEQsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFCLDREQUE0RDtJQUM1RCxxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFDOUIsMkRBQTJEO0lBQzNELG9CQUFvQixFQUFFLE1BQU0sQ0FBQztJQUM3QixrQ0FBa0M7SUFDbEMsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDO0lBQzlCLHVFQUF1RTtJQUN2RSxhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLDBFQUEwRTtJQUMxRSxPQUFPLEVBQUUsT0FBTyxDQUFDO0lBQ2pCLHVFQUF1RTtJQUN2RSxrQkFBa0IsRUFBRSxNQUFNLENBQUM7SUFDM0IsNEVBQTRFO0lBQzVFLFdBQVcsRUFBRSxjQUFjLENBQUM7SUFDNUIsZ0ZBQWdGO0lBQ2hGLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIsOERBQThEO0lBQzlELHNCQUFzQixFQUFFLE9BQU8sQ0FBQztJQUNoQyx3RUFBd0U7SUFDeEUsVUFBVSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDL0Isd0VBQXdFO0lBQ3hFLFVBQVUsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQy9CLDRCQUE0QjtJQUM1QixRQUFRLEVBQUUsdUJBQXVCLENBQUM7SUFDbEMseUVBQXlFO0lBQ3pFLG9CQUFvQixFQUFFLE1BQU0sQ0FBQztJQUM3QixpREFBaUQ7SUFDakQsaUJBQWlCLEVBQUUsT0FBTyxDQUFDO0lBQzNCLDhDQUE4QztJQUM5QyxPQUFPLEVBQUUsT0FBTyxDQUFDO0lBQ2pCLDJEQUF5RDtJQUN6RCxtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFDNUIsZ0VBQThEO0lBQzlELGVBQWUsRUFBRSxNQUFNLENBQUM7Q0FDekIsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLGVBQWUsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDO0FBRWxFLGVBQU8sTUFBTSxlQUFlOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4QzNCLENBQUM7QUFFRixlQUFPLE1BQU0saUJBQWlCLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxDQW1LM0QsQ0FBQztBQUVGLHdCQUFnQixtQkFBbUIsSUFBSSxTQUFTLENBRS9DO0FBRUQsd0JBQWdCLG1CQUFtQixJQUFJLFNBQVMsQ0FFL0M7QUFFRCx3QkFBZ0IsV0FBVyxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUt6RCJ9
|