@marigoldlabs/web3-tester 0.4.1 → 0.4.2
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/README.md +317 -11
- package/dist/anvil.d.ts.map +1 -1
- package/dist/anvil.js.map +1 -1
- package/dist/benchmark.d.ts +55 -0
- package/dist/benchmark.d.ts.map +1 -0
- package/dist/benchmark.js +168 -0
- package/dist/benchmark.js.map +1 -0
- package/dist/fixtures.js +2 -2
- package/dist/fixtures.js.map +1 -1
- package/dist/index.d.ts +13 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/injected-provider.d.ts.map +1 -1
- package/dist/injected-provider.js +748 -25
- package/dist/injected-provider.js.map +1 -1
- package/dist/mock-wallet-controller.d.ts +150 -2
- package/dist/mock-wallet-controller.d.ts.map +1 -1
- package/dist/mock-wallet-controller.js +613 -24
- package/dist/mock-wallet-controller.js.map +1 -1
- package/dist/private-key-rpc-client.d.ts +144 -132
- package/dist/private-key-rpc-client.d.ts.map +1 -1
- package/dist/private-key-rpc-client.js +142 -20
- package/dist/private-key-rpc-client.js.map +1 -1
- package/dist/real-wallet-cache.d.ts +38 -0
- package/dist/real-wallet-cache.d.ts.map +1 -1
- package/dist/real-wallet-cache.js +143 -57
- package/dist/real-wallet-cache.js.map +1 -1
- package/dist/real-wallet-extension-fixtures.d.ts +35 -0
- package/dist/real-wallet-extension-fixtures.d.ts.map +1 -0
- package/dist/real-wallet-extension-fixtures.js +96 -0
- package/dist/real-wallet-extension-fixtures.js.map +1 -0
- package/dist/real-wallet-extension.d.ts +86 -0
- package/dist/real-wallet-extension.d.ts.map +1 -0
- package/dist/real-wallet-extension.js +245 -0
- package/dist/real-wallet-extension.js.map +1 -0
- package/dist/real-wallet-fixtures.d.ts.map +1 -1
- package/dist/real-wallet-fixtures.js +46 -31
- package/dist/real-wallet-fixtures.js.map +1 -1
- package/dist/real-wallet.d.ts +5 -14
- package/dist/real-wallet.d.ts.map +1 -1
- package/dist/real-wallet.js +668 -435
- package/dist/real-wallet.js.map +1 -1
- package/dist/safe.d.ts +311 -0
- package/dist/safe.d.ts.map +1 -0
- package/dist/safe.js +743 -0
- package/dist/safe.js.map +1 -0
- package/dist/types.d.ts +35 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/wallet-personas.d.ts +99 -0
- package/dist/wallet-personas.d.ts.map +1 -0
- package/dist/wallet-personas.js +666 -0
- package/dist/wallet-personas.js.map +1 -0
- package/dist/walletconnect.d.ts +176 -9
- package/dist/walletconnect.d.ts.map +1 -1
- package/dist/walletconnect.js +514 -74
- package/dist/walletconnect.js.map +1 -1
- package/examples/playwright.config.ts +8 -0
- package/package.json +29 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private-key-rpc-client.d.ts","sourceRoot":"","sources":["../src/private-key-rpc-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,GAAG,EAET,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"private-key-rpc-client.d.ts","sourceRoot":"","sources":["../src/private-key-rpc-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,GAAG,EAET,MAAM,MAAM,CAAC;AAId,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AA4BF,KAAK,oBAAoB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AA4JrF,qBAAa,mBAAoB,YAAW,SAAS;IACnD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAM;IACtC,QAAQ,CAAC,uBAAuB,EAAE,KAAK,CAAC;QACtC,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,GAAG,CAAC;QACV,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,IAAI,CAAC,EAAE,oBAAoB,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAM;IAER,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,0BAA0B;IAuBzC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA4GxD,kFAAkF;IAClF,IAAI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qrBAeG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA8DugO,CAAC;uCAA6lC,CAAC;;;;;;;;;;;;;;;;;6eAAumoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA3E3t4B;IAED,wEAAwE;IAClE,iBAAiB,CAAC,OAAO,EAAE;QAC/B,eAAe,EAAE,GAAG,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;YAaa,qBAAqB;IAgBnC,OAAO,CAAC,wBAAwB;CAqCjC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createPublicClient, createWalletClient, http, isAddress, } from 'viem';
|
|
2
2
|
import { privateKeyToAccount } from 'viem/accounts';
|
|
3
3
|
import { sepolia } from 'viem/chains';
|
|
4
|
+
import { providerError } from './errors.js';
|
|
4
5
|
// Anvil/Hardhat chains are safe targets but viem does not mark them
|
|
5
6
|
// `testnet: true`, so they need their own allowlist entry.
|
|
6
7
|
const LOCAL_DEV_CHAIN_IDS = new Set([1337, 31337]);
|
|
@@ -18,6 +19,106 @@ const normalizeMessage = (message) => {
|
|
|
18
19
|
return hex ? { raw: hex } : String(message ?? '');
|
|
19
20
|
};
|
|
20
21
|
const parseParams = (request) => Array.isArray(request.params) ? [...request.params] : [];
|
|
22
|
+
const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
23
|
+
const parseAddressField = (value, field) => {
|
|
24
|
+
if (value === undefined)
|
|
25
|
+
return undefined;
|
|
26
|
+
if (typeof value === 'string' && isAddress(value))
|
|
27
|
+
return value;
|
|
28
|
+
throw new Error(`${field} must be a valid address.`);
|
|
29
|
+
};
|
|
30
|
+
const parseNullableAddressField = (value, field) => {
|
|
31
|
+
if (value === null)
|
|
32
|
+
return null;
|
|
33
|
+
return parseAddressField(value, field);
|
|
34
|
+
};
|
|
35
|
+
const parseHexField = (value, field) => {
|
|
36
|
+
if (value === undefined)
|
|
37
|
+
return undefined;
|
|
38
|
+
if (typeof value === 'string' && value.startsWith('0x'))
|
|
39
|
+
return value;
|
|
40
|
+
throw new Error(`${field} must be a 0x-prefixed hex string.`);
|
|
41
|
+
};
|
|
42
|
+
const parseHexArrayField = (value, field) => {
|
|
43
|
+
if (value === undefined)
|
|
44
|
+
return undefined;
|
|
45
|
+
if (!Array.isArray(value))
|
|
46
|
+
throw new Error(`${field} must be an array.`);
|
|
47
|
+
return value.map((entry, index) => {
|
|
48
|
+
if (typeof entry === 'string' && entry.startsWith('0x'))
|
|
49
|
+
return entry;
|
|
50
|
+
throw new Error(`${field}[${index}] must be a 0x-prefixed hex string.`);
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
const parseQuantity = (value, field) => {
|
|
54
|
+
if (value === undefined)
|
|
55
|
+
return undefined;
|
|
56
|
+
if (typeof value === 'bigint')
|
|
57
|
+
return value;
|
|
58
|
+
if (typeof value === 'number' && Number.isSafeInteger(value) && value >= 0)
|
|
59
|
+
return BigInt(value);
|
|
60
|
+
if (typeof value === 'string') {
|
|
61
|
+
try {
|
|
62
|
+
return BigInt(value);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// Fall through to the shared error below.
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
throw new Error(`${field} must be a non-negative integer, bigint, decimal string, or 0x-hex quantity.`);
|
|
69
|
+
};
|
|
70
|
+
const parseIndex = (value, field) => {
|
|
71
|
+
const quantity = parseQuantity(value, field);
|
|
72
|
+
if (quantity === undefined)
|
|
73
|
+
return undefined;
|
|
74
|
+
const parsed = Number(quantity);
|
|
75
|
+
if (!Number.isSafeInteger(parsed))
|
|
76
|
+
throw new Error(`${field} is too large to fit in a JavaScript number.`);
|
|
77
|
+
return parsed;
|
|
78
|
+
};
|
|
79
|
+
const parseChainId = (value) => parseIndex(value, 'chainId');
|
|
80
|
+
const transactionTypeAliases = {
|
|
81
|
+
'0x0': 'legacy',
|
|
82
|
+
'0x1': 'eip2930',
|
|
83
|
+
'0x2': 'eip1559',
|
|
84
|
+
'0x3': 'eip4844',
|
|
85
|
+
'0x4': 'eip7702',
|
|
86
|
+
legacy: 'legacy',
|
|
87
|
+
eip2930: 'eip2930',
|
|
88
|
+
eip1559: 'eip1559',
|
|
89
|
+
eip4844: 'eip4844',
|
|
90
|
+
eip7702: 'eip7702',
|
|
91
|
+
};
|
|
92
|
+
const parseTransactionType = (value) => {
|
|
93
|
+
if (value === undefined)
|
|
94
|
+
return undefined;
|
|
95
|
+
if (typeof value !== 'string')
|
|
96
|
+
throw new Error('type must be a transaction type string.');
|
|
97
|
+
const normalized = value.toLowerCase();
|
|
98
|
+
const type = transactionTypeAliases[normalized];
|
|
99
|
+
if (!type) {
|
|
100
|
+
throw new Error(`Unsupported transaction type "${value}". Expected legacy/eip2930/eip1559/eip4844/eip7702 or 0x0-0x4.`);
|
|
101
|
+
}
|
|
102
|
+
return type;
|
|
103
|
+
};
|
|
104
|
+
const parseAccessList = (value) => {
|
|
105
|
+
if (value === undefined)
|
|
106
|
+
return undefined;
|
|
107
|
+
if (!Array.isArray(value))
|
|
108
|
+
throw new Error('accessList must be an array.');
|
|
109
|
+
return value.map((entry, index) => {
|
|
110
|
+
if (!isRecord(entry))
|
|
111
|
+
throw new Error(`accessList[${index}] must be an object.`);
|
|
112
|
+
const address = parseAddressField(entry.address, `accessList[${index}].address`);
|
|
113
|
+
if (!address)
|
|
114
|
+
throw new Error(`accessList[${index}].address is required.`);
|
|
115
|
+
const storageKeys = parseHexArrayField(entry.storageKeys, `accessList[${index}].storageKeys`);
|
|
116
|
+
return {
|
|
117
|
+
address,
|
|
118
|
+
storageKeys: storageKeys ?? [],
|
|
119
|
+
};
|
|
120
|
+
});
|
|
121
|
+
};
|
|
21
122
|
// Dapp-supplied authorization entries are RPC-shaped (hex chainId/nonce/
|
|
22
123
|
// yParity) while viem's sendTransaction expects numbers — a silent
|
|
23
124
|
// passthrough would RLP-encode garbage, so malformed entries fail loudly.
|
|
@@ -142,30 +243,23 @@ export class PrivateKeyRpcClient {
|
|
|
142
243
|
throw new Error('eth_sendTransaction requires a transaction object.');
|
|
143
244
|
}
|
|
144
245
|
await this.assertRpcChainMatches();
|
|
145
|
-
const request =
|
|
146
|
-
account: this.account,
|
|
147
|
-
chain: this.chain,
|
|
148
|
-
to: transaction.to,
|
|
149
|
-
data: transaction.data,
|
|
150
|
-
value: transaction.value ? BigInt(transaction.value) : undefined,
|
|
151
|
-
gas: transaction.gas ? BigInt(transaction.gas) : undefined,
|
|
152
|
-
gasPrice: transaction.gasPrice ? BigInt(transaction.gasPrice) : undefined,
|
|
153
|
-
nonce: transaction.nonce ? Number(BigInt(transaction.nonce)) : undefined,
|
|
154
|
-
maxFeePerGas: transaction.maxFeePerGas
|
|
155
|
-
? BigInt(transaction.maxFeePerGas)
|
|
156
|
-
: undefined,
|
|
157
|
-
maxPriorityFeePerGas: transaction.maxPriorityFeePerGas
|
|
158
|
-
? BigInt(transaction.maxPriorityFeePerGas)
|
|
159
|
-
: undefined,
|
|
160
|
-
authorizationList: parseAuthorizationList(transaction.authorizationList),
|
|
161
|
-
};
|
|
246
|
+
const request = this.toSendTransactionRequest(transaction);
|
|
162
247
|
const hash = await this.walletClient.sendTransaction(request);
|
|
163
248
|
this.sentTransactions.push(hash);
|
|
164
249
|
this.sentTransactionRequests.push({
|
|
250
|
+
accessList: request.accessList,
|
|
251
|
+
from: this.account.address,
|
|
252
|
+
gas: request.gas?.toString(),
|
|
253
|
+
gasPrice: request.gasPrice?.toString(),
|
|
165
254
|
hash,
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
255
|
+
maxFeePerBlobGas: request.maxFeePerBlobGas?.toString(),
|
|
256
|
+
maxFeePerGas: request.maxFeePerGas?.toString(),
|
|
257
|
+
maxPriorityFeePerGas: request.maxPriorityFeePerGas?.toString(),
|
|
258
|
+
nonce: request.nonce,
|
|
259
|
+
to: request.to,
|
|
260
|
+
data: request.data,
|
|
261
|
+
type: request.type,
|
|
262
|
+
value: request.value?.toString(),
|
|
169
263
|
});
|
|
170
264
|
return hash;
|
|
171
265
|
}
|
|
@@ -201,5 +295,33 @@ export class PrivateKeyRpcClient {
|
|
|
201
295
|
}
|
|
202
296
|
this.rpcChainVerified = true;
|
|
203
297
|
}
|
|
298
|
+
toSendTransactionRequest(transaction) {
|
|
299
|
+
const from = parseAddressField(transaction.from, 'from');
|
|
300
|
+
if (from && from.toLowerCase() !== this.account.address.toLowerCase()) {
|
|
301
|
+
throw providerError(4100, `eth_sendTransaction requested from ${from}, but this PrivateKeyRpcClient only controls ${this.account.address}.`);
|
|
302
|
+
}
|
|
303
|
+
const chainId = parseChainId(transaction.chainId);
|
|
304
|
+
if (chainId !== undefined && chainId !== this.chain.id) {
|
|
305
|
+
throw new Error(`eth_sendTransaction chainId ${chainId} does not match configured chain "${this.chain.name}" (id ${this.chain.id}).`);
|
|
306
|
+
}
|
|
307
|
+
return {
|
|
308
|
+
account: this.account,
|
|
309
|
+
accessList: parseAccessList(transaction.accessList),
|
|
310
|
+
authorizationList: parseAuthorizationList(transaction.authorizationList),
|
|
311
|
+
blobVersionedHashes: parseHexArrayField(transaction.blobVersionedHashes, 'blobVersionedHashes'),
|
|
312
|
+
blobs: parseHexArrayField(transaction.blobs, 'blobs'),
|
|
313
|
+
chain: this.chain,
|
|
314
|
+
data: parseHexField(transaction.data ?? transaction.input, 'data'),
|
|
315
|
+
gas: parseQuantity(transaction.gas, 'gas'),
|
|
316
|
+
gasPrice: parseQuantity(transaction.gasPrice, 'gasPrice'),
|
|
317
|
+
maxFeePerBlobGas: parseQuantity(transaction.maxFeePerBlobGas, 'maxFeePerBlobGas'),
|
|
318
|
+
maxFeePerGas: parseQuantity(transaction.maxFeePerGas, 'maxFeePerGas'),
|
|
319
|
+
maxPriorityFeePerGas: parseQuantity(transaction.maxPriorityFeePerGas, 'maxPriorityFeePerGas'),
|
|
320
|
+
nonce: parseIndex(transaction.nonce, 'nonce'),
|
|
321
|
+
to: parseNullableAddressField(transaction.to, 'to'),
|
|
322
|
+
type: parseTransactionType(transaction.type),
|
|
323
|
+
value: parseQuantity(transaction.value, 'value'),
|
|
324
|
+
};
|
|
325
|
+
}
|
|
204
326
|
}
|
|
205
327
|
//# sourceMappingURL=private-key-rpc-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private-key-rpc-client.js","sourceRoot":"","sources":["../src/private-key-rpc-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"private-key-rpc-client.js","sourceRoot":"","sources":["../src/private-key-rpc-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,IAAI,EACJ,SAAS,GAOV,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAW5C,oEAAoE;AACpE,2DAA2D;AAC3D,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAEnD,MAAM,WAAW,GAAG,CAAC,KAAY,EAAW,EAAE,CAC5C,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAE9D,MAAM,mBAAmB,GAAG,CAAC,UAAkB,EAAO,EAAE;IACtD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAClC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,OAAe,CAAC,CAAC,CAAE,KAAK,OAAO,EAAU,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,KAAc,EAAmB,EAAE,CAChD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,KAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AAEnF,6EAA6E;AAC7E,gFAAgF;AAChF,8EAA8E;AAC9E,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAyB,EAAE;IACnE,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,OAAuB,EAAa,EAAE,CACzD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAuB3D,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CACpE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvE,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAE,KAAa,EAAuB,EAAE;IAC/E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2BAA2B,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAAE,KAAa,EAA8B,EAAE;IAC9F,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,KAAa,EAAmB,EAAE;IACvE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAY,CAAC;IAC7E,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,oCAAoC,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAE,KAAa,EAA8B,EAAE;IACvF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,KAAY,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,KAAK,qCAAqC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,KAAa,EAAsB,EAAE;IAC1E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACjG,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,8EAA8E,CAAC,CAAC;AAC1G,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,KAAa,EAAsB,EAAE;IACvE,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,8CAA8C,CAAC,CAAC;IAC3G,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAE1F,MAAM,sBAAsB,GAAyC;IACnE,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAoC,EAAE;IAChF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,iCAAiC,KAAK,gEAAgE,CACvG,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAc,EAA0B,EAAE;IACjE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC3E,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,sBAAsB,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,KAAK,WAAW,CAAC,CAAC;QACjF,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,wBAAwB,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,cAAc,KAAK,eAAe,CAAC,CAAC;QAC9F,OAAO;YACL,OAAO;YACP,WAAW,EAAE,WAAW,IAAI,EAAE;SAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,yEAAyE;AACzE,mEAAmE;AACnE,0EAA0E;AAC1E,MAAM,sBAAsB,GAAG,CAC7B,KAAc,EACwF,EAAE;IACxG,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAChC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAC;QACtD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,CAAY,CAAC;QAClE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,qBAAqB,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAE,IAAY,EAAU,EAAE;YACtD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,GAAG,CAAC;YACb,CAAC;YACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,KAAK,IAAI,qCAAqC,CAAC,CAAC;QAC5F,CAAC,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,OAAc;YACvB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;YAC1C,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;YACpC,CAAC,EAAE,IAAI,CAAC,CAAQ;YAChB,CAAC,EAAE,IAAI,CAAC,CAAQ;YAChB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,SAAS,CAAC;SAChD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,OAAO,mBAAmB;IACrB,OAAO,CAAU;IACjB,KAAK,CAAQ;IACb,gBAAgB,GAAU,EAAE,CAAC;IAC7B,uBAAuB,GAc3B,EAAE,CAAC;IAES,YAAY,CAAC;IACb,YAAY,CAAe;IACpC,gBAAgB,GAAG,KAAK,CAAC;IAEjC,YAAY,OAAmC;QAC7C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CACb,sCAAsC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,EAAE,2CAA2C;gBACpH,uHAAuH;gBACvH,+CAA+C,CAClD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAE5E,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS;SACV,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAEpC,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,qEAAqE;YACrE,sEAAsE;YACtE,2DAA2D;YAC3D,KAAK,cAAc;gBACjB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEhC,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,iEAAiE;gBACjE,oEAAoE;gBACpE,qEAAqE;gBACrE,WAAW;gBACX,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;gBAC/B,MAAM,cAAc,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;gBACrE,MAAM,eAAe,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;gBACxE,MAAM,OAAO,GACX,cAAc,IAAI,CAAC,eAAe,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC9E,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;oBACnC,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;iBACnC,CAAC,CAAC;YACL,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;gBAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;oBACnC,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;iBACnC,CAAC,CAAC;YACL,CAAC;YAED,sEAAsE;YACtE,0DAA0D;YAC1D,KAAK,sBAAsB,CAAC;YAC5B,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC;gBAC7B,MAAM,MAAM,GACV,OAAO,SAAS,KAAK,QAAQ;oBAC3B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;oBACvB,CAAC,CAAC,SAAS,CAAC;gBAEhB,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;oBACrC,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,KAAK,mBAAmB;gBACtB,MAAM,IAAI,KAAK,CACb,kGAAkG,CACnG,CAAC;YAEJ,uEAAuE;YACvE,uBAAuB;YACvB,KAAK,wBAAwB,CAAC,CAAC,CAAC;gBAC9B,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAC3C,OAA0D,CAC3D,CAAQ,CAAC;gBACV,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,MAAM,CAAC,WAAW,CAAC,GAAG,MAA+C,CAAC;gBACtE,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACxE,CAAC;gBAED,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;gBAE3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAClD,OAAyD,CAC1D,CAAC;gBACF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;oBAChC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;oBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE;oBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE;oBACtC,IAAI;oBACJ,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,QAAQ,EAAE;oBACtD,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE;oBAC9C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAAE,QAAQ,EAAE;oBAC9D,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE;iBACjC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;YAED;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAC9B,OAA0D,CAC3D,CAAC;QACN,CAAC;IACH,CAAC;IAED,kFAAkF;IAClF,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,iBAAiB,CAAC,OAKvB;QACC,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;YACzC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SACyB,CAAC,CAAC;IACzD,CAAC;IAED,qEAAqE;IACrE,wEAAwE;IACxE,8BAA8B;IACtB,KAAK,CAAC,qBAAqB;QACjC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAC7D,IAAI,eAAe,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,qCAAqC,eAAe,uCAAuC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK;gBACnI,4DAA4D,CAC/D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAEO,wBAAwB,CAC9B,WAAoC;QAEpC,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YACtE,MAAM,aAAa,CACjB,IAAI,EACJ,sCAAsC,IAAI,gDAAgD,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAClH,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CACb,+BAA+B,OAAO,qCAAqC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CACrH,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC;YACnD,iBAAiB,EAAE,sBAAsB,CAAC,WAAW,CAAC,iBAAiB,CAAC;YACxE,mBAAmB,EAAE,kBAAkB,CAAC,WAAW,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;YAC/F,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;YACrD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;YAClE,GAAG,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC;YAC1C,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC;YACzD,gBAAgB,EAAE,aAAa,CAAC,WAAW,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;YACjF,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,cAAc,CAAC;YACrE,oBAAoB,EAAE,aAAa,CAAC,WAAW,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;YAC7F,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;YAC7C,EAAE,EAAE,yBAAyB,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC;YACnD,IAAI,EAAE,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC;YAC5C,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;SACjD,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type RealWalletExtensionLaunchOptions, type RealWalletExtensionSession } from './real-wallet-extension.js';
|
|
1
2
|
import { type RealWalletSession, type RealWalletSetup, type WalletGeneration } from './real-wallet.js';
|
|
2
3
|
export type BuildWalletProfileOptions = {
|
|
3
4
|
/** Unpacked MetaMask extension directory (see prepareMetaMaskExtension). */
|
|
@@ -34,6 +35,35 @@ export type BuildWalletProfileOptions = {
|
|
|
34
35
|
run(session: RealWalletSession): Promise<void>;
|
|
35
36
|
};
|
|
36
37
|
};
|
|
38
|
+
export type BuildWalletExtensionProfileOptions = Omit<RealWalletExtensionLaunchOptions, 'profileDir'> & {
|
|
39
|
+
/**
|
|
40
|
+
* User-controlled cache identity for the setup callback and any external
|
|
41
|
+
* wallet state it depends on (seed phrase, imported key, test account,
|
|
42
|
+
* network config, etc.). Bump this whenever setup changes.
|
|
43
|
+
*/
|
|
44
|
+
cacheKey: string;
|
|
45
|
+
/** Directory cached profiles live in. Defaults to ~/.cache/web3-tester/profiles. */
|
|
46
|
+
cacheDir?: string;
|
|
47
|
+
/** Rebuild even if a cached profile exists. */
|
|
48
|
+
force?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* One-time extension setup baked into the cached profile. Use this to
|
|
51
|
+
* unlock/import/onboard Rabby, Coinbase Wallet, Phantom, or other
|
|
52
|
+
* non-MetaMask Chromium wallets with wallet-specific Playwright locators.
|
|
53
|
+
*/
|
|
54
|
+
setup?: {
|
|
55
|
+
run(session: RealWalletExtensionSession): Promise<void>;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Wait for extension storage writes before closing. Defaults to true when
|
|
59
|
+
* setup is provided, false otherwise. Pass false for setup callbacks that do
|
|
60
|
+
* not mutate persisted extension state.
|
|
61
|
+
*/
|
|
62
|
+
waitForState?: boolean | {
|
|
63
|
+
quietMs?: number;
|
|
64
|
+
timeoutMs?: number;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
37
67
|
/**
|
|
38
68
|
* Polls the profile's extension storage (IndexedDB leveldb + blob and Local
|
|
39
69
|
* Extension Settings) from Node until a write newer than `since` lands and
|
|
@@ -56,6 +86,14 @@ export declare const defaultProfileCacheDir: () => string;
|
|
|
56
86
|
* never launch the cached directory directly.
|
|
57
87
|
*/
|
|
58
88
|
export declare function buildWalletProfile(options: BuildWalletProfileOptions): Promise<string>;
|
|
89
|
+
/**
|
|
90
|
+
* Builds (once) and returns a cached profile for any unpacked Chromium wallet
|
|
91
|
+
* extension. The caller owns wallet-specific onboarding/unlock selectors in
|
|
92
|
+
* `setup.run`; this helper only supplies the persistent profile, extension
|
|
93
|
+
* launch, cache locking, ready marker, and optional extension-state flush.
|
|
94
|
+
* Use cloneWalletProfile to obtain disposable per-test copies.
|
|
95
|
+
*/
|
|
96
|
+
export declare function buildWalletExtensionProfile(options: BuildWalletExtensionProfileOptions): Promise<string>;
|
|
59
97
|
/**
|
|
60
98
|
* Copies a cached profile into a disposable directory (per test or per
|
|
61
99
|
* worker) so parallel runs never collide on Chromium's profile singleton
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-wallet-cache.d.ts","sourceRoot":"","sources":["../src/real-wallet-cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"real-wallet-cache.d.ts","sourceRoot":"","sources":["../src/real-wallet-cache.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,EAChC,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AA0B1B,MAAM,MAAM,yBAAyB,GAAG;IACtC,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,KAAK,EAAE,eAAe,CAAC;IACvB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,+CAA+C;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;CAC7E,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,IAAI,CAAC,gCAAgC,EAAE,YAAY,CAAC,GAAG;IACtG;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IACpE;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnE,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,8BAA8B,CAClD,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACrE,OAAO,CAAC,IAAI,CAAC,CAsDf;AAED,eAAO,MAAM,sBAAsB,QAAO,MACoB,CAAC;AA+H/D;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkD5F;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,MAAM,CAAC,CAyCjB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAmBjB"}
|
|
@@ -4,9 +4,11 @@ import os from 'node:os';
|
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { mnemonicToAccount } from 'viem/accounts';
|
|
6
6
|
import { extensionManifestVersion } from './metamask-extension.js';
|
|
7
|
+
import { launchRealWalletExtension, readExtensionManifest, } from './real-wallet-extension.js';
|
|
7
8
|
import { passwordForSetup } from './real-wallet-setup.js';
|
|
8
9
|
import { launchRealWallet, resolveRealWalletProfile, } from './real-wallet.js';
|
|
9
10
|
const READY_MARKER = '.web3-tester-profile-ready';
|
|
11
|
+
const METAMASK_PROFILE_CACHE_SCHEMA = 2;
|
|
10
12
|
// Chromium singleton artifacts must never travel with a cloned profile.
|
|
11
13
|
const SINGLETON_FILES = ['SingletonLock', 'SingletonCookie', 'SingletonSocket'];
|
|
12
14
|
// Regenerable Chromium cache subtrees dominate a cached profile's size;
|
|
@@ -92,6 +94,7 @@ export async function waitForExtensionStatePersisted(profileDir, extensionId, op
|
|
|
92
94
|
export const defaultProfileCacheDir = () => path.join(os.homedir(), '.cache', 'web3-tester', 'profiles');
|
|
93
95
|
const cacheKey = (options) => createHash('sha256')
|
|
94
96
|
.update(JSON.stringify({
|
|
97
|
+
cacheSchema: METAMASK_PROFILE_CACHE_SCHEMA,
|
|
95
98
|
seedPhrase: options.setup.seedPhrase,
|
|
96
99
|
password: passwordForSetup(options.setup),
|
|
97
100
|
extensionVersion: extensionManifestVersion(options.extensionPath),
|
|
@@ -99,20 +102,30 @@ const cacheKey = (options) => createHash('sha256')
|
|
|
99
102
|
}))
|
|
100
103
|
.digest('hex')
|
|
101
104
|
.slice(0, 16);
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
* instantly. Use cloneWalletProfile to obtain a disposable per-test copy —
|
|
108
|
-
* never launch the cached directory directly.
|
|
109
|
-
*/
|
|
110
|
-
export async function buildWalletProfile(options) {
|
|
111
|
-
if (!options.setup.seedPhrase) {
|
|
112
|
-
throw new Error('buildWalletProfile requires setup.seedPhrase.');
|
|
105
|
+
const extensionProfileCacheKey = (options) => {
|
|
106
|
+
const manifest = readExtensionManifest(options.extensionPath);
|
|
107
|
+
const userKey = options.cacheKey.trim();
|
|
108
|
+
if (!userKey) {
|
|
109
|
+
throw new Error('buildWalletExtensionProfile requires a non-empty cacheKey.');
|
|
113
110
|
}
|
|
111
|
+
return createHash('sha256')
|
|
112
|
+
.update(JSON.stringify({
|
|
113
|
+
kind: 'real-wallet-extension',
|
|
114
|
+
extensionPath: path.resolve(options.extensionPath),
|
|
115
|
+
extensionId: options.extensionId,
|
|
116
|
+
extensionName: options.extensionName,
|
|
117
|
+
manifestName: manifest.name,
|
|
118
|
+
manifestVersion: manifest.version,
|
|
119
|
+
initialPage: options.initialPage,
|
|
120
|
+
userKey,
|
|
121
|
+
}))
|
|
122
|
+
.digest('hex')
|
|
123
|
+
.slice(0, 16);
|
|
124
|
+
};
|
|
125
|
+
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
126
|
+
const buildCachedProfile = async (options) => {
|
|
114
127
|
const cacheDir = options.cacheDir ?? defaultProfileCacheDir();
|
|
115
|
-
const profileDir = path.join(cacheDir, cacheKey
|
|
128
|
+
const profileDir = path.join(cacheDir, options.cacheKey);
|
|
116
129
|
const marker = path.join(profileDir, READY_MARKER);
|
|
117
130
|
if (options.force) {
|
|
118
131
|
fs.rmSync(profileDir, { recursive: true, force: true });
|
|
@@ -139,31 +152,27 @@ export async function buildWalletProfile(options) {
|
|
|
139
152
|
catch {
|
|
140
153
|
if (lockIsStale()) {
|
|
141
154
|
fs.rmSync(lockDir, { recursive: true, force: true });
|
|
142
|
-
return
|
|
155
|
+
return buildCachedProfile(options);
|
|
143
156
|
}
|
|
144
157
|
// Keep waiting as long as the builder's lock stays fresh — the builder
|
|
145
|
-
// heartbeats the lock every 60s precisely because
|
|
146
|
-
// run well past the 5-minute stale threshold. A fixed deadline
|
|
147
|
-
// than that would abandon a healthy builder. The hard ceiling
|
|
148
|
-
// backstops a hang that somehow keeps the lock fresh without
|
|
158
|
+
// heartbeats the lock every 60s precisely because setup/customize builds
|
|
159
|
+
// can run well past the 5-minute stale threshold. A fixed deadline
|
|
160
|
+
// shorter than that would abandon a healthy builder. The hard ceiling
|
|
161
|
+
// only backstops a hang that somehow keeps the lock fresh without
|
|
162
|
+
// finishing.
|
|
149
163
|
const deadline = Date.now() + 1_800_000;
|
|
150
164
|
while (Date.now() < deadline) {
|
|
151
165
|
if (fs.existsSync(marker)) {
|
|
152
166
|
return profileDir;
|
|
153
167
|
}
|
|
154
168
|
if (!fs.existsSync(lockDir) || lockIsStale()) {
|
|
155
|
-
// The builder died (or stalled past the stale threshold) without
|
|
156
|
-
// producing a profile; take over.
|
|
157
169
|
fs.rmSync(lockDir, { recursive: true, force: true });
|
|
158
|
-
return
|
|
170
|
+
return buildCachedProfile(options);
|
|
159
171
|
}
|
|
160
172
|
await sleep(250);
|
|
161
173
|
}
|
|
162
|
-
throw new Error(`Timed out waiting for another process to finish building the
|
|
174
|
+
throw new Error(`Timed out waiting for another process to finish building the ${options.label} at ${profileDir}.`);
|
|
163
175
|
}
|
|
164
|
-
// Builds with a customize hook can exceed the 5-minute stale-lock
|
|
165
|
-
// threshold; refresh the lock mtime so a waiting worker never steals it
|
|
166
|
-
// mid-build.
|
|
167
176
|
const heartbeat = setInterval(() => {
|
|
168
177
|
try {
|
|
169
178
|
const now = new Date();
|
|
@@ -177,39 +186,7 @@ export async function buildWalletProfile(options) {
|
|
|
177
186
|
try {
|
|
178
187
|
fs.rmSync(profileDir, { recursive: true, force: true });
|
|
179
188
|
fs.mkdirSync(profileDir, { recursive: true });
|
|
180
|
-
|
|
181
|
-
const session = await launchRealWallet({
|
|
182
|
-
extensionPath: options.extensionPath,
|
|
183
|
-
profileDir,
|
|
184
|
-
setup: options.setup,
|
|
185
|
-
headless: options.headless,
|
|
186
|
-
generation: options.generation,
|
|
187
|
-
// Verifying against the seed-derived address guarantees the build
|
|
188
|
-
// actually imported a wallet — a silently skipped onboarding would
|
|
189
|
-
// otherwise produce a cached profile with no vault.
|
|
190
|
-
expectedAddress: mnemonicToAccount(options.setup.seedPhrase).address,
|
|
191
|
-
});
|
|
192
|
-
// 13.x flushes extension state through a debounced write (safe-reload's
|
|
193
|
-
// OperationSafener, a 1000ms trailing-edge debounce around
|
|
194
|
-
// persistenceManager.set()); wait for the post-onboarding (and, when
|
|
195
|
-
// customizing, post-mutation) write to land and stay quiet before
|
|
196
|
-
// closing — a missed flush silently replays onboarding or loses the
|
|
197
|
-
// customization.
|
|
198
|
-
if (options.customize) {
|
|
199
|
-
const mutationsStartedAt = Date.now();
|
|
200
|
-
await options.customize.run(session);
|
|
201
|
-
await waitForExtensionStatePersisted(profileDir, session.extensionId, {
|
|
202
|
-
since: mutationsStartedAt,
|
|
203
|
-
timeoutMs: 20_000,
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
await waitForExtensionStatePersisted(profileDir, session.extensionId, {
|
|
208
|
-
since: onboardStartedAt,
|
|
209
|
-
timeoutMs: 15_000,
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
await session.close();
|
|
189
|
+
await options.build(profileDir);
|
|
213
190
|
fs.writeFileSync(marker, JSON.stringify({ createdAt: new Date().toISOString() }));
|
|
214
191
|
return profileDir;
|
|
215
192
|
}
|
|
@@ -221,6 +198,115 @@ export async function buildWalletProfile(options) {
|
|
|
221
198
|
clearInterval(heartbeat);
|
|
222
199
|
fs.rmSync(lockDir, { recursive: true, force: true });
|
|
223
200
|
}
|
|
201
|
+
};
|
|
202
|
+
/**
|
|
203
|
+
* Builds (once) and returns a cached, fully onboarded MetaMask profile
|
|
204
|
+
* directory keyed by (seed phrase, password, extension version). The first
|
|
205
|
+
* call walks MetaMask onboarding in a real browser; subsequent calls return
|
|
206
|
+
* instantly. Use cloneWalletProfile to obtain a disposable per-test copy —
|
|
207
|
+
* never launch the cached directory directly.
|
|
208
|
+
*/
|
|
209
|
+
export async function buildWalletProfile(options) {
|
|
210
|
+
const seedPhrase = options.setup.seedPhrase;
|
|
211
|
+
if (!seedPhrase) {
|
|
212
|
+
throw new Error('buildWalletProfile requires setup.seedPhrase.');
|
|
213
|
+
}
|
|
214
|
+
return buildCachedProfile({
|
|
215
|
+
cacheDir: options.cacheDir,
|
|
216
|
+
cacheKey: cacheKey(options),
|
|
217
|
+
force: options.force,
|
|
218
|
+
label: 'wallet profile',
|
|
219
|
+
build: async (profileDir) => {
|
|
220
|
+
const onboardStartedAt = Date.now();
|
|
221
|
+
const session = await launchRealWallet({
|
|
222
|
+
extensionPath: options.extensionPath,
|
|
223
|
+
profileDir,
|
|
224
|
+
setup: options.setup,
|
|
225
|
+
headless: options.headless,
|
|
226
|
+
generation: options.generation,
|
|
227
|
+
// Verifying against the seed-derived address guarantees the build
|
|
228
|
+
// actually imported a wallet — a silently skipped onboarding would
|
|
229
|
+
// otherwise produce a cached profile with no vault.
|
|
230
|
+
expectedAddress: mnemonicToAccount(seedPhrase).address,
|
|
231
|
+
});
|
|
232
|
+
try {
|
|
233
|
+
// 13.x flushes extension state through a debounced write (safe-reload's
|
|
234
|
+
// OperationSafener, a 1000ms trailing-edge debounce around
|
|
235
|
+
// persistenceManager.set()); wait for the post-onboarding (and, when
|
|
236
|
+
// customizing, post-mutation) write to land and stay quiet before
|
|
237
|
+
// closing — a missed flush silently replays onboarding or loses the
|
|
238
|
+
// customization.
|
|
239
|
+
if (options.customize) {
|
|
240
|
+
const mutationsStartedAt = Date.now();
|
|
241
|
+
await options.customize.run(session);
|
|
242
|
+
await waitForExtensionStatePersisted(profileDir, session.extensionId, {
|
|
243
|
+
since: mutationsStartedAt,
|
|
244
|
+
timeoutMs: 20_000,
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
await waitForExtensionStatePersisted(profileDir, session.extensionId, {
|
|
249
|
+
since: onboardStartedAt,
|
|
250
|
+
timeoutMs: 15_000,
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
finally {
|
|
255
|
+
await session.close();
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Builds (once) and returns a cached profile for any unpacked Chromium wallet
|
|
262
|
+
* extension. The caller owns wallet-specific onboarding/unlock selectors in
|
|
263
|
+
* `setup.run`; this helper only supplies the persistent profile, extension
|
|
264
|
+
* launch, cache locking, ready marker, and optional extension-state flush.
|
|
265
|
+
* Use cloneWalletProfile to obtain disposable per-test copies.
|
|
266
|
+
*/
|
|
267
|
+
export async function buildWalletExtensionProfile(options) {
|
|
268
|
+
return buildCachedProfile({
|
|
269
|
+
cacheDir: options.cacheDir,
|
|
270
|
+
cacheKey: extensionProfileCacheKey(options),
|
|
271
|
+
force: options.force,
|
|
272
|
+
label: 'wallet extension profile',
|
|
273
|
+
build: async (profileDir) => {
|
|
274
|
+
const session = await launchRealWalletExtension({
|
|
275
|
+
baseURL: options.baseURL,
|
|
276
|
+
extensionId: options.extensionId,
|
|
277
|
+
extensionName: options.extensionName,
|
|
278
|
+
extensionPath: options.extensionPath,
|
|
279
|
+
headless: options.headless,
|
|
280
|
+
initialPage: options.initialPage,
|
|
281
|
+
launchArgs: options.launchArgs,
|
|
282
|
+
locale: options.locale,
|
|
283
|
+
profileDir,
|
|
284
|
+
slowMo: options.slowMo,
|
|
285
|
+
});
|
|
286
|
+
try {
|
|
287
|
+
if (options.setup) {
|
|
288
|
+
const setupStartedAt = Date.now();
|
|
289
|
+
await options.setup.run(session);
|
|
290
|
+
const waitForState = options.waitForState ?? true;
|
|
291
|
+
if (waitForState) {
|
|
292
|
+
await waitForExtensionStatePersisted(profileDir, session.extensionId, {
|
|
293
|
+
since: setupStartedAt,
|
|
294
|
+
...(typeof waitForState === 'object' ? waitForState : {}),
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
else if (options.waitForState && typeof options.waitForState === 'object') {
|
|
299
|
+
await waitForExtensionStatePersisted(profileDir, session.extensionId, options.waitForState);
|
|
300
|
+
}
|
|
301
|
+
else if (options.waitForState === true) {
|
|
302
|
+
await waitForExtensionStatePersisted(profileDir, session.extensionId);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
finally {
|
|
306
|
+
await session.close();
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
});
|
|
224
310
|
}
|
|
225
311
|
/**
|
|
226
312
|
* Copies a cached profile into a disposable directory (per test or per
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-wallet-cache.js","sourceRoot":"","sources":["../src/real-wallet-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GAIzB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,YAAY,GAAG,4BAA4B,CAAC;AAElD,wEAAwE;AACxE,MAAM,eAAe,GAAG,CAAC,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;AAEhF,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AACxE,wEAAwE;AACxE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,OAAO;IACP,YAAY;IACZ,mBAAmB;IACnB,iBAAiB;IACjB,UAAU;IACV,mBAAmB;IACnB,eAAe;IACf,gBAAgB;IAChB,aAAa;IACb,qBAAqB;IACrB,sBAAsB;CACvB,CAAC,CAAC;AAmCH;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,UAAkB,EAClB,WAAmB,EACnB,UAAoE,EAAE;IAEtE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;IAE9C,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB;QACnC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC1D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAE9C,MAAM,OAAO,GAAG;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,WAAW,sBAAsB,CAAC;QACnF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,WAAW,mBAAmB,CAAC;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,0BAA0B,EAAE,WAAW,CAAC;KACzD,CAAC;IAEF,MAAM,WAAW,GAAG,GAAW,EAAE;QAC/B,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,OAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;oBACzD,IAAI,KAAK,GAAG,MAAM;wBAAE,MAAM,GAAG,KAAK,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACP,8BAA8B;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;QAC7B,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;YACnB,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxB,QAAQ,GAAG,MAAM,CAAC;gBAClB,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,CAAC;iBAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC;gBAC9C,OAAO;YACT,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAW,EAAE,CACjD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAE/D,MAAM,QAAQ,GAAG,CAAC,OAAkC,EAAU,EAAE,CAC9D,UAAU,CAAC,QAAQ,CAAC;KACjB,MAAM,CACL,IAAI,CAAC,SAAS,CAAC;IACb,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;IACpC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC;IACzC,gBAAgB,EAAE,wBAAwB,CAAC,OAAO,CAAC,aAAa,CAAC;IACjE,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG;CACrC,CAAC,CACH;KACA,MAAM,CAAC,KAAK,CAAC;KACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAElB,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAkC;IACzE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,sBAAsB,EAAE,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAEnD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;SAAM,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,0EAA0E;IAC1E,sEAAsE;IACtE,+CAA+C;IAC/C,MAAM,OAAO,GAAG,GAAG,UAAU,OAAO,CAAC;IACrC,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,WAAW,EAAE,EAAE,CAAC;YAClB,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,uEAAuE;QACvE,wEAAwE;QACxE,uEAAuE;QACvE,mEAAmE;QACnE,wEAAwE;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,WAAW,EAAE,EAAE,CAAC;gBAC7C,iEAAiE;gBACjE,kCAAkC;gBAClC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrD,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,kFAAkF,UAAU,GAAG,CAChG,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,wEAAwE;IACxE,aAAa;IACb,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC,EAAE,MAAM,CAAC,CAAC;IACX,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;IAEpB,IAAI,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC;YACrC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,kEAAkE;YAClE,mEAAmE;YACnE,oDAAoD;YACpD,eAAe,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO;SACrE,CAAC,CAAC;QAEH,wEAAwE;QACxE,2DAA2D;QAC3D,qEAAqE;QACrE,kEAAkE;QAClE,oEAAoE;QACpE,iBAAiB;QACjB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtC,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,8BAA8B,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE;gBACpE,KAAK,EAAE,kBAAkB;gBACzB,SAAS,EAAE,MAAM;aAClB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,8BAA8B,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE;gBACpE,KAAK,EAAE,gBAAgB;gBACvB,SAAS,EAAE,MAAM;aAClB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAEtB,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAClF,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,aAAa,CAAC,SAAS,CAAC,CAAC;QACzB,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,gBAAwB,EACxB,SAAiB;IAEjB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CACb,GAAG,gBAAgB,0DAA0D,YAAY,IAAI,CAC9F,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,EAAE;QACrC,SAAS,EAAE,IAAI;QACf,4DAA4D;QAC5D,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KAChE,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC;QACtD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"real-wallet-cache.js","sourceRoot":"","sources":["../src/real-wallet-cache.ts"],"names":[],"mappings":"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"}
|