@aztec/bot 0.73.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2

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.js CHANGED
@@ -1,11 +1,18 @@
1
- import { BatchCall, FeeJuicePaymentMethod, NoFeePaymentMethod, createLogger, } from '@aztec/aztec.js';
1
+ import { BatchCall, FeeJuicePaymentMethod, NoFeePaymentMethod, createLogger } from '@aztec/aztec.js';
2
2
  import { Gas } from '@aztec/circuits.js';
3
3
  import { timesParallel } from '@aztec/foundation/collection';
4
4
  import { BotFactory } from './factory.js';
5
5
  import { getBalances, getPrivateBalance, isStandardTokenContract } from './utils.js';
6
6
  const TRANSFER_AMOUNT = 1;
7
7
  export class Bot {
8
- constructor(wallet, token, recipient, config) {
8
+ wallet;
9
+ token;
10
+ recipient;
11
+ config;
12
+ log;
13
+ attempts;
14
+ successes;
15
+ constructor(wallet, token, recipient, config){
9
16
  this.wallet = wallet;
10
17
  this.token = token;
11
18
  this.recipient = recipient;
@@ -20,22 +27,26 @@ export class Bot {
20
27
  }
21
28
  updateConfig(config) {
22
29
  this.log.info(`Updating bot config ${Object.keys(config).join(', ')}`);
23
- this.config = { ...this.config, ...config };
30
+ this.config = {
31
+ ...this.config,
32
+ ...config
33
+ };
24
34
  }
25
35
  async run() {
26
36
  this.attempts++;
27
- const logCtx = { runId: Date.now() * 1000 + Math.floor(Math.random() * 1000) };
37
+ const logCtx = {
38
+ runId: Date.now() * 1000 + Math.floor(Math.random() * 1000)
39
+ };
28
40
  const { privateTransfersPerTx, publicTransfersPerTx, feePaymentMethod, followChain, txMinedWaitSeconds } = this.config;
29
41
  const { token, recipient, wallet } = this;
30
42
  const sender = wallet.getAddress();
31
43
  this.log.verbose(`Preparing tx with ${feePaymentMethod} fee with ${privateTransfersPerTx} private and ${publicTransfersPerTx} public transfers`, logCtx);
32
44
  const calls = [];
33
45
  if (isStandardTokenContract(token)) {
34
- calls.push(...(await timesParallel(privateTransfersPerTx, () => token.methods.transfer(recipient, TRANSFER_AMOUNT).request())));
35
- calls.push(...(await timesParallel(publicTransfersPerTx, () => token.methods.transfer_in_public(sender, recipient, TRANSFER_AMOUNT, 0).request())));
36
- }
37
- else {
38
- calls.push(...(await timesParallel(privateTransfersPerTx, () => token.methods.transfer(TRANSFER_AMOUNT, sender, recipient).request())));
46
+ calls.push(...await timesParallel(privateTransfersPerTx, ()=>token.methods.transfer(recipient, TRANSFER_AMOUNT).request()));
47
+ calls.push(...await timesParallel(publicTransfersPerTx, ()=>token.methods.transfer_in_public(sender, recipient, TRANSFER_AMOUNT, 0).request()));
48
+ } else {
49
+ calls.push(...await timesParallel(privateTransfersPerTx, ()=>token.methods.transfer(TRANSFER_AMOUNT, sender, recipient).request()));
39
50
  }
40
51
  const opts = this.getSendMethodOpts();
41
52
  const batch = new BatchCall(wallet, calls);
@@ -54,7 +65,7 @@ export class Bot {
54
65
  const receipt = await tx.wait({
55
66
  timeout: txMinedWaitSeconds,
56
67
  provenTimeout: txMinedWaitSeconds,
57
- proven: followChain === 'PROVEN',
68
+ proven: followChain === 'PROVEN'
58
69
  });
59
70
  this.log.info(`Tx #${this.attempts} ${receipt.txHash} successfully mined in block ${receipt.blockNumber} (stats: ${this.successes}/${this.attempts} success)`, logCtx);
60
71
  this.successes++;
@@ -63,19 +74,18 @@ export class Bot {
63
74
  if (isStandardTokenContract(this.token)) {
64
75
  return {
65
76
  sender: await getBalances(this.token, this.wallet.getAddress()),
66
- recipient: await getBalances(this.token, this.recipient),
77
+ recipient: await getBalances(this.token, this.recipient)
67
78
  };
68
- }
69
- else {
79
+ } else {
70
80
  return {
71
81
  sender: {
72
82
  privateBalance: await getPrivateBalance(this.token, this.wallet.getAddress()),
73
- publicBalance: 0n,
83
+ publicBalance: 0n
74
84
  },
75
85
  recipient: {
76
86
  privateBalance: await getPrivateBalance(this.token, this.recipient),
77
- publicBalance: 0n,
78
- },
87
+ publicBalance: 0n
88
+ }
79
89
  };
80
90
  }
81
91
  }
@@ -85,17 +95,28 @@ export class Bot {
85
95
  const paymentMethod = feePaymentMethod === 'fee_juice' ? new FeeJuicePaymentMethod(sender) : new NoFeePaymentMethod();
86
96
  let gasSettings, estimateGas;
87
97
  if (l2GasLimit !== undefined && l2GasLimit > 0 && daGasLimit !== undefined && daGasLimit > 0) {
88
- gasSettings = { gasLimits: Gas.from({ l2Gas: l2GasLimit, daGas: daGasLimit }) };
98
+ gasSettings = {
99
+ gasLimits: Gas.from({
100
+ l2Gas: l2GasLimit,
101
+ daGas: daGasLimit
102
+ })
103
+ };
89
104
  estimateGas = false;
90
105
  this.log.verbose(`Using gas limits ${l2GasLimit} L2 gas ${daGasLimit} DA gas`);
91
- }
92
- else {
106
+ } else {
93
107
  estimateGas = true;
94
108
  this.log.verbose(`Estimating gas for transaction`);
95
109
  }
96
110
  const baseFeePadding = 2; // Send 3x the current base fee
97
111
  this.log.verbose(skipPublicSimulation ? `Skipping public simulation` : `Simulating public transfers`);
98
- return { fee: { estimateGas, paymentMethod, gasSettings, baseFeePadding }, skipPublicSimulation };
112
+ return {
113
+ fee: {
114
+ estimateGas,
115
+ paymentMethod,
116
+ gasSettings,
117
+ baseFeePadding
118
+ },
119
+ skipPublicSimulation
120
+ };
99
121
  }
100
122
  }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2JvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULHFCQUFxQixFQUNyQixrQkFBa0IsRUFHbEIsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUs3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFckYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0FBRTFCLE1BQU0sT0FBTyxHQUFHO0lBTWQsWUFDa0IsTUFBYyxFQUNkLEtBQStDLEVBQy9DLFNBQXVCLEVBQ2hDLE1BQWlCO1FBSFIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQTBDO1FBQy9DLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQVRsQixRQUFHLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsY0FBUyxHQUFXLENBQUMsQ0FBQztJQU8zQixDQUFDO0lBRUosTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBaUIsRUFBRSxlQUFnRCxFQUFFO1FBQ3ZGLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hGLE9BQU8sSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUs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
package/dest/config.js CHANGED
@@ -1,15 +1,18 @@
1
1
  import { Fr } from '@aztec/circuits.js';
2
- import { booleanConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, optionalNumberConfigHelper, } from '@aztec/foundation/config';
2
+ import { booleanConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, optionalNumberConfigHelper } from '@aztec/foundation/config';
3
3
  import { schemas } from '@aztec/foundation/schemas';
4
4
  import { z } from 'zod';
5
- const BotFollowChain = ['NONE', 'PENDING', 'PROVEN'];
6
- export var SupportedTokenContracts;
7
- (function (SupportedTokenContracts) {
5
+ const BotFollowChain = [
6
+ 'NONE',
7
+ 'PENDING',
8
+ 'PROVEN'
9
+ ];
10
+ export var SupportedTokenContracts = /*#__PURE__*/ function(SupportedTokenContracts) {
8
11
  SupportedTokenContracts["TokenContract"] = "TokenContract";
9
12
  SupportedTokenContracts["EasyPrivateTokenContract"] = "EasyPrivateTokenContract";
10
- })(SupportedTokenContracts || (SupportedTokenContracts = {}));
11
- export const BotConfigSchema = z
12
- .object({
13
+ return SupportedTokenContracts;
14
+ }({});
15
+ export const BotConfigSchema = z.object({
13
16
  nodeUrl: z.string().optional(),
14
17
  pxeUrl: z.string().optional(),
15
18
  senderPrivateKey: schemas.Fr,
@@ -18,7 +21,10 @@ export const BotConfigSchema = z
18
21
  txIntervalSeconds: z.number(),
19
22
  privateTransfersPerTx: z.number(),
20
23
  publicTransfersPerTx: z.number(),
21
- feePaymentMethod: z.union([z.literal('fee_juice'), z.literal('none')]),
24
+ feePaymentMethod: z.union([
25
+ z.literal('fee_juice'),
26
+ z.literal('none')
27
+ ]),
22
28
  noStart: z.boolean(),
23
29
  txMinedWaitSeconds: z.number(),
24
30
  followChain: z.enum(BotFollowChain),
@@ -29,130 +35,129 @@ export const BotConfigSchema = z
29
35
  daGasLimit: z.number().optional(),
30
36
  contract: z.nativeEnum(SupportedTokenContracts),
31
37
  maxConsecutiveErrors: z.number(),
32
- stopWhenUnhealthy: z.boolean(),
33
- })
34
- .transform(config => ({
35
- nodeUrl: undefined,
36
- pxeUrl: undefined,
37
- l2GasLimit: undefined,
38
- daGasLimit: undefined,
39
- ...config,
40
- }));
38
+ stopWhenUnhealthy: z.boolean()
39
+ }).transform((config)=>({
40
+ nodeUrl: undefined,
41
+ pxeUrl: undefined,
42
+ l2GasLimit: undefined,
43
+ daGasLimit: undefined,
44
+ ...config
45
+ }));
41
46
  export const botConfigMappings = {
42
47
  nodeUrl: {
43
48
  env: 'AZTEC_NODE_URL',
44
- description: 'The URL to the Aztec node to check for tx pool status.',
49
+ description: 'The URL to the Aztec node to check for tx pool status.'
45
50
  },
46
51
  pxeUrl: {
47
52
  env: 'BOT_PXE_URL',
48
- description: 'URL to the PXE for sending txs, or undefined if an in-proc PXE is used.',
53
+ description: 'URL to the PXE for sending txs, or undefined if an in-proc PXE is used.'
49
54
  },
50
55
  senderPrivateKey: {
51
56
  env: 'BOT_PRIVATE_KEY',
52
57
  description: 'Signing private key for the sender account.',
53
- parseEnv: (val) => Fr.fromHexString(val),
54
- defaultValue: Fr.random(),
58
+ parseEnv: (val)=>Fr.fromHexString(val),
59
+ defaultValue: Fr.random()
55
60
  },
56
61
  recipientEncryptionSecret: {
57
62
  env: 'BOT_RECIPIENT_ENCRYPTION_SECRET',
58
63
  description: 'Encryption secret for a recipient account.',
59
- parseEnv: (val) => Fr.fromHexString(val),
60
- defaultValue: Fr.fromHexString('0xcafecafe'),
64
+ parseEnv: (val)=>Fr.fromHexString(val),
65
+ defaultValue: Fr.fromHexString('0xcafecafe')
61
66
  },
62
67
  tokenSalt: {
63
68
  env: 'BOT_TOKEN_SALT',
64
69
  description: 'Salt for the token contract deployment.',
65
- parseEnv: (val) => Fr.fromHexString(val),
66
- defaultValue: Fr.fromHexString('1'),
70
+ parseEnv: (val)=>Fr.fromHexString(val),
71
+ defaultValue: Fr.fromHexString('1')
67
72
  },
68
73
  txIntervalSeconds: {
69
74
  env: 'BOT_TX_INTERVAL_SECONDS',
70
75
  description: 'Every how many seconds should a new tx be sent.',
71
- ...numberConfigHelper(60),
76
+ ...numberConfigHelper(60)
72
77
  },
73
78
  privateTransfersPerTx: {
74
79
  env: 'BOT_PRIVATE_TRANSFERS_PER_TX',
75
80
  description: 'How many private token transfers are executed per tx.',
76
- ...numberConfigHelper(1),
81
+ ...numberConfigHelper(1)
77
82
  },
78
83
  publicTransfersPerTx: {
79
84
  env: 'BOT_PUBLIC_TRANSFERS_PER_TX',
80
85
  description: 'How many public token transfers are executed per tx.',
81
- ...numberConfigHelper(1),
86
+ ...numberConfigHelper(1)
82
87
  },
83
88
  feePaymentMethod: {
84
89
  env: 'BOT_FEE_PAYMENT_METHOD',
85
90
  description: 'How to handle fee payments. (Options: fee_juice, none)',
86
- parseEnv: val => val || undefined,
87
- defaultValue: 'none',
91
+ parseEnv: (val)=>val || undefined,
92
+ defaultValue: 'none'
88
93
  },
89
94
  noStart: {
90
95
  env: 'BOT_NO_START',
91
96
  description: 'True to not automatically setup or start the bot on initialization.',
92
- ...booleanConfigHelper(),
97
+ ...booleanConfigHelper()
93
98
  },
94
99
  txMinedWaitSeconds: {
95
100
  env: 'BOT_TX_MINED_WAIT_SECONDS',
96
101
  description: 'How long to wait for a tx to be mined before reporting an error.',
97
- ...numberConfigHelper(180),
102
+ ...numberConfigHelper(180)
98
103
  },
99
104
  followChain: {
100
105
  env: 'BOT_FOLLOW_CHAIN',
101
106
  description: 'Which chain the bot follows',
102
107
  defaultValue: 'NONE',
103
- parseEnv(val) {
108
+ parseEnv (val) {
104
109
  if (!BotFollowChain.includes(val.toUpperCase())) {
105
110
  throw new Error(`Invalid value for BOT_FOLLOW_CHAIN: ${val}`);
106
111
  }
107
112
  return val;
108
- },
113
+ }
109
114
  },
110
115
  maxPendingTxs: {
111
116
  env: 'BOT_MAX_PENDING_TXS',
112
117
  description: "Do not send a tx if the node's tx pool already has this many pending txs.",
113
- ...numberConfigHelper(128),
118
+ ...numberConfigHelper(128)
114
119
  },
115
120
  flushSetupTransactions: {
116
121
  env: 'BOT_FLUSH_SETUP_TRANSACTIONS',
117
122
  description: 'Make a request for the sequencer to build a block after each setup transaction.',
118
- ...booleanConfigHelper(false),
123
+ ...booleanConfigHelper(false)
119
124
  },
120
125
  skipPublicSimulation: {
121
126
  env: 'BOT_SKIP_PUBLIC_SIMULATION',
122
127
  description: 'Whether to skip public simulation of txs before sending them.',
123
- ...booleanConfigHelper(false),
128
+ ...booleanConfigHelper(false)
124
129
  },
125
130
  l2GasLimit: {
126
131
  env: 'BOT_L2_GAS_LIMIT',
127
132
  description: 'L2 gas limit for the tx (empty to have the bot trigger an estimate gas).',
128
- ...optionalNumberConfigHelper(),
133
+ ...optionalNumberConfigHelper()
129
134
  },
130
135
  daGasLimit: {
131
136
  env: 'BOT_DA_GAS_LIMIT',
132
137
  description: 'DA gas limit for the tx (empty to have the bot trigger an estimate gas).',
133
- ...optionalNumberConfigHelper(),
138
+ ...optionalNumberConfigHelper()
134
139
  },
135
140
  contract: {
136
141
  env: 'BOT_TOKEN_CONTRACT',
137
142
  description: 'Token contract to use',
138
- defaultValue: SupportedTokenContracts.TokenContract,
139
- parseEnv(val) {
143
+ defaultValue: "TokenContract",
144
+ parseEnv (val) {
140
145
  if (!Object.values(SupportedTokenContracts).includes(val)) {
141
146
  throw new Error(`Invalid value for BOT_TOKEN_CONTRACT: ${val}. Valid values: ${Object.values(SupportedTokenContracts).join(', ')}`);
142
147
  }
143
148
  return val;
144
- },
149
+ }
145
150
  },
146
151
  maxConsecutiveErrors: {
147
152
  env: 'BOT_MAX_CONSECUTIVE_ERRORS',
148
153
  description: 'The maximum number of consecutive errors before the bot shuts down',
149
- ...numberConfigHelper(0),
154
+ ...numberConfigHelper(0)
150
155
  },
151
156
  stopWhenUnhealthy: {
152
157
  env: 'BOT_STOP_WHEN_UNHEALTHY',
153
158
  description: 'Stops the bot if service becomes unhealthy',
154
- ...booleanConfigHelper(false),
155
- },
159
+ ...booleanConfigHelper(false)
160
+ }
156
161
  };
157
162
  export function getBotConfigFromEnv() {
158
163
  return getConfigFromMappings(botConfigMappings);
@@ -160,4 +165,3 @@ export function getBotConfigFromEnv() {
160
165
  export function getBotDefaultConfig() {
161
166
  return getDefaultConfig(botConfigMappings);
162
167
  }
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEMsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQiwwQkFBMEIsR0FDM0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQWUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFHOUQsTUFBTSxDQUFOLElBQVksdUJBR1g7QUFIRCxXQUFZLHVCQUF1QjtJQUNqQywwREFBK0IsQ0FBQTtJQUMvQixnRkFBcUQsQ0FBQTtBQUN2RCxDQUFDLEVBSFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUdsQztBQTZDRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQztLQUM3QixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixnQkFBZ0IsRUFBRSxPQUFPLENBQUMsRUFBRTtJQUM1Qix5QkFBeUIsRUFBRSxPQUFPLENBQUMsRUFBRTtJQUNyQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEVBQUU7SUFDckIsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUM3QixxQkFBcUIsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQ3BCLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDOUIsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ25DLGFBQWEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3pCLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbkMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtJQUNqQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQztJQUMvQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDL0IsQ0FBQztLQUNELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsTUFBTSxFQUFFLFNBQVM7SUFDakIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsR0FBRyxNQUFNO0NBQ1YsQ0FBQyxDQUE2QixDQUFDO0FBRWxDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFrQztJQUM5RCxPQUFPLEVBQUU7UUFDUCxHQUFHLEVBQUUsZ0JBQWdCO1FBQ3JCLFdBQVcsRUFBRSx3REFBd0Q7S0FDdEU7SUFDRCxNQUFNLEVBQUU7UUFDTixHQUFHLEVBQUUsYUFBYTtRQUNsQixXQUFXLEVBQUUseUVBQXlFO0tBQ3ZGO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsR0FBRyxFQUFFLGlCQUFpQjtRQUN0QixXQUFXLEVBQUUsNkNBQTZDO1FBQzFELFFBQVEsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7UUFDaEQsWUFBWSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUU7S0FDMUI7SUFDRCx5QkFBeUIsRUFBRTtRQUN6QixHQUFHLEVBQUUsaUNBQWlDO1FBQ3RDLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsUUFBUSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQztRQUNoRCxZQUFZLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7S0FDN0M7SUFDRCxTQUFTLEVBQUU7UUFDVCxHQUFHLEVBQUUsZ0JBQWdCO1FBQ3JCLFdBQVcsRUFBRSx5Q0FBeUM7UUFDdEQsUUFBUSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQztRQUNoRCxZQUFZLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7S0FDcEM7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixHQUFHLEVBQUUseUJBQXlCO1FBQzlCLFdBQVcsRUFBRSxpREFBaUQ7UUFDOUQsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7S0FDMUI7SUFDRCxxQkFBcUIsRUFBRTtRQUNyQixHQUFHLEVBQUUsOEJBQThCO1FBQ25DLFdBQVcsRUFBRSx1REFBdUQ7UUFDcEUsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7S0FDekI7SUFDRCxvQkFBb0IsRUFBRTtRQUNwQixHQUFHLEVBQUUsNkJBQTZCO1FBQ2xDLFdBQVcsRUFBRSxzREFBc0Q7UUFDbkUsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7S0FDekI7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixHQUFHLEVBQUUsd0JBQXdCO1FBQzdCLFdBQVcsRUFBRSx3REFBd0Q7UUFDckUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUUsR0FBNEIsSUFBSSxTQUFTO1FBQzNELFlBQVksRUFBRSxNQUFNO0tBQ3JCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsR0FBRyxFQUFFLGNBQWM7UUFDbkIsV0FBVyxFQUFFLHFFQUFxRTtRQUNsRixHQUFHLG1CQUFtQixFQUFFO0tBQ3pCO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsR0FBRyxFQUFFLDJCQUEyQjtRQUNoQyxXQUFXLEVBQUUsa0VBQWtFO1FBQy9FLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDO0tBQzNCO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsR0FBRyxFQUFFLGtCQUFrQjtRQUN2QixXQUFXLEVBQUUsNkJBQTZCO1FBQzFDLFlBQVksRUFBRSxNQUFNO1FBQ3BCLFFBQVEsQ0FBQyxHQUFHO1lBQ1YsSUFBSSxDQUFFLGNBQW9DLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZFLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDaEUsQ0FBQztZQUNELE9BQU8sR0FBcUIsQ0FBQztRQUMvQixDQUFDO0tBQ0Y7SUFDRCxhQUFhLEVBQUU7UUFDYixHQUFHLEVBQUUscUJBQXFCO1FBQzFCLFdBQVcsRUFBRSwyRUFBMkU7UUFDeEYsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUM7S0FDM0I7SUFDRCxzQkFBc0IsRUFBRTtRQUN0QixHQUFHLEVBQUUsOEJBQThCO1FBQ25DLFdBQVcsRUFBRSxpRkFBaUY7UUFDOUYsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7S0FDOUI7SUFDRCxvQkFBb0IsRUFBRTtRQUNwQixHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLFdBQVcsRUFBRSwrREFBK0Q7UUFDNUUsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7S0FDOUI7SUFDRCxVQUFVLEVBQUU7UUFDVixHQUFHLEVBQUUsa0JBQWtCO1FBQ3ZCLFdBQVcsRUFBRSwwRUFBMEU7UUFDdkYsR0FBRywwQkFBMEIsRUFBRTtLQUNoQztJQUNELFVBQVUsRUFBRTtRQUNWLEdBQUcsRUFBRSxrQkFBa0I7UUFDdkIsV0FBVyxFQUFFLDBFQUEwRTtRQUN2RixHQUFHLDBCQUEwQixFQUFFO0tBQ2hDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixXQUFXLEVBQUUsdUJBQXVCO1FBQ3BDLFlBQVksRUFBRSx1QkFBdUIsQ0FBQyxhQUFhO1FBQ25ELFFBQVEsQ0FBQyxHQUFHO1lBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBVSxDQUFDLEVBQUUsQ0FBQztnQkFDakUsTUFBTSxJQUFJLEtBQUssQ0FDYix5Q0FBeUMsR0FBRyxtQkFBbUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLElBQUksQ0FDeEcsSUFBSSxDQUNMLEVBQUUsQ0FDSixDQUFDO1lBQ0osQ0FBQztZQUNELE9BQU8sR0FBOEIsQ0FBQztRQUN4QyxDQUFDO0tBQ0Y7SUFDRCxvQkFBb0IsRUFBRTtRQUNwQixHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLFdBQVcsRUFBRSxvRUFBb0U7UUFDakYsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7S0FDekI7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixHQUFHLEVBQUUseUJBQXlCO1FBQzlCLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7S0FDOUI7Q0FDRixDQUFDO0FBRUYsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPLHFCQUFxQixDQUFZLGlCQUFpQixDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsT0FBTyxnQkFBZ0IsQ0FBWSxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3hELENBQUMifQ==
package/dest/factory.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { getSchnorrAccount } from '@aztec/accounts/schnorr';
2
- import { BatchCall, createLogger, createPXEClient, } from '@aztec/aztec.js';
2
+ import { BatchCall, createLogger, createPXEClient } from '@aztec/aztec.js';
3
3
  import { Fr, deriveSigningKey } from '@aztec/circuits.js';
4
4
  import { EasyPrivateTokenContract } from '@aztec/noir-contracts.js/EasyPrivateToken';
5
5
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
@@ -9,7 +9,11 @@ import { getBalances, getPrivateBalance, isStandardTokenContract } from './utils
9
9
  const MINT_BALANCE = 1e12;
10
10
  const MIN_BALANCE = 1e3;
11
11
  export class BotFactory {
12
- constructor(config, dependencies = {}) {
12
+ config;
13
+ pxe;
14
+ node;
15
+ log;
16
+ constructor(config, dependencies = {}){
13
17
  this.config = config;
14
18
  this.log = createLogger('bot');
15
19
  if (config.flushSetupTransactions && !dependencies.node) {
@@ -25,24 +29,31 @@ export class BotFactory {
25
29
  return;
26
30
  }
27
31
  this.log.info(`Using remote PXE at ${config.pxeUrl}`);
28
- this.pxe = createPXEClient(config.pxeUrl, makeTracedFetch([1, 2, 3], false));
32
+ this.pxe = createPXEClient(config.pxeUrl, makeTracedFetch([
33
+ 1,
34
+ 2,
35
+ 3
36
+ ], false));
29
37
  }
30
38
  /**
31
- * Initializes a new bot by setting up the sender account, registering the recipient,
32
- * deploying the token contract, and minting tokens if necessary.
33
- */
34
- async setup() {
39
+ * Initializes a new bot by setting up the sender account, registering the recipient,
40
+ * deploying the token contract, and minting tokens if necessary.
41
+ */ async setup() {
35
42
  const recipient = await this.registerRecipient();
36
43
  const wallet = await this.setupAccount();
37
44
  const token = await this.setupToken(wallet);
38
45
  await this.mintTokens(token);
39
- return { wallet, token, pxe: this.pxe, recipient };
46
+ return {
47
+ wallet,
48
+ token,
49
+ pxe: this.pxe,
50
+ recipient
51
+ };
40
52
  }
41
53
  /**
42
- * Checks if the sender account contract is initialized, and initializes it if necessary.
43
- * @returns The sender wallet.
44
- */
45
- async setupAccount() {
54
+ * Checks if the sender account contract is initialized, and initializes it if necessary.
55
+ * @returns The sender wallet.
56
+ */ async setupAccount() {
46
57
  const salt = Fr.ONE;
47
58
  const signingKey = deriveSigningKey(this.config.senderPrivateKey);
48
59
  const account = await getSchnorrAccount(this.pxe, this.config.senderPrivateKey, signingKey, salt);
@@ -51,8 +62,7 @@ export class BotFactory {
51
62
  this.log.info(`Account at ${account.getAddress().toString()} already initialized`);
52
63
  const wallet = await account.register();
53
64
  return wallet;
54
- }
55
- else {
65
+ } else {
56
66
  this.log.info(`Initializing account at ${account.getAddress().toString()}`);
57
67
  const sentTx = account.deploy();
58
68
  const txHash = await sentTx.getTxHash();
@@ -62,44 +72,44 @@ export class BotFactory {
62
72
  await this.node.flushTxs();
63
73
  }
64
74
  this.log.verbose('Waiting for account deployment to settle');
65
- await sentTx.wait({ timeout: this.config.txMinedWaitSeconds });
75
+ await sentTx.wait({
76
+ timeout: this.config.txMinedWaitSeconds
77
+ });
66
78
  return account.getWallet();
67
79
  }
68
80
  }
69
81
  /**
70
- * Registers the recipient for txs in the pxe.
71
- */
72
- async registerRecipient() {
82
+ * Registers the recipient for txs in the pxe.
83
+ */ async registerRecipient() {
73
84
  const recipient = await this.pxe.registerAccount(this.config.recipientEncryptionSecret, Fr.ONE);
74
85
  return recipient.address;
75
86
  }
76
87
  /**
77
- * Checks if the token contract is deployed and deploys it if necessary.
78
- * @param wallet - Wallet to deploy the token contract from.
79
- * @returns The TokenContract instance.
80
- */
81
- async setupToken(wallet) {
88
+ * Checks if the token contract is deployed and deploys it if necessary.
89
+ * @param wallet - Wallet to deploy the token contract from.
90
+ * @returns The TokenContract instance.
91
+ */ async setupToken(wallet) {
82
92
  let deploy;
83
- const deployOpts = { contractAddressSalt: this.config.tokenSalt, universalDeploy: true };
93
+ const deployOpts = {
94
+ contractAddressSalt: this.config.tokenSalt,
95
+ universalDeploy: true
96
+ };
84
97
  if (this.config.contract === SupportedTokenContracts.TokenContract) {
85
98
  deploy = TokenContract.deploy(wallet, wallet.getAddress(), 'BotToken', 'BOT', 18);
86
- }
87
- else if (this.config.contract === SupportedTokenContracts.EasyPrivateTokenContract) {
99
+ } else if (this.config.contract === SupportedTokenContracts.EasyPrivateTokenContract) {
88
100
  deploy = EasyPrivateTokenContract.deploy(wallet, MINT_BALANCE, wallet.getAddress());
89
101
  deployOpts.skipPublicDeployment = true;
90
102
  deployOpts.skipClassRegistration = true;
91
103
  deployOpts.skipInitialization = false;
92
104
  deployOpts.skipPublicSimulation = true;
93
- }
94
- else {
105
+ } else {
95
106
  throw new Error(`Unsupported token contract type: ${this.config.contract}`);
96
107
  }
97
108
  const address = (await deploy.getInstance(deployOpts)).address;
98
109
  if ((await this.pxe.getContractMetadata(address)).isContractPubliclyDeployed) {
99
110
  this.log.info(`Token at ${address.toString()} already deployed`);
100
111
  return deploy.register();
101
- }
102
- else {
112
+ } else {
103
113
  this.log.info(`Deploying token contract at ${address.toString()}`);
104
114
  const sentTx = deploy.send(deployOpts);
105
115
  const txHash = await sentTx.getTxHash();
@@ -109,31 +119,29 @@ export class BotFactory {
109
119
  await this.node.flushTxs();
110
120
  }
111
121
  this.log.verbose('Waiting for token setup to settle');
112
- return sentTx.deployed({ timeout: this.config.txMinedWaitSeconds });
122
+ return sentTx.deployed({
123
+ timeout: this.config.txMinedWaitSeconds
124
+ });
113
125
  }
114
126
  }
115
127
  /**
116
- * Mints private and public tokens for the sender if their balance is below the minimum.
117
- * @param token - Token contract.
118
- */
119
- async mintTokens(token) {
128
+ * Mints private and public tokens for the sender if their balance is below the minimum.
129
+ * @param token - Token contract.
130
+ */ async mintTokens(token) {
120
131
  const sender = token.wallet.getAddress();
121
132
  const isStandardToken = isStandardTokenContract(token);
122
133
  let privateBalance = 0n;
123
134
  let publicBalance = 0n;
124
135
  if (isStandardToken) {
125
136
  ({ privateBalance, publicBalance } = await getBalances(token, sender));
126
- }
127
- else {
137
+ } else {
128
138
  privateBalance = await getPrivateBalance(token, sender);
129
139
  }
130
140
  const calls = [];
131
141
  if (privateBalance < MIN_BALANCE) {
132
142
  this.log.info(`Minting private tokens for ${sender.toString()}`);
133
143
  const from = sender; // we are setting from to sender here because of TODO(#9887)
134
- calls.push(isStandardToken
135
- ? await token.methods.mint_to_private(from, sender, MINT_BALANCE).request()
136
- : await token.methods.mint(MINT_BALANCE, sender).request());
144
+ calls.push(isStandardToken ? await token.methods.mint_to_private(from, sender, MINT_BALANCE).request() : await token.methods.mint(MINT_BALANCE, sender).request());
137
145
  }
138
146
  if (isStandardToken && publicBalance < MIN_BALANCE) {
139
147
  this.log.info(`Minting public tokens for ${sender.toString()}`);
@@ -151,7 +159,8 @@ export class BotFactory {
151
159
  await this.node.flushTxs();
152
160
  }
153
161
  this.log.verbose('Waiting for token mint to settle');
154
- await sentTx.wait({ timeout: this.config.txMinedWaitSeconds });
162
+ await sentTx.wait({
163
+ timeout: this.config.txMinedWaitSeconds
164
+ });
155
165
  }
156
166
  }
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFFTCxTQUFTLEVBR1QsWUFBWSxFQUNaLGVBQWUsR0FDaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUxRCxPQUFPLEVBQWtCLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFckYsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBQzFCLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQztBQUV4QixNQUFNLE9BQU8sVUFBVTtJQUtyQixZQUE2QixNQUFpQixFQUFFLGVBQWdELEVBQUU7UUFBckUsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUZ0QyxRQUFHLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBR2hDLElBQUksTUFBTSxDQUFDLHNCQUFzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hELE1BQU0sSUFBSSxLQUFLLENBQUMsd0ZBQXdGLENBQUMsQ0FBQztRQUM1RyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxt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
package/dest/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  export { Bot } from './bot.js';
2
2
  export { BotRunner } from './runner.js';
3
- export { getBotConfigFromEnv, getBotDefaultConfig, botConfigMappings, SupportedTokenContracts, } from './config.js';
3
+ export { getBotConfigFromEnv, getBotDefaultConfig, botConfigMappings, SupportedTokenContracts } from './config.js';
4
4
  export { createBotRunnerRpcServer, getBotRunnerApiHandler } from './rpc.js';
5
5
  export * from './interface.js';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFFTCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQix1QkFBdUIsR0FDeEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVFLGNBQWMsZ0JBQWdCLENBQUMifQ==
package/dest/interface.js CHANGED
@@ -6,6 +6,5 @@ export const BotRunnerApiSchema = {
6
6
  run: z.function().args().returns(z.void()),
7
7
  setup: z.function().args().returns(z.void()),
8
8
  getConfig: z.function().args().returns(BotConfigSchema),
9
- update: z.function().args(BotConfigSchema).returns(z.void()),
9
+ update: z.function().args(BotConfigSchema).returns(z.void())
10
10
  };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBa0IsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBVzlELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUErQjtJQUM1RCxLQUFLLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNDLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQ3ZELE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7Q0FDN0QsQ0FBQyJ9
package/dest/rpc.js CHANGED
@@ -4,14 +4,16 @@ import { BotRunnerApiSchema } from './interface.js';
4
4
  * Wraps a bot runner with a JSON RPC HTTP server.
5
5
  * @param botRunner - The BotRunner.
6
6
  * @returns An JSON-RPC HTTP server
7
- */
8
- export function createBotRunnerRpcServer(botRunner) {
7
+ */ export function createBotRunnerRpcServer(botRunner) {
9
8
  createTracedJsonRpcServer(botRunner, BotRunnerApiSchema, {
10
9
  http200OnError: false,
11
- healthCheck: botRunner.isHealthy.bind(botRunner),
10
+ healthCheck: botRunner.isHealthy.bind(botRunner)
12
11
  });
13
12
  }
14
13
  export function getBotRunnerApiHandler(botRunner) {
15
- return [botRunner, BotRunnerApiSchema, botRunner.isHealthy.bind(botRunner)];
14
+ return [
15
+ botRunner,
16
+ BotRunnerApiSchema,
17
+ botRunner.isHealthy.bind(botRunner)
18
+ ];
16
19
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUFDLFNBQW9CO0lBQzNELHlCQUF5QixDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRTtRQUN2RCxjQUFjLEVBQUUsS0FBSztRQUNyQixXQUFXLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0tBQ2pELENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsU0FBb0I7SUFDekQsT0FBTyxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQzlFLENBQUMifQ==