@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
package/README.md
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
# Web3 Tester
|
|
2
2
|
|
|
3
|
-
`@marigoldlabs/web3-tester` is a Playwright, Anvil, Viem, and
|
|
3
|
+
`@marigoldlabs/web3-tester` is a Playwright, Anvil, Viem, and wallet harness for Web3 end-to-end tests.
|
|
4
4
|
|
|
5
|
-
The injected fixtures test dApp behavior with a programmable EIP-1193 provider. The real-wallet adapter launches a persistent Chromium profile with MetaMask, imports or unlocks the profile when configured, and exposes wallet-side actions so consumer apps do not carry extension automation code.
|
|
5
|
+
The injected fixtures test dApp behavior with a programmable EIP-1193 provider. The real-wallet adapter launches a persistent Chromium profile with MetaMask, imports or unlocks the profile when configured, and exposes wallet-side actions so consumer apps do not carry extension automation code. A lower-level extension launcher covers other unpacked Chromium wallets so wallet-specific adapters can share the same profile, headless, extension-ID, and page-opening behavior.
|
|
6
6
|
|
|
7
7
|
## What It Provides
|
|
8
8
|
|
|
9
9
|
- Playwright fixtures that start one Anvil node per worker for parallel-safe local EVM tests.
|
|
10
|
+
- Browser-project portable injected and live fixtures for Chromium, Firefox, and WebKit; real extension fixtures stay Chromium-only because Chrome extensions require Chromium.
|
|
10
11
|
- Automatic `evm_snapshot` and `evm_revert` around every wallet test.
|
|
11
|
-
- A programmable `MockWalletController` for approval, rejection, pending-approval holds, disconnects, account changes, and network-change events, with transaction recording (`sentTransactions`, `waitForNextTransaction`).
|
|
12
|
-
- EIP-6963 provider announcements (one distinct provider object per wallet) for wallet selector testing.
|
|
12
|
+
- A programmable `MockWalletController` for approval, rejection, pending-approval holds, hardware-wallet confirmation states, disconnects, account changes, and network-change events, with transaction/token-watch recording (`sentTransactions`, `waitForNextTransaction`, `watchedAssets`, `waitForNextWatchedAsset`).
|
|
13
|
+
- EIP-6963 provider announcements, frozen `provider.info` identity metadata, and legacy `window.ethereum.providers` arrays (one distinct provider object per wallet) for wallet selector testing.
|
|
14
|
+
- Coinbase/Base Account simulation for `wallet_connect`, sub-account RPCs, and spend-permission lookup/fetch flows, auto-enabled by the Coinbase persona.
|
|
13
15
|
- Viem-backed chain helpers for impersonation, balance setup, time travel, and block mining.
|
|
14
16
|
- Optional live-chain fixtures for controlled testnet QA with a runtime-only private key (`createLiveFixtures` for custom chains/env names).
|
|
15
|
-
- Optional WalletConnect/AppKit simulation (`@marigoldlabs/web3-tester/walletconnect`): a headless WC v2 wallet peer that pairs with the dapp's QR modal and answers
|
|
17
|
+
- Optional WalletConnect/AppKit simulation (`@marigoldlabs/web3-tester/walletconnect`): a headless WC v2 wallet peer that pairs with the dapp's QR modal, handles One-Click Auth/SIWE `session_authenticate`, and answers EVM plus Solana namespace requests through the same wallet gating — needs the optional `@walletconnect/*` peers and a Reown project id.
|
|
18
|
+
- Built-in wallet personas for major wallet selector coverage (MetaMask, Rabby, Coinbase Wallet, Phantom EVM, Rainbow, OKX, Trust, Brave, Zerion, Backpack, Solflare, Ledger, Trezor, Safe, Bitget, TokenPocket, SafePal, Binance Wallet, imToken, MathWallet, Frame, Enkrypt, Core, Frontier, OneKey, CTRL, Uniswap Wallet, Argent, Exodus, and Fireblocks): EIP-6963 metadata, provider flags, known globals, legacy provider arrays, Phantom/Backpack/SafePal/Solflare Solana discovery surfaces, and WalletConnect metadata.
|
|
16
19
|
- Real MetaMask mode: pinned-version extension download (`prepareMetaMaskExtension`), one-time onboarding into a cached profile with disposable per-test clones (`buildWalletProfile`/`cloneWalletProfile`), Playwright fixtures (`@marigoldlabs/web3-tester/real-wallet-fixtures`), wallet-side network add/switch, dapp connection, signature/transaction confirmation and rejection, and token approval helpers — validated end to end by an opt-in smoke suite against the pinned MetaMask build.
|
|
20
|
+
- Generic Chromium wallet extension launcher (`@marigoldlabs/web3-tester/real-wallet-extension`) for Rabby, Coinbase Wallet, Phantom, OKX, Trust, Brave, and other unpacked Chrome extensions: persistent profile launch, explicit headed/headless handling, extension-ID discovery, manifest helpers, default popup/options page resolution, and extension page openers. Wallet-specific UI automation layers can build on this without reimplementing browser setup.
|
|
17
21
|
|
|
18
22
|
## Install In A Consumer App
|
|
19
23
|
|
|
@@ -45,6 +49,31 @@ test('user can submit a wallet transaction', async ({ page, wallet }) => {
|
|
|
45
49
|
> references the `wallet` fixture — a test that destructures only `page`
|
|
46
50
|
> will have no `window.ethereum`.
|
|
47
51
|
|
|
52
|
+
Run injected/mock-wallet and live-key tests across Playwright's browser
|
|
53
|
+
projects with the normal project matrix:
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
import { defineConfig, devices } from '@playwright/test';
|
|
57
|
+
|
|
58
|
+
export default defineConfig({
|
|
59
|
+
fullyParallel: true,
|
|
60
|
+
use: {
|
|
61
|
+
baseURL: process.env.DAPP_URL ?? 'http://localhost:3000',
|
|
62
|
+
trace: 'on-first-retry',
|
|
63
|
+
},
|
|
64
|
+
projects: [
|
|
65
|
+
{ name: 'chromium', use: { ...devices['Desktop Chrome'] } },
|
|
66
|
+
{ name: 'firefox', use: { ...devices['Desktop Firefox'] } },
|
|
67
|
+
{ name: 'webkit', use: { ...devices['Desktop Safari'] } },
|
|
68
|
+
],
|
|
69
|
+
});
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Keep `@marigoldlabs/web3-tester/real-wallet-fixtures` and
|
|
73
|
+
`/real-wallet-extension-fixtures` in a dedicated Chromium project. Those
|
|
74
|
+
fixtures launch a persistent Chromium extension context and fail fast when a
|
|
75
|
+
Firefox or WebKit project tries to use them.
|
|
76
|
+
|
|
48
77
|
Testing pending-approval UI and rejection paths:
|
|
49
78
|
|
|
50
79
|
```ts
|
|
@@ -136,6 +165,80 @@ await wallet.confirmTransaction();
|
|
|
136
165
|
await wallet.close();
|
|
137
166
|
```
|
|
138
167
|
|
|
168
|
+
For real extension coverage beyond MetaMask, use the generic launcher and
|
|
169
|
+
drive wallet-specific UI with Playwright locators:
|
|
170
|
+
|
|
171
|
+
```ts
|
|
172
|
+
import { launchRealWalletExtension } from '@marigoldlabs/web3-tester/real-wallet-extension';
|
|
173
|
+
|
|
174
|
+
const rabby = await launchRealWalletExtension({
|
|
175
|
+
extensionPath: process.env.RABBY_EXTENSION_PATH as string,
|
|
176
|
+
extensionName: 'Rabby Wallet',
|
|
177
|
+
profileDir: process.env.RABBY_PROFILE_DIR as string,
|
|
178
|
+
headless: false,
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
const popup = rabby.page ?? await rabby.openPage('popup.html');
|
|
182
|
+
await popup.getByRole('button', { name: /unlock/i }).click();
|
|
183
|
+
await rabby.close();
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
When onboarding is expensive, cache a prepared non-MetaMask profile with the
|
|
187
|
+
same clone model the MetaMask fixture uses:
|
|
188
|
+
|
|
189
|
+
```ts
|
|
190
|
+
import {
|
|
191
|
+
buildWalletExtensionProfile,
|
|
192
|
+
cloneWalletProfile,
|
|
193
|
+
} from '@marigoldlabs/web3-tester/real-wallet-cache';
|
|
194
|
+
|
|
195
|
+
const cached = await buildWalletExtensionProfile({
|
|
196
|
+
cacheKey: 'rabby-anvil-seed-v1',
|
|
197
|
+
extensionPath: process.env.RABBY_EXTENSION_PATH as string,
|
|
198
|
+
extensionName: 'Rabby Wallet',
|
|
199
|
+
headless: false,
|
|
200
|
+
setup: {
|
|
201
|
+
run: async (session) => {
|
|
202
|
+
const popup = session.page ?? await session.openPage('popup.html');
|
|
203
|
+
// Drive Rabby onboarding/unlock/import with Playwright locators here.
|
|
204
|
+
await popup.getByRole('button', { name: /unlock/i }).click();
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
const profileDir = await cloneWalletProfile(cached, '/tmp/rabby-test-profile');
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
For Playwright suites, the generic fixture wraps that cache/clone/teardown
|
|
213
|
+
flow and exposes the persistent extension context as `context` / `page`:
|
|
214
|
+
|
|
215
|
+
```ts
|
|
216
|
+
import {
|
|
217
|
+
expect,
|
|
218
|
+
test,
|
|
219
|
+
} from '@marigoldlabs/web3-tester/real-wallet-extension-fixtures';
|
|
220
|
+
|
|
221
|
+
test.use({
|
|
222
|
+
realWalletExtensionOptions: {
|
|
223
|
+
extensionPath: process.env.RABBY_EXTENSION_PATH,
|
|
224
|
+
extensionName: 'Rabby Wallet',
|
|
225
|
+
profileCacheKey: 'rabby-anvil-seed-v1',
|
|
226
|
+
headless: false,
|
|
227
|
+
profileSetup: {
|
|
228
|
+
run: async (session) => {
|
|
229
|
+
const popup = session.page ?? await session.openPage('popup.html');
|
|
230
|
+
await popup.getByRole('button', { name: /unlock/i }).click();
|
|
231
|
+
},
|
|
232
|
+
},
|
|
233
|
+
},
|
|
234
|
+
});
|
|
235
|
+
|
|
236
|
+
test('opens with a prepared wallet profile', async ({ page, realWalletExtension }) => {
|
|
237
|
+
await page.goto('https://app.example.test');
|
|
238
|
+
expect(realWalletExtension.extensionId).toMatch(/^[a-p]{32}$/);
|
|
239
|
+
});
|
|
240
|
+
```
|
|
241
|
+
|
|
139
242
|
MetaMask version pinning: selectors are maintained against
|
|
140
243
|
`DEFAULT_METAMASK_VERSION` (currently 13.34.1, current MetaMask) and validated
|
|
141
244
|
by the opt-in smoke suite (`npm run smoke:real-wallet`), which runs the full
|
|
@@ -154,10 +257,12 @@ can drift between releases.
|
|
|
154
257
|
|
|
155
258
|
```bash
|
|
156
259
|
npm install
|
|
157
|
-
npx playwright install chromium
|
|
260
|
+
npx playwright install chromium firefox webkit
|
|
158
261
|
npm run typecheck
|
|
262
|
+
npm run typecheck:examples
|
|
159
263
|
npm run build
|
|
160
264
|
npm test # hermetic library tests (needs anvil)
|
|
265
|
+
npm run test:browsers # focused Chromium/Firefox/WebKit fixture matrix
|
|
161
266
|
npm run smoke:real-wallet # opt-in real-MetaMask smoke suite (headed)
|
|
162
267
|
```
|
|
163
268
|
|
|
@@ -210,6 +315,26 @@ Copy `.env.example` for local reference. Do not commit real private keys.
|
|
|
210
315
|
| `WEB3_TESTER_REAL_WALLET_HEADLESS` | none — explicit choice required | `true`/`false`. Real-wallet launches refuse to guess: pick headed (fully validated) or headless (needs the full Chromium from `npx playwright install chromium`) here or via the `headless` option. |
|
|
211
316
|
| `WEB3_TESTER_REAL_WALLET_SMOKE` | unset | Set `true` to run the real-MetaMask smoke suite (`npm run smoke:real-wallet`). |
|
|
212
317
|
| `WEB3_TESTER_WC_PROJECT_ID` | unset | Reown project id; set to run the opt-in WalletConnect relay suite. |
|
|
318
|
+
| `WEB3_TESTER_BENCHMARK` | unset | Set `true`/`1` to record opt-in benchmark spans for slow/flaky test runs. |
|
|
319
|
+
| `WEB3_TESTER_BENCHMARK_OUTPUT` | `reports/web3-tester-benchmark.ndjson` | NDJSON file where benchmark spans are appended as they finish. |
|
|
320
|
+
| `WEB3_TESTER_BENCHMARK_VERBOSE` | unset | Set `true` to also stream benchmark spans to stderr. |
|
|
321
|
+
|
|
322
|
+
### Benchmarking slow or flaky runs
|
|
323
|
+
|
|
324
|
+
Benchmarking is disabled by default and is diagnostic-only: it records timings
|
|
325
|
+
without changing test behavior. When enabled, Playwright tests attach a
|
|
326
|
+
`web3-tester-benchmark.json` artifact per test and append every span to the
|
|
327
|
+
NDJSON report path.
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
npm run smoke:real-wallet -- --benchmark
|
|
331
|
+
npm run smoke:real-wallet -- --benchmark --benchmark-output=reports/real-wallet-benchmark.ndjson
|
|
332
|
+
WEB3_TESTER_BENCHMARK=true WEB3_TESTER_WC_PROJECT_ID=<id> npm test -- walletconnect-live
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
The real-wallet fixtures record extension/profile setup, launch, close, and
|
|
336
|
+
every wallet-side session method. The live WalletConnect relay test records
|
|
337
|
+
pairing, request, push-event, disconnect, and close phases.
|
|
213
338
|
|
|
214
339
|
## Package Surface
|
|
215
340
|
|
|
@@ -219,8 +344,14 @@ The installable package exports:
|
|
|
219
344
|
- `@marigoldlabs/web3-tester/fixtures`
|
|
220
345
|
- `@marigoldlabs/web3-tester/live-fixtures`
|
|
221
346
|
- `@marigoldlabs/web3-tester/real-wallet`
|
|
347
|
+
- `@marigoldlabs/web3-tester/real-wallet-extension`
|
|
348
|
+
- `@marigoldlabs/web3-tester/real-wallet-extension-fixtures`
|
|
349
|
+
- `@marigoldlabs/web3-tester/real-wallet-cache`
|
|
222
350
|
- `@marigoldlabs/web3-tester/real-wallet-fixtures`
|
|
223
351
|
- `@marigoldlabs/web3-tester/metamask-extension`
|
|
352
|
+
- `@marigoldlabs/web3-tester/wallet-personas`
|
|
353
|
+
- `@marigoldlabs/web3-tester/safe`
|
|
354
|
+
- `@marigoldlabs/web3-tester/benchmark`
|
|
224
355
|
- `@marigoldlabs/web3-tester/anvil`
|
|
225
356
|
- `@marigoldlabs/web3-tester/mock-wallet-controller`
|
|
226
357
|
- `@marigoldlabs/web3-tester/private-key-rpc-client`
|
|
@@ -245,6 +376,8 @@ await chain.dealErc20(token.address, wallet.primaryAccount, 5_000_000_000n);
|
|
|
245
376
|
|
|
246
377
|
```ts
|
|
247
378
|
await wallet.simulateRejection('eth_sendTransaction');
|
|
379
|
+
await wallet.lock(); // hides accounts; _metamask.isUnlocked() -> false
|
|
380
|
+
await wallet.unlock(); // restores accounts for connected wallets
|
|
248
381
|
await wallet.disconnect();
|
|
249
382
|
await wallet.reconnect();
|
|
250
383
|
// Accounts are validated against the node's signers — use chain.accounts()
|
|
@@ -259,9 +392,20 @@ const held = wallet.holdNextRequest('personal_sign');
|
|
|
259
392
|
// ... trigger the dapp action, assert the pending UI ...
|
|
260
393
|
(await held).reject('User changed their mind.');
|
|
261
394
|
|
|
395
|
+
// Ledger/Trezor-style confirmation simulation:
|
|
396
|
+
wallet.configureHardwareWallet({
|
|
397
|
+
approvalDelayMs: 750,
|
|
398
|
+
requiredApps: { solana_signMessage: 'Solana' },
|
|
399
|
+
});
|
|
400
|
+
wallet.setHardwareWalletState('wrong-app'); // locked | wrong-app | blind-signing-disabled | disconnected | ready
|
|
401
|
+
|
|
262
402
|
const txPromise = wallet.waitForNextTransaction();
|
|
263
403
|
// ... trigger the dapp action ...
|
|
264
404
|
const hash = await txPromise;
|
|
405
|
+
|
|
406
|
+
const assetPromise = wallet.waitForNextWatchedAsset();
|
|
407
|
+
// ... trigger wallet_watchAsset ...
|
|
408
|
+
const watched = await assetPromise;
|
|
265
409
|
```
|
|
266
410
|
|
|
267
411
|
Dapp-initiated `wallet_switchEthereumChain` follows MetaMask semantics: it
|
|
@@ -285,17 +429,177 @@ test('buyer sees the listing', async ({ page, wallet, createUser }) => {
|
|
|
285
429
|
## Multiple Wallet Selectors
|
|
286
430
|
|
|
287
431
|
```ts
|
|
432
|
+
import { walletPersonas, walletProfiles } from '@marigoldlabs/web3-tester/wallet-personas';
|
|
433
|
+
|
|
288
434
|
test.use({
|
|
289
435
|
walletOptions: {
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
436
|
+
persona: walletPersonas.metamask(),
|
|
437
|
+
additionalPersonas: [
|
|
438
|
+
walletPersonas.rabby(),
|
|
439
|
+
walletPersonas.coinbase(),
|
|
440
|
+
walletPersonas.phantomEvm(),
|
|
441
|
+
walletPersonas.solflare(),
|
|
442
|
+
walletPersonas.bitget(),
|
|
443
|
+
walletPersonas.tokenPocket(),
|
|
444
|
+
walletPersonas.safePal(),
|
|
445
|
+
walletPersonas.binance(),
|
|
446
|
+
walletPersonas.safe(),
|
|
294
447
|
],
|
|
295
448
|
},
|
|
296
449
|
});
|
|
297
450
|
```
|
|
298
451
|
|
|
452
|
+
Personas are still backed by the same deterministic controller: approvals,
|
|
453
|
+
rejections, holds, chain switching, and transaction recording work exactly as
|
|
454
|
+
they do for the default mock wallet. Legacy `providerInfo` and
|
|
455
|
+
`additionalProviders` remain supported for metadata-only cases.
|
|
456
|
+
Injected EVM providers include the common EventEmitter aliases used by wallet
|
|
457
|
+
SDKs (`addListener`, `off`, `listeners`, `listenerCount`) and emit an initial
|
|
458
|
+
`connect` event for already-connected wallets after page scripts can attach
|
|
459
|
+
listeners. Legacy callback batch calls return JSON-RPC response arrays with
|
|
460
|
+
per-payload `result` or `error` entries. Subscription streams are deliberately out of scope:
|
|
461
|
+
`eth_subscribe` and `eth_unsubscribe` return a wallet-shaped `4200`; use a
|
|
462
|
+
direct viem/WebSocket client when a test needs live chain subscriptions.
|
|
463
|
+
The Phantom, Backpack, SafePal, and Solflare personas also expose lightweight Solana
|
|
464
|
+
browser providers (`window.phantom.solana`, `window.solana`,
|
|
465
|
+
`window.backpack.solana`, `window.safepal`, `window.solflare`) and register
|
|
466
|
+
Wallet Standard wallets for wallet-adapter discovery. Solflare is modeled as
|
|
467
|
+
Solana-only (`evm: false`), so it does not add a `window.ethereum` provider or
|
|
468
|
+
an EIP-6963 announcement. These Solana surfaces are for selector, connect, and
|
|
469
|
+
sign-in/signing UI tests; they expose deterministic `signIn` and
|
|
470
|
+
`solana:signIn` results, trusted/silent reconnect behavior, the same
|
|
471
|
+
controller approval/hardware gates as EVM requests, and the same EventEmitter
|
|
472
|
+
aliases. `request({ method: 'getAccounts' | 'requestAccounts' })` returns
|
|
473
|
+
base58 public-key strings, while `solana_getAccounts` / `solana_requestAccounts`
|
|
474
|
+
return objects with `publicKey`, `pubkey`, and `address` fields for
|
|
475
|
+
WalletConnect-style probes. Controller lock/disconnect events hide direct Solana provider
|
|
476
|
+
accounts too (`publicKey: null`, Wallet Standard `accounts: []`), and unlock
|
|
477
|
+
restores providers that were connected before the lock. These surfaces do not
|
|
478
|
+
start a Solana validator or submit real Solana
|
|
479
|
+
transactions.
|
|
480
|
+
WalletConnect personas include peer metadata plus verified launch templates
|
|
481
|
+
for common mobile handoff tests via `formatWalletConnectUriForPersona`.
|
|
482
|
+
WalletConnect EVM namespaces advertise EIP-5792 batch methods by default, so
|
|
483
|
+
AppKit/wagmi `sendCalls` traffic reaches the same controller implementation
|
|
484
|
+
as injected `wallet_sendCalls`. EVM `accountsChanged` events also refresh the
|
|
485
|
+
session namespace's CAIP account list when accounts are visible; lock and
|
|
486
|
+
disconnect still emit `[]` without rewriting the approved namespace. Solana
|
|
487
|
+
WalletConnect namespaces receive `accountsChanged` events with Solana public
|
|
488
|
+
keys or `[]` as the controller locks, unlocks, or disconnects. One-Click
|
|
489
|
+
Auth/SIWE `session_authenticate`
|
|
490
|
+
requests produce CAIP-122 Cacao signatures through the same
|
|
491
|
+
`eth_requestAccounts` and `personal_sign` gates; pass
|
|
492
|
+
`sessionAuthenticate: false` to keep sign-client's fallback behavior.
|
|
493
|
+
|
|
494
|
+
Use wallet profiles when identity should also imply behavior:
|
|
495
|
+
|
|
496
|
+
```ts
|
|
497
|
+
test.use({
|
|
498
|
+
walletOptions: walletProfiles.ledger({
|
|
499
|
+
hardwareWallet: { deviceState: 'wrong-app', approvalDelayMs: 0 },
|
|
500
|
+
}),
|
|
501
|
+
});
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
For Coinbase/Base Account flows, the Coinbase persona enables wallet-specific
|
|
505
|
+
RPC methods and lets tests seed spend permissions and sub-accounts:
|
|
506
|
+
|
|
507
|
+
```ts
|
|
508
|
+
test.use({
|
|
509
|
+
walletOptions: walletProfiles.coinbase({
|
|
510
|
+
coinbase: {
|
|
511
|
+
permissions: [{
|
|
512
|
+
createdAt: 1_700_000_000,
|
|
513
|
+
permissionHash: `0x${'11'.repeat(32)}`,
|
|
514
|
+
signature: `0x${'aa'.repeat(65)}`,
|
|
515
|
+
spendPermission: {
|
|
516
|
+
account: '0x0000000000000000000000000000000000000001',
|
|
517
|
+
spender: '0x0000000000000000000000000000000000000002',
|
|
518
|
+
token: '0x0000000000000000000000000000000000000003',
|
|
519
|
+
allowance: '1000000000000000000',
|
|
520
|
+
period: 86_400,
|
|
521
|
+
start: 1_700_000_000,
|
|
522
|
+
end: 4_102_444_800,
|
|
523
|
+
salt: '1',
|
|
524
|
+
extraData: '0x',
|
|
525
|
+
},
|
|
526
|
+
}],
|
|
527
|
+
subAccounts: [{
|
|
528
|
+
address: '0x0000000000000000000000000000000000000004',
|
|
529
|
+
account: '0x0000000000000000000000000000000000000001',
|
|
530
|
+
domain: 'https://app.example.com',
|
|
531
|
+
}],
|
|
532
|
+
},
|
|
533
|
+
}),
|
|
534
|
+
});
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
`wallet_connect` supports Coinbase's `signInWithEthereum` capability,
|
|
538
|
+
`wallet_addSubAccount` stores generated or deployed sub-accounts for
|
|
539
|
+
`wallet_getSubAccounts`, and `coinbase_fetchPermissions` /
|
|
540
|
+
`coinbase_fetchPermission` return seeded spend-permission data. The Coinbase
|
|
541
|
+
WalletConnect persona advertises these methods in the EVM namespace by default.
|
|
542
|
+
|
|
543
|
+
## Safe Transaction Service
|
|
544
|
+
|
|
545
|
+
```ts
|
|
546
|
+
import {
|
|
547
|
+
SafeTransactionServiceClient,
|
|
548
|
+
SafeWalletHarness,
|
|
549
|
+
hashSafeTransactionTypedData,
|
|
550
|
+
} from '@marigoldlabs/web3-tester/safe';
|
|
551
|
+
|
|
552
|
+
const transactionService = new SafeTransactionServiceClient({
|
|
553
|
+
// Include the service API prefix used by your deployment.
|
|
554
|
+
baseUrl: 'https://safe-transaction-sepolia.safe.global/api/v1',
|
|
555
|
+
chainId: 11155111,
|
|
556
|
+
});
|
|
557
|
+
|
|
558
|
+
const safe = new SafeWalletHarness({
|
|
559
|
+
safeAddress: '0x...',
|
|
560
|
+
owners: [owner1, owner2],
|
|
561
|
+
threshold: 2,
|
|
562
|
+
chainId: 11155111,
|
|
563
|
+
transactionService,
|
|
564
|
+
});
|
|
565
|
+
```
|
|
566
|
+
|
|
567
|
+
The Safe module treats Transaction Service support as required surface: the
|
|
568
|
+
REST client covers propose, confirm, fetch, list, and confirmation listing
|
|
569
|
+
against Safe Transaction Service deployments. `InMemorySafeTransactionService`
|
|
570
|
+
exists for hermetic tests and local workflow assertions only.
|
|
571
|
+
|
|
572
|
+
`SafeWalletHarness` uses protocol-compatible Safe EIP-712 transaction hashes by
|
|
573
|
+
default, and `SafeTransactionServiceClient` does the same when `chainId` is
|
|
574
|
+
configured. Use `hashSafeTransactionTypedData(safeAddress, chainId, tx)` when
|
|
575
|
+
you need to precompute or assert the `safeTxHash` yourself;
|
|
576
|
+
`hashSafeTransactionData` remains available as a deterministic fixture hash via
|
|
577
|
+
`safeTxHashStrategy: 'fixture'`.
|
|
578
|
+
|
|
579
|
+
For Safe Apps SDK iframe flows, install the parent bridge before loading the
|
|
580
|
+
app iframe:
|
|
581
|
+
|
|
582
|
+
```ts
|
|
583
|
+
import { injectSafeAppBridge } from '@marigoldlabs/web3-tester/safe';
|
|
584
|
+
|
|
585
|
+
await page.setContent('<iframe id="safe-app"></iframe>');
|
|
586
|
+
await injectSafeAppBridge(page, safe);
|
|
587
|
+
await page.locator('#safe-app').evaluate((iframe, srcdoc) => {
|
|
588
|
+
(iframe as HTMLIFrameElement).srcdoc = srcdoc;
|
|
589
|
+
}, appHtml);
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
The bridge answers Safe Apps SDK v1 `postMessage` requests such as
|
|
593
|
+
`getSafeInfo`, `getChainInfo`, `sendTransactions`, `getTxBySafeTxHash`,
|
|
594
|
+
`rpcCall`, signing requests, permissions, balances, and address book lookups.
|
|
595
|
+
`getSafeInfo` returns the extended SDK fields (`nonce`, `implementation`,
|
|
596
|
+
`modules`, `fallbackHandler`, `guard`, `version`), `getChainInfo` uses the Safe
|
|
597
|
+
Gateway `blockExplorerUriTemplate.txHash` key, and `getSafeBalances` returns
|
|
598
|
+
the SDK `{ fiatTotal, items }` response shape. When `allowedOrigins` is set,
|
|
599
|
+
the bridge rejects untrusted and missing/null iframe origins. Multi-call
|
|
600
|
+
`sendTransactions` requests are encoded as a delegatecall to Safe
|
|
601
|
+
MultiSendCallOnly; pass `multiSendAddress` for custom deployments.
|
|
602
|
+
|
|
299
603
|
## Repository Layout
|
|
300
604
|
|
|
301
605
|
| Path | Purpose |
|
|
@@ -326,7 +630,9 @@ test.use({
|
|
|
326
630
|
- `PrivateKeyRpcClient` refuses chains that are not testnets or local dev
|
|
327
631
|
chains unless constructed with `allowMainnet: true`, and verifies the RPC
|
|
328
632
|
endpoint's `eth_chainId` matches the configured chain before the first
|
|
329
|
-
broadcast (`eth_sendTransaction` / `eth_sendRawTransaction`).
|
|
633
|
+
broadcast (`eth_sendTransaction` / `eth_sendRawTransaction`). It only signs
|
|
634
|
+
transactions from its own account and preserves typed transaction fields
|
|
635
|
+
such as `type`, `accessList`, blob fee/hash fields, and `authorizationList`.
|
|
330
636
|
- Real-wallet tests use a persistent browser profile and keep extension-side automation inside this package.
|
|
331
637
|
- Mutation tests are skipped unless their opt-in flag is set.
|
|
332
638
|
- Published reports redact secrets and record transaction hashes only when useful for auditability.
|
package/dist/anvil.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anvil.d.ts","sourceRoot":"","sources":["../src/anvil.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,GAAG,EACR,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,MAAM,CAAC;AAGd,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AACzD,OAAO,EAAE,cAAc,EAAuB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAA8B,KAAK,gBAAgB,EAAsB,MAAM,YAAY,CAAC;AACnG,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,GAAG,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC1B,oDAAoD;IACpD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG;IAC7C,GAAG,EAAE,OAAO,cAAc,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,4DAA4D;IAC5D,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC;IACvB,uDAAuD;IACvD,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,mDAAmD;IACnD,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAQF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC;AAClC,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,GACjE,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,GAC/B,aAAa,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"anvil.d.ts","sourceRoot":"","sources":["../src/anvil.ts"],"names":[],"mappings":"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"}
|
package/dist/anvil.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anvil.js","sourceRoot":"","sources":["../src/anvil.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anvil.js","sourceRoot":"","sources":["../src/anvil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA4B,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,IAAI,EACJ,aAAa,EACb,KAAK,EACL,aAAa,GAUd,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,eAAe,EAA6C,MAAM,YAAY,CAAC;AACnG,OAAO,EACL,yBAAyB,GAG1B,MAAM,mBAAmB,CAAC;AAwD3B,MAAM,YAAY,GAAG,4CAAqD,CAAC;AAC3E,MAAM,yBAAyB,GAAG,UAAU,CAAC;AAE7C,MAAM,cAAc,GAAG,CAAC,OAAsB,EAAW,EAAE,CACzD,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAgCvE,MAAM,gBAAgB,GACpB,6DAA6D,CAAC;AAChE,MAAM,qBAAqB,GAAG,8CAA8C,CAAC;AAC7E,MAAM,4BAA4B,GAAG,mCAAmC,CAAC;AACzE,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,UAA+B,EAAE,EAAE,EAAE,CAC9D,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACtB,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC,CAAC,CAAC;AAIL,MAAM,cAAc,GAAG,CACrB,OAAqB,EACrB,IAAY,EACZ,IAAY,EACZ,OAAe,EACL,EAAE;IACZ,MAAM,IAAI,GAAG;QACX,QAAQ;QACR,IAAI;QACJ,QAAQ;QACR,MAAM,CAAC,IAAI,CAAC;QACZ,YAAY;QACZ,MAAM,CAAC,OAAO,CAAC;QACf,YAAY;QACZ,OAAO,CAAC,QAAQ,IAAI,gBAAgB;QACpC,YAAY;QACZ,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC9B,WAAW;QACX,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC;KAClC,CAAC;IAEF,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,aAAqB,EAAiB,EAAE;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE;QACvD,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QAC7C,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,OAAO,aAAa;IAOL;IAEA;IARV,IAAI,CAAS;IACb,IAAI,CAAS;IACb,OAAO,CAAS;IAChB,MAAM,CAAS;IAExB,YACmB,OAAqB,EACtC,OAAkE,EACjD,aAAsB;QAFtB,YAAO,GAAP,OAAO,CAAc;QAErB,kBAAa,GAAb,aAAa,CAAS;QAEvC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAwB,EAAE;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;QACzC,wEAAwE;QACxE,oEAAoE;QACpE,yBAAyB;QACzB,MAAM,qBAAqB,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,CACnD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CACvD,CAAC;QACF,IAAI,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAClG,MAAM,IAAI,KAAK,CACb,qBAAqB;gBACnB,CAAC,CAAC,mJAAmJ;gBACrJ,CAAC,CAAC,eAAe,IAAI,+EAA+E;oBAClG,sGAAsG;oBACtG,mHAAmH,CACxH,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC;QAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC;QACjF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,4BAA4B,CAAC;QACxE,MAAM,aAAa,GACjB,OAAO,KAAK,QAAQ;YAClB,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,0BAA0B,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC3E,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;QAC9C,MAAM,OAAO,GACX,OAAO,KAAK,QAAQ;YAClB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,UAAU,CAAC;QACjB,MAAM,IAAI,GACR,OAAO,KAAK,QAAQ;YAClB,CAAC,CAAC;gBACE,KAAK;gBACL,MAAM;gBACN,QAAQ;gBACR,aAAc;gBACd,IAAI;gBACJ,sCAAsC;gBACtC,IAAI;gBACJ,GAAG,IAAI,IAAI,IAAI,IAAI,oBAAoB,EAAE;gBACzC,cAAc;gBACd,OAAO;gBACP,WAAW;gBACX,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,OAAO,CAAC;aACrE;YACH,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACxC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;QACzF,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,UAA6B,CAAC;QAElC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACnC,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;YACpC,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QAEF,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC9B,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC9B,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb,OAAO,KAAK,QAAQ;oBAClB,CAAC,CAAC,4CAA4C,WAAW,wEAAwE,UAAU,CAAC,OAAO,EAAE;oBACrJ,CAAC,CAAC,qCAAqC,UAAU,yEAAyE,UAAU,CAAC,OAAO,EAAE,CACjJ,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACnC,kEAAkE;gBAClE,uEAAuE;gBACvE,MAAM,IAAI,KAAK,CACb,iDAAiD,YAAY,CAAC,QAAQ,IAAI;oBACxE,yFAAyF,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CACrH,CAAC;YACJ,CAAC;YAED,uEAAuE;YACvE,uEAAuE;YACvE,4DAA4D;YAC5D,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAC;gBACzD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;oBAClC,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;wBAChC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACtB,MAAM,IAAI,KAAK,CACb,YAAY,QAAQ,CAAC,MAAM,qBAAqB,eAAe,QAAQ,OAAO,kBAAkB;4BAC9F,0CAA0C,IAAI,GAAG,CACpD,CAAC;oBACJ,CAAC;oBACD,aAAa,GAAG,KAAK,CAAC;oBACtB,OAAO,QAAQ,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAC7B,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,IAAI,CACX;YACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;SAChD,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,EAAE,EAAE,CAAC;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,aAAa;oBACrB,MAAM,EAAE,EAAE;iBACX,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAyB,CAAC;YAC7D,OAAO,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AAOD,MAAM,OAAO,eAAe;IACjB,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,MAAM,CAAkB;IAEjC,YAAY,OAA+B;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC;YAC7B,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE;YACvC,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;SAC7B,CAAC;aACC,MAAM,CAAC,aAAa,CAAC;aACrB,MAAM,CAAC,aAAa,CAAoB,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAmB;QAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAQ,IAAI,CAAC,MAAyC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAgB;QACvC,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,OAAgB;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,KAAa;QAC9C,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACnB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CACtB,IAAS,EACT,OAA2C;QAE3C,OAAO,yBAAyB,CAAC,IAAI,CAAC,MAA+B,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxF,CAAC;IAED,2EAA2E;IAC3E,wEAAwE;IACxE,6CAA6C;IAE7C,qEAAqE;IACrE,kEAAkE;IAClE,wCAAwC;IACvB,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEnE,KAAK,CAAC,cAAc,CAAC,OAA8B;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAC5C,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,IAAI,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAA8B,EAAE;QAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC;QAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACxC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QAElD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;YACzC,GAAG,EAAE,cAAgC;YACrC,QAAQ,EAAE,mBAAmB;YAC7B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;YACrE,IAAI;SACL,CAAC,CAAC;QAEH,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACtE,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,SAAS,CACb,KAAc,EACd,OAAgB,EAChB,MAAc,EACd,OAA0B;QAE1B,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAc,EAAE,OAAgB;QACpD,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAgB,EAAE,IAA2B,EAAE,KAAmB;QACnF,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC7B,OAAO;YACP,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAyB;YAChE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAgB,EAAE,QAAa;QAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,KAAa;QAC5C,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,2EAA2E;IAC3E,wEAAwE;IACxE,sEAAsE;IACtE,uDAAuD;IAEvD,KAAK,CAAC,iBAAiB,CAAC,OAAkC;QACxD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACnC,OAAO;YACP,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;YACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAChF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;YACjD,OAAO,EAAE,SAAS;YAClB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC7C,CAAC,CAAC;QAEH,uEAAuE;QACvE,sEAAsE;QACtE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC;YAC/B,MAAM,EAAE,qBAAqB;YAC7B,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,OAAO;oBACb,EAAE,EAAE,SAAS,CAAC,OAAO;oBACrB,iBAAiB,EAAE;wBACjB;4BACE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;4BAC7C,OAAO,EAAE,aAAa,CAAC,OAAO;4BAC9B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;4BAClD,CAAC,EAAE,aAAa,CAAC,CAAC;4BAClB,CAAC,EAAE,aAAa,CAAC,CAAC;yBACnB;qBACF;iBACF;aACF;SACF,CAAC,CAAQ,CAAC;QAEX,MAAM,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,gBAAgB,CACpB,OAAiD;QAEjD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,aAAa,CAAC,SAAkB;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAa,CAAC;IACxE,CAAC;CACF"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { TestInfo } from '@playwright/test';
|
|
2
|
+
export declare const WEB3_TESTER_BENCHMARK_ENV = "WEB3_TESTER_BENCHMARK";
|
|
3
|
+
export declare const WEB3_TESTER_BENCHMARK_OUTPUT_ENV = "WEB3_TESTER_BENCHMARK_OUTPUT";
|
|
4
|
+
export declare const WEB3_TESTER_BENCHMARK_VERBOSE_ENV = "WEB3_TESTER_BENCHMARK_VERBOSE";
|
|
5
|
+
export type BenchmarkMetadata = Record<string, string | number | boolean | null | undefined>;
|
|
6
|
+
export type BenchmarkRecord = {
|
|
7
|
+
name: string;
|
|
8
|
+
status: 'passed' | 'failed';
|
|
9
|
+
durationMs: number;
|
|
10
|
+
startedAt: string;
|
|
11
|
+
endedAt: string;
|
|
12
|
+
suite?: string;
|
|
13
|
+
metadata?: BenchmarkMetadata;
|
|
14
|
+
error?: {
|
|
15
|
+
name?: string;
|
|
16
|
+
message: string;
|
|
17
|
+
stack?: string;
|
|
18
|
+
};
|
|
19
|
+
test?: {
|
|
20
|
+
title: string;
|
|
21
|
+
project?: string;
|
|
22
|
+
workerIndex?: number;
|
|
23
|
+
retry?: number;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export type BenchmarkRecorderOptions = {
|
|
27
|
+
enabled?: boolean;
|
|
28
|
+
outputPath?: string;
|
|
29
|
+
suite?: string;
|
|
30
|
+
testInfo?: Pick<TestInfo, 'attach' | 'outputPath' | 'project' | 'retry' | 'title' | 'titlePath' | 'workerIndex'>;
|
|
31
|
+
};
|
|
32
|
+
export declare function benchmarkEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
33
|
+
export declare function benchmarkOutputPath(env?: NodeJS.ProcessEnv): string;
|
|
34
|
+
export declare class BenchmarkRecorder {
|
|
35
|
+
readonly enabled: boolean;
|
|
36
|
+
readonly records: BenchmarkRecord[];
|
|
37
|
+
private attached;
|
|
38
|
+
private readonly outputPath?;
|
|
39
|
+
private readonly suite?;
|
|
40
|
+
private readonly testInfo?;
|
|
41
|
+
constructor(options?: BenchmarkRecorderOptions);
|
|
42
|
+
measure<T>(name: string, action: () => T | Promise<T>, metadata?: BenchmarkMetadata): Promise<T>;
|
|
43
|
+
flush(): Promise<void>;
|
|
44
|
+
private record;
|
|
45
|
+
}
|
|
46
|
+
export declare function createBenchmarkRecorder(options?: BenchmarkRecorderOptions): BenchmarkRecorder;
|
|
47
|
+
export declare function benchmarkForTest(testInfo: BenchmarkRecorderOptions['testInfo'], options?: Omit<BenchmarkRecorderOptions, 'testInfo'>): BenchmarkRecorder;
|
|
48
|
+
export declare function benchmarkStep<T>(testInfo: BenchmarkRecorderOptions['testInfo'] | undefined, name: string, action: () => T | Promise<T>, metadata?: BenchmarkMetadata): Promise<T>;
|
|
49
|
+
export declare function flushBenchmark(testInfo: BenchmarkRecorderOptions['testInfo'] | undefined): Promise<void>;
|
|
50
|
+
export declare function benchmarkObjectMethods<T extends object>(target: T, recorder: BenchmarkRecorder, options?: {
|
|
51
|
+
prefix?: string;
|
|
52
|
+
include?: readonly string[];
|
|
53
|
+
exclude?: readonly string[];
|
|
54
|
+
}): T;
|
|
55
|
+
//# sourceMappingURL=benchmark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"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"}
|