@aztec/bot 3.0.3 → 4.0.0-devnet.1-patch.1
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 +5 -5
- package/dest/bot.d.ts +6 -6
- package/dest/bot.d.ts.map +1 -1
- package/dest/bot.js +5 -2
- package/dest/config.d.ts +10 -11
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +6 -6
- package/dest/factory.d.ts +5 -10
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +95 -73
- package/dest/runner.d.ts +3 -3
- package/dest/runner.d.ts.map +1 -1
- package/dest/runner.js +412 -30
- package/dest/store/bot_store.d.ts +2 -2
- package/dest/store/bot_store.d.ts.map +1 -1
- package/package.json +14 -14
- package/src/amm_bot.ts +7 -7
- package/src/base_bot.ts +8 -12
- package/src/bot.ts +7 -6
- package/src/config.ts +51 -49
- package/src/factory.ts +84 -57
- package/src/runner.ts +2 -2
package/dest/factory.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { SchnorrAccountContract } from '@aztec/accounts/schnorr';
|
|
2
1
|
import { getInitialTestAccountsData } from '@aztec/accounts/testing';
|
|
3
2
|
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
4
|
-
import { BatchCall } from '@aztec/aztec.js/contracts';
|
|
3
|
+
import { BatchCall, NO_WAIT } from '@aztec/aztec.js/contracts';
|
|
5
4
|
import { L1FeeJuicePortalManager } from '@aztec/aztec.js/ethereum';
|
|
6
5
|
import { FeeJuicePaymentMethodWithClaim } from '@aztec/aztec.js/fee';
|
|
6
|
+
import { deriveKeys } from '@aztec/aztec.js/keys';
|
|
7
7
|
import { createLogger } from '@aztec/aztec.js/log';
|
|
8
8
|
import { waitForL1ToL2MessageReady } from '@aztec/aztec.js/messaging';
|
|
9
|
+
import { waitForTx } from '@aztec/aztec.js/node';
|
|
9
10
|
import { createEthereumChain } from '@aztec/ethereum/chain';
|
|
10
11
|
import { createExtendedL1Client } from '@aztec/ethereum/client';
|
|
11
12
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
@@ -39,7 +40,7 @@ export class BotFactory {
|
|
|
39
40
|
* deploying the token contract, and minting tokens if necessary.
|
|
40
41
|
*/ async setup() {
|
|
41
42
|
const defaultAccountAddress = await this.setupAccount();
|
|
42
|
-
const recipient = (await this.wallet.
|
|
43
|
+
const recipient = (await this.wallet.createSchnorrAccount(Fr.random(), Fr.random())).address;
|
|
43
44
|
const token = await this.setupToken(defaultAccountAddress);
|
|
44
45
|
await this.mintTokens(token, defaultAccountAddress);
|
|
45
46
|
return {
|
|
@@ -83,14 +84,9 @@ export class BotFactory {
|
|
|
83
84
|
async setupAccountWithPrivateKey(secret) {
|
|
84
85
|
const salt = this.config.senderSalt ?? Fr.ONE;
|
|
85
86
|
const signingKey = deriveSigningKey(secret);
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
contract: new SchnorrAccountContract(signingKey)
|
|
90
|
-
};
|
|
91
|
-
const accountManager = await this.wallet.createAccount(accountData);
|
|
92
|
-
const isInit = (await this.wallet.getContractMetadata(accountManager.address)).isContractInitialized;
|
|
93
|
-
if (isInit) {
|
|
87
|
+
const accountManager = await this.wallet.createSchnorrAccount(secret, salt, signingKey);
|
|
88
|
+
const metadata = await this.wallet.getContractMetadata(accountManager.address);
|
|
89
|
+
if (metadata.isContractInitialized) {
|
|
94
90
|
this.log.info(`Account at ${accountManager.address.toString()} already initialized`);
|
|
95
91
|
const timer = new Timer();
|
|
96
92
|
const address = accountManager.address;
|
|
@@ -103,22 +99,24 @@ export class BotFactory {
|
|
|
103
99
|
const claim = await this.getOrCreateBridgeClaim(address);
|
|
104
100
|
const paymentMethod = new FeeJuicePaymentMethodWithClaim(accountManager.address, claim);
|
|
105
101
|
const deployMethod = await accountManager.getDeployMethod();
|
|
106
|
-
const maxFeesPerGas = (await this.aztecNode.
|
|
102
|
+
const maxFeesPerGas = (await this.aztecNode.getCurrentMinFees()).mul(1 + this.config.minFeePadding);
|
|
107
103
|
const gasSettings = GasSettings.default({
|
|
108
104
|
maxFeesPerGas
|
|
109
105
|
});
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
106
|
+
await this.withNoMinTxsPerBlock(async ()=>{
|
|
107
|
+
const txHash = await deployMethod.send({
|
|
108
|
+
from: AztecAddress.ZERO,
|
|
109
|
+
fee: {
|
|
110
|
+
gasSettings,
|
|
111
|
+
paymentMethod
|
|
112
|
+
},
|
|
113
|
+
wait: NO_WAIT
|
|
114
|
+
});
|
|
115
|
+
this.log.info(`Sent tx for account deployment with hash ${txHash.toString()}`);
|
|
116
|
+
return waitForTx(this.aztecNode, txHash, {
|
|
120
117
|
timeout: this.config.txMinedWaitSeconds
|
|
121
|
-
})
|
|
118
|
+
});
|
|
119
|
+
});
|
|
122
120
|
this.log.info(`Account deployed at ${address}`);
|
|
123
121
|
// Clean up the consumed bridge claim
|
|
124
122
|
await this.store.deleteBridgeClaim(address);
|
|
@@ -127,12 +125,7 @@ export class BotFactory {
|
|
|
127
125
|
}
|
|
128
126
|
async setupTestAccount() {
|
|
129
127
|
const [initialAccountData] = await getInitialTestAccountsData();
|
|
130
|
-
const
|
|
131
|
-
secret: initialAccountData.secret,
|
|
132
|
-
salt: initialAccountData.salt,
|
|
133
|
-
contract: new SchnorrAccountContract(initialAccountData.signingKey)
|
|
134
|
-
};
|
|
135
|
-
const accountManager = await this.wallet.createAccount(accountData);
|
|
128
|
+
const accountManager = await this.wallet.createSchnorrAccount(initialAccountData.secret, initialAccountData.salt, initialAccountData.signingKey);
|
|
136
129
|
return accountManager.address;
|
|
137
130
|
}
|
|
138
131
|
/**
|
|
@@ -141,47 +134,66 @@ export class BotFactory {
|
|
|
141
134
|
* @returns The TokenContract instance.
|
|
142
135
|
*/ async setupToken(sender) {
|
|
143
136
|
let deploy;
|
|
137
|
+
let tokenInstance;
|
|
144
138
|
const deployOpts = {
|
|
145
139
|
from: sender,
|
|
146
140
|
contractAddressSalt: this.config.tokenSalt,
|
|
147
141
|
universalDeploy: true
|
|
148
142
|
};
|
|
143
|
+
let token;
|
|
149
144
|
if (this.config.contract === SupportedTokenContracts.TokenContract) {
|
|
150
145
|
deploy = TokenContract.deploy(this.wallet, sender, 'BotToken', 'BOT', 18);
|
|
146
|
+
tokenInstance = await deploy.getInstance(deployOpts);
|
|
147
|
+
token = TokenContract.at(tokenInstance.address, this.wallet);
|
|
151
148
|
} else if (this.config.contract === SupportedTokenContracts.PrivateTokenContract) {
|
|
152
|
-
|
|
149
|
+
// Generate keys for the contract since PrivateToken uses SinglePrivateMutable which requires keys
|
|
150
|
+
const tokenSecretKey = Fr.random();
|
|
151
|
+
const tokenPublicKeys = (await deriveKeys(tokenSecretKey)).publicKeys;
|
|
152
|
+
deploy = PrivateTokenContract.deployWithPublicKeys(tokenPublicKeys, this.wallet, MINT_BALANCE, sender);
|
|
153
153
|
deployOpts.skipInstancePublication = true;
|
|
154
154
|
deployOpts.skipClassPublication = true;
|
|
155
155
|
deployOpts.skipInitialization = false;
|
|
156
|
+
// Register the contract with the secret key before deployment
|
|
157
|
+
tokenInstance = await deploy.getInstance(deployOpts);
|
|
158
|
+
token = PrivateTokenContract.at(tokenInstance.address, this.wallet);
|
|
159
|
+
await this.wallet.registerContract(tokenInstance, PrivateTokenContract.artifact, tokenSecretKey);
|
|
156
160
|
} else {
|
|
157
161
|
throw new Error(`Unsupported token contract type: ${this.config.contract}`);
|
|
158
162
|
}
|
|
159
|
-
const address = (await deploy.getInstance(deployOpts)).address;
|
|
160
|
-
|
|
163
|
+
const address = tokenInstance?.address ?? (await deploy.getInstance(deployOpts)).address;
|
|
164
|
+
const metadata = await this.wallet.getContractMetadata(address);
|
|
165
|
+
if (metadata.isContractPublished) {
|
|
161
166
|
this.log.info(`Token at ${address.toString()} already deployed`);
|
|
162
|
-
|
|
167
|
+
await deploy.register();
|
|
163
168
|
} else {
|
|
164
169
|
this.log.info(`Deploying token contract at ${address.toString()}`);
|
|
165
|
-
const
|
|
166
|
-
|
|
170
|
+
const txHash = await deploy.send({
|
|
171
|
+
...deployOpts,
|
|
172
|
+
wait: NO_WAIT
|
|
173
|
+
});
|
|
167
174
|
this.log.info(`Sent tx for token setup with hash ${txHash.toString()}`);
|
|
168
|
-
|
|
175
|
+
await this.withNoMinTxsPerBlock(async ()=>{
|
|
176
|
+
await waitForTx(this.aztecNode, txHash, {
|
|
169
177
|
timeout: this.config.txMinedWaitSeconds
|
|
170
|
-
})
|
|
178
|
+
});
|
|
179
|
+
return token;
|
|
180
|
+
});
|
|
171
181
|
}
|
|
182
|
+
return token;
|
|
172
183
|
}
|
|
173
184
|
/**
|
|
174
185
|
* Checks if the token contract is deployed and deploys it if necessary.
|
|
175
186
|
* @param wallet - Wallet to deploy the token contract from.
|
|
176
187
|
* @returns The TokenContract instance.
|
|
177
|
-
*/ setupTokenContract(deployer, contractAddressSalt, name, ticker, decimals = 18) {
|
|
188
|
+
*/ async setupTokenContract(deployer, contractAddressSalt, name, ticker, decimals = 18) {
|
|
178
189
|
const deployOpts = {
|
|
179
190
|
from: deployer,
|
|
180
191
|
contractAddressSalt,
|
|
181
192
|
universalDeploy: true
|
|
182
193
|
};
|
|
183
194
|
const deploy = TokenContract.deploy(this.wallet, deployer, name, ticker, decimals);
|
|
184
|
-
|
|
195
|
+
const instance = await this.registerOrDeployContract('Token - ' + name, deploy, deployOpts);
|
|
196
|
+
return TokenContract.at(instance.address, this.wallet);
|
|
185
197
|
}
|
|
186
198
|
async setupAmmContract(deployer, contractAddressSalt, token0, token1, lpToken) {
|
|
187
199
|
const deployOpts = {
|
|
@@ -190,15 +202,16 @@ export class BotFactory {
|
|
|
190
202
|
universalDeploy: true
|
|
191
203
|
};
|
|
192
204
|
const deploy = AMMContract.deploy(this.wallet, token0.address, token1.address, lpToken.address);
|
|
193
|
-
const
|
|
205
|
+
const instance = await this.registerOrDeployContract('AMM', deploy, deployOpts);
|
|
206
|
+
const amm = AMMContract.at(instance.address, this.wallet);
|
|
194
207
|
this.log.info(`AMM deployed at ${amm.address}`);
|
|
195
|
-
const
|
|
196
|
-
from: deployer
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
timeout: this.config.txMinedWaitSeconds
|
|
208
|
+
const minterReceipt = await lpToken.methods.set_minter(amm.address, true).send({
|
|
209
|
+
from: deployer,
|
|
210
|
+
wait: {
|
|
211
|
+
timeout: this.config.txMinedWaitSeconds
|
|
212
|
+
}
|
|
201
213
|
});
|
|
214
|
+
this.log.info(`Set LP token minter to AMM txHash=${minterReceipt.txHash.toString()}`);
|
|
202
215
|
this.log.info(`Liquidity token initialized`);
|
|
203
216
|
return amm;
|
|
204
217
|
}
|
|
@@ -231,45 +244,52 @@ export class BotFactory {
|
|
|
231
244
|
caller: amm.address,
|
|
232
245
|
call: await token1.methods.transfer_to_public_and_prepare_private_balance_increase(liquidityProvider, amm.address, amount1Max, authwitNonce).getFunctionCall()
|
|
233
246
|
});
|
|
234
|
-
const
|
|
247
|
+
const mintReceipt = await new BatchCall(this.wallet, [
|
|
235
248
|
token0.methods.mint_to_private(liquidityProvider, MINT_BALANCE),
|
|
236
249
|
token1.methods.mint_to_private(liquidityProvider, MINT_BALANCE)
|
|
237
250
|
]).send({
|
|
238
|
-
from: liquidityProvider
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
timeout: this.config.txMinedWaitSeconds
|
|
251
|
+
from: liquidityProvider,
|
|
252
|
+
wait: {
|
|
253
|
+
timeout: this.config.txMinedWaitSeconds
|
|
254
|
+
}
|
|
243
255
|
});
|
|
244
|
-
|
|
256
|
+
this.log.info(`Sent mint tx: ${mintReceipt.txHash.toString()}`);
|
|
257
|
+
const addLiquidityReceipt = await amm.methods.add_liquidity(amount0Max, amount1Max, amount0Min, amount1Min, authwitNonce).send({
|
|
245
258
|
from: liquidityProvider,
|
|
246
259
|
authWitnesses: [
|
|
247
260
|
token0Authwit,
|
|
248
261
|
token1Authwit
|
|
249
|
-
]
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
timeout: this.config.txMinedWaitSeconds
|
|
262
|
+
],
|
|
263
|
+
wait: {
|
|
264
|
+
timeout: this.config.txMinedWaitSeconds
|
|
265
|
+
}
|
|
254
266
|
});
|
|
267
|
+
this.log.info(`Sent tx to add liquidity to the AMM: ${addLiquidityReceipt.txHash.toString()}`);
|
|
255
268
|
this.log.info(`Liquidity added`);
|
|
256
269
|
const [newT0Bal, newT1Bal, newLPBal] = await getPrivateBalances();
|
|
257
270
|
this.log.info(`Updated private balances of ${defaultAccountAddress} after minting and funding AMM: token0=${newT0Bal}, token1=${newT1Bal}, lp=${newLPBal}`);
|
|
258
271
|
}
|
|
259
272
|
async registerOrDeployContract(name, deploy, deployOpts) {
|
|
260
|
-
const
|
|
261
|
-
|
|
273
|
+
const instance = await deploy.getInstance(deployOpts);
|
|
274
|
+
const address = instance.address;
|
|
275
|
+
const metadata = await this.wallet.getContractMetadata(address);
|
|
276
|
+
if (metadata.isContractPublished) {
|
|
262
277
|
this.log.info(`Contract ${name} at ${address.toString()} already deployed`);
|
|
263
|
-
|
|
278
|
+
await deploy.register();
|
|
264
279
|
} else {
|
|
265
280
|
this.log.info(`Deploying contract ${name} at ${address.toString()}`);
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
281
|
+
await this.withNoMinTxsPerBlock(async ()=>{
|
|
282
|
+
const txHash = await deploy.send({
|
|
283
|
+
...deployOpts,
|
|
284
|
+
wait: NO_WAIT
|
|
285
|
+
});
|
|
286
|
+
this.log.info(`Sent contract ${name} setup tx with hash ${txHash.toString()}`);
|
|
287
|
+
return waitForTx(this.aztecNode, txHash, {
|
|
270
288
|
timeout: this.config.txMinedWaitSeconds
|
|
271
|
-
})
|
|
289
|
+
});
|
|
290
|
+
});
|
|
272
291
|
}
|
|
292
|
+
return instance;
|
|
273
293
|
}
|
|
274
294
|
/**
|
|
275
295
|
* Mints private and public tokens for the sender if their balance is below the minimum.
|
|
@@ -296,14 +316,16 @@ export class BotFactory {
|
|
|
296
316
|
this.log.info(`Skipping minting as ${minter.toString()} has enough tokens`);
|
|
297
317
|
return;
|
|
298
318
|
}
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
319
|
+
await this.withNoMinTxsPerBlock(async ()=>{
|
|
320
|
+
const txHash = await new BatchCall(token.wallet, calls).send({
|
|
321
|
+
from: minter,
|
|
322
|
+
wait: NO_WAIT
|
|
323
|
+
});
|
|
324
|
+
this.log.info(`Sent token mint tx with hash ${txHash.toString()}`);
|
|
325
|
+
return waitForTx(this.aztecNode, txHash, {
|
|
305
326
|
timeout: this.config.txMinedWaitSeconds
|
|
306
|
-
})
|
|
327
|
+
});
|
|
328
|
+
});
|
|
307
329
|
}
|
|
308
330
|
/**
|
|
309
331
|
* Gets or creates a bridge claim for the recipient.
|
package/dest/runner.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AztecNode } from '@aztec/aztec.js/node';
|
|
2
2
|
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
3
3
|
import { type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
|
|
4
|
-
import type {
|
|
4
|
+
import type { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
5
5
|
import type { BotConfig } from './config.js';
|
|
6
6
|
import type { BotInfo, BotRunnerApi } from './interface.js';
|
|
7
7
|
import { BotStore } from './store/index.js';
|
|
@@ -19,7 +19,7 @@ export declare class BotRunner implements BotRunnerApi, Traceable {
|
|
|
19
19
|
private consecutiveErrors;
|
|
20
20
|
private healthy;
|
|
21
21
|
readonly tracer: Tracer;
|
|
22
|
-
constructor(config: BotConfig, wallet:
|
|
22
|
+
constructor(config: BotConfig, wallet: EmbeddedWallet, aztecNode: AztecNode, telemetry: TelemetryClient, aztecNodeAdmin: AztecNodeAdmin | undefined, store: BotStore);
|
|
23
23
|
/** Initializes the bot if needed. Blocks until the bot setup is finished. */
|
|
24
24
|
setup(): Promise<void>;
|
|
25
25
|
private doSetup;
|
|
@@ -50,4 +50,4 @@ export declare class BotRunner implements BotRunnerApi, Traceable {
|
|
|
50
50
|
/** Returns the bot sender address. */
|
|
51
51
|
getInfo(): Promise<BotInfo>;
|
|
52
52
|
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcnVubmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3RELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxLQUFLLFNBQVMsRUFBRSxLQUFLLE1BQU0sRUFBYSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZHLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzlELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVDLHFCQUFhLFNBQVUsWUFBVyxZQUFZLEVBQUUsU0FBUzs7SUFVckQsT0FBTyxDQUFDLE1BQU07SUFDZCxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFDdkIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTO0lBQzFCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWM7SUFDL0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLO0lBZHhCLE9BQU8sQ0FBQyxHQUFHLENBQXVCO0lBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBbUI7SUFDL0IsT0FBTyxDQUFDLGNBQWMsQ0FBaUI7SUFDdkMsT0FBTyxDQUFDLGlCQUFpQixDQUFLO0lBQzlCLE9BQU8sQ0FBQyxPQUFPLENBQVE7SUFFdkIsU0FBZ0IsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUUvQixZQUNVLE1BQU0sRUFBRSxTQUFTLEVBQ1IsTUFBTSxFQUFFLGNBQWMsRUFDdEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsU0FBUyxFQUFFLGVBQWUsRUFDMUIsY0FBYyxFQUFFLGNBQWMsR0FBRyxTQUFTLEVBQzFDLEtBQUssRUFBRSxRQUFRLEVBS2pDO0lBRUQsNkVBQTZFO0lBQ2hFLEtBQUssa0JBSWpCO1lBR2EsT0FBTztJQU1yQjs7O09BR0c7SUFDVSxLQUFLLGtCQU1qQjtJQUVEOztPQUVHO0lBQ1UsSUFBSSxrQkFPaEI7SUFFTSxTQUFTLFlBRWY7SUFFRCwwQ0FBMEM7SUFDbkMsU0FBUyxZQUVmO0lBRUQ7OztPQUdHO0lBQ1UsTUFBTSxDQUFDLE1BQU0sRUFBRSxTQUFTLGlCQWFwQztJQUVEOzs7T0FHRztJQUNVLEdBQUcsa0JBc0JmO0lBRUQscURBQXFEO0lBQzlDLFNBQVMsdUJBR2Y7SUFFRCxzQ0FBc0M7SUFDekIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FNdkM7Q0F1Q0YifQ==
|
package/dest/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAa,MAAM,yBAAyB,CAAC;AACvG,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAa,MAAM,yBAAyB,CAAC;AACvG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAK9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,qBAAa,SAAU,YAAW,YAAY,EAAE,SAAS;;IAUrD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAdxB,OAAO,CAAC,GAAG,CAAuB;IAClC,OAAO,CAAC,GAAG,CAAC,CAAmB;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,OAAO,CAAQ;IAEvB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,YACU,MAAM,EAAE,SAAS,EACR,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,eAAe,EAC1B,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,KAAK,EAAE,QAAQ,EAKjC;IAED,6EAA6E;IAChE,KAAK,kBAIjB;YAGa,OAAO;IAMrB;;;OAGG;IACU,KAAK,kBAMjB;IAED;;OAEG;IACU,IAAI,kBAOhB;IAEM,SAAS,YAEf;IAED,0CAA0C;IACnC,SAAS,YAEf;IAED;;;OAGG;IACU,MAAM,CAAC,MAAM,EAAE,SAAS,iBAapC;IAED;;;OAGG;IACU,GAAG,kBAsBf;IAED,qDAAqD;IAC9C,SAAS,uBAGf;IAED,sCAAsC;IACzB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAMvC;CAuCF"}
|