@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":"injected-provider.js","sourceRoot":"","sources":["../src/injected-provider.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,4BAA4B,CAAC;AACjD,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AAExC,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,MAAwB,EAAU,EAAE,CAAC;;mBAE9D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC
|
|
1
|
+
{"version":3,"file":"injected-provider.js","sourceRoot":"","sources":["../src/injected-provider.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,4BAA4B,CAAC;AACjD,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AAExC,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,MAAwB,EAAU,EAAE,CAAC;;mBAE9D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAkHL,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAkwBZ,YAAY;;;;;;;;;;;;;sCAaT,WAAW;;;;;;;;;;;;;;;;;;;;;;CAsBhD,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Page } from '@playwright/test';
|
|
2
2
|
import { type Address, type Hex } from 'viem';
|
|
3
|
-
import type { JsonRpcRequest, RpcClient, WalletProviderInfo } from './types.js';
|
|
3
|
+
import type { JsonRpcRequest, RpcClient, WalletProviderIdentity, WalletProviderInfo } from './types.js';
|
|
4
|
+
import { type WalletPersonaInput } from './wallet-personas.js';
|
|
4
5
|
export type RejectionRule = {
|
|
5
6
|
methods?: readonly string[];
|
|
6
7
|
message?: string;
|
|
@@ -20,6 +21,16 @@ export type SentTransactionRecord = {
|
|
|
20
21
|
data?: Hex;
|
|
21
22
|
value?: string;
|
|
22
23
|
};
|
|
24
|
+
export type WatchedAssetRecord = {
|
|
25
|
+
/** The wallet's active chain when the asset prompt was accepted. */
|
|
26
|
+
chainId: Hex;
|
|
27
|
+
/** EIP-747 asset type, usually ERC20. */
|
|
28
|
+
type?: string;
|
|
29
|
+
/** Wallet-visible asset options passed by the dapp. */
|
|
30
|
+
options?: Record<string, unknown>;
|
|
31
|
+
/** Original wallet_watchAsset request object passed by the dapp. */
|
|
32
|
+
request: unknown;
|
|
33
|
+
};
|
|
23
34
|
/** A chain backend: any RpcClient, or an http(s) RPC URL string. */
|
|
24
35
|
export type ChainBackend = RpcClient | string;
|
|
25
36
|
export type AtomicCapabilityStatus = 'supported' | 'ready' | 'unsupported';
|
|
@@ -33,6 +44,73 @@ export type Eip5792Options = {
|
|
|
33
44
|
/** Batches with more calls throw 5740. Default: 100. */
|
|
34
45
|
maxCallsPerBatch?: number;
|
|
35
46
|
};
|
|
47
|
+
export type HardwareWalletDeviceState = 'ready' | 'locked' | 'wrong-app' | 'blind-signing-disabled' | 'disconnected';
|
|
48
|
+
export type HardwareWalletSimulationOptions = {
|
|
49
|
+
/**
|
|
50
|
+
* Enables deterministic hardware-wallet behavior. Passing an options object
|
|
51
|
+
* enables it unless `enabled: false` is set.
|
|
52
|
+
*/
|
|
53
|
+
enabled?: boolean;
|
|
54
|
+
/** Delay after user approval while the request waits for device confirmation. */
|
|
55
|
+
approvalDelayMs?: number;
|
|
56
|
+
/** Device state to emulate. Non-ready states reject matching requests. */
|
|
57
|
+
deviceState?: HardwareWalletDeviceState;
|
|
58
|
+
/** Methods that require hardware confirmation. Defaults to signing/spend methods. */
|
|
59
|
+
methods?: readonly string[];
|
|
60
|
+
/**
|
|
61
|
+
* App name shown when `deviceState` is `wrong-app`. Defaults to the app
|
|
62
|
+
* inferred from the method, currently Ethereum for EVM methods and Solana
|
|
63
|
+
* for `solana_*` methods.
|
|
64
|
+
*/
|
|
65
|
+
requiredApp?: string;
|
|
66
|
+
/** Method-specific app names for `wrong-app` errors. Overrides `requiredApp`. */
|
|
67
|
+
requiredApps?: Record<string, string>;
|
|
68
|
+
};
|
|
69
|
+
export type CoinbaseSpendPermission = {
|
|
70
|
+
account: Address;
|
|
71
|
+
spender: Address;
|
|
72
|
+
token: Address;
|
|
73
|
+
allowance: string;
|
|
74
|
+
period: number;
|
|
75
|
+
start: number;
|
|
76
|
+
end: number;
|
|
77
|
+
salt: string;
|
|
78
|
+
extraData: Hex;
|
|
79
|
+
};
|
|
80
|
+
export type CoinbasePermission = {
|
|
81
|
+
createdAt: number;
|
|
82
|
+
permissionHash: Hex;
|
|
83
|
+
signature: Hex;
|
|
84
|
+
spendPermission: CoinbaseSpendPermission;
|
|
85
|
+
/** Filtering metadata; omitted from RPC responses. Defaults to the active chain. */
|
|
86
|
+
chainId?: number | Hex | string;
|
|
87
|
+
};
|
|
88
|
+
export type CoinbaseSubAccount = {
|
|
89
|
+
address: Address;
|
|
90
|
+
factory?: Address;
|
|
91
|
+
factoryData?: Hex;
|
|
92
|
+
/** Filtering/return metadata. Defaults to the active chain. */
|
|
93
|
+
chainId?: number | Hex | string;
|
|
94
|
+
/** Optional owner account filter for wallet_getSubAccounts. */
|
|
95
|
+
account?: Address;
|
|
96
|
+
/** Optional dapp-domain filter for wallet_getSubAccounts. */
|
|
97
|
+
domain?: string;
|
|
98
|
+
};
|
|
99
|
+
export type CoinbaseWalletSimulationOptions = {
|
|
100
|
+
/**
|
|
101
|
+
* Enables Coinbase/Base Account RPC methods. Defaults to true when any
|
|
102
|
+
* configured persona has isCoinbaseWallet.
|
|
103
|
+
*/
|
|
104
|
+
enabled?: boolean;
|
|
105
|
+
/** Seed spend permissions returned by coinbase_fetchPermission(s). */
|
|
106
|
+
permissions?: readonly CoinbasePermission[];
|
|
107
|
+
/** Seed sub-accounts returned by wallet_getSubAccounts. */
|
|
108
|
+
subAccounts?: readonly CoinbaseSubAccount[];
|
|
109
|
+
/** Default factory attached to generated sub-accounts. */
|
|
110
|
+
factory?: Address;
|
|
111
|
+
/** Default factoryData attached to generated sub-accounts. */
|
|
112
|
+
factoryData?: Hex;
|
|
113
|
+
};
|
|
36
114
|
export type CallsBatchRecord = {
|
|
37
115
|
id: Hex;
|
|
38
116
|
chainId: Hex;
|
|
@@ -97,10 +175,39 @@ export type MockWalletControllerOptions = {
|
|
|
97
175
|
* a legacy wallet that answers 4200.
|
|
98
176
|
*/
|
|
99
177
|
eip5792?: boolean | Eip5792Options;
|
|
178
|
+
/** Primary wallet identity, including EIP-6963 metadata, provider flags, and global aliases. */
|
|
179
|
+
persona?: WalletPersonaInput;
|
|
180
|
+
/** Additional announced wallet identities. */
|
|
181
|
+
additionalPersonas?: readonly WalletPersonaInput[];
|
|
182
|
+
/**
|
|
183
|
+
* Deterministic Ledger/Trezor-style approval simulation. `true` enables
|
|
184
|
+
* the default ready device with a confirmation delay; an options object can
|
|
185
|
+
* model locked, wrong-app, blind-signing-disabled, and disconnected states.
|
|
186
|
+
*/
|
|
187
|
+
hardwareWallet?: boolean | HardwareWalletSimulationOptions;
|
|
188
|
+
/**
|
|
189
|
+
* Coinbase/Base Account RPC simulation. Auto-enabled for Coinbase personas;
|
|
190
|
+
* pass false to make coinbase_* and Coinbase wallet_* methods unsupported.
|
|
191
|
+
*/
|
|
192
|
+
coinbase?: boolean | CoinbaseWalletSimulationOptions;
|
|
193
|
+
/**
|
|
194
|
+
* Legacy shortcut for overriding primary EIP-6963 metadata. Prefer
|
|
195
|
+
* `persona` for wallet flags and aliases.
|
|
196
|
+
*/
|
|
100
197
|
providerInfo?: Partial<WalletProviderInfo>;
|
|
198
|
+
/**
|
|
199
|
+
* Legacy shortcut for extra EIP-6963-only providers. Prefer
|
|
200
|
+
* `additionalPersonas` for wallet flags and aliases.
|
|
201
|
+
*/
|
|
101
202
|
additionalProviders?: readonly Partial<WalletProviderInfo>[];
|
|
102
203
|
autoApprove?: boolean;
|
|
103
204
|
connected?: boolean;
|
|
205
|
+
/**
|
|
206
|
+
* Software wallet lock state exposed through `_metamask.isUnlocked()` and
|
|
207
|
+
* `metamask_getProviderState`. Locked wallets keep chain connectivity but
|
|
208
|
+
* hide accounts and reject approval-gated account/sign/spend requests.
|
|
209
|
+
*/
|
|
210
|
+
unlocked?: boolean;
|
|
104
211
|
/**
|
|
105
212
|
* When set, only frames whose origin matches an entry (URL or origin
|
|
106
213
|
* string) can reach the wallet; everything else gets a 4100 error. Leave
|
|
@@ -114,7 +221,10 @@ export declare class MockWalletController {
|
|
|
114
221
|
private accounts;
|
|
115
222
|
private chainId;
|
|
116
223
|
private connected;
|
|
224
|
+
private unlocked;
|
|
117
225
|
private approveRequests;
|
|
226
|
+
private hardwareWallet;
|
|
227
|
+
private coinbase;
|
|
118
228
|
private rejectionQueue;
|
|
119
229
|
private holdQueue;
|
|
120
230
|
private approvalQueue;
|
|
@@ -135,15 +245,23 @@ export declare class MockWalletController {
|
|
|
135
245
|
readonly shownCallsStatusIds: Hex[];
|
|
136
246
|
readonly sentTransactions: Hex[];
|
|
137
247
|
readonly sentTransactionRequests: SentTransactionRecord[];
|
|
248
|
+
readonly watchedAssets: WatchedAssetRecord[];
|
|
138
249
|
constructor(page: Page, rpcClient: RpcClient, options: MockWalletControllerOptions);
|
|
139
250
|
readonly providerInfo: WalletProviderInfo;
|
|
140
|
-
readonly providerInfos: readonly
|
|
251
|
+
readonly providerInfos: readonly WalletProviderIdentity[];
|
|
141
252
|
get primaryAccount(): Address;
|
|
142
253
|
/** Current account list; index 0 is the selected account. */
|
|
143
254
|
get currentAccounts(): readonly Address[];
|
|
144
255
|
get currentChainId(): Hex;
|
|
145
256
|
/** Chain ids that currently have an RPC backend, canonical hex. */
|
|
146
257
|
get backedChainIds(): readonly Hex[];
|
|
258
|
+
get coinbasePermissions(): readonly CoinbasePermission[];
|
|
259
|
+
get coinbaseSubAccounts(): readonly CoinbaseSubAccount[];
|
|
260
|
+
get solanaAccounts(): readonly {
|
|
261
|
+
publicKey: string;
|
|
262
|
+
pubkey: string;
|
|
263
|
+
address: string;
|
|
264
|
+
}[];
|
|
147
265
|
/**
|
|
148
266
|
* Test-side chain registration (Synpress addNetwork analogue): registers
|
|
149
267
|
* the backend and marks the chain known — no approval gate, no probe, and
|
|
@@ -171,6 +289,10 @@ export declare class MockWalletController {
|
|
|
171
289
|
onProviderEvent(listener: (event: string, payload: unknown) => void): () => void;
|
|
172
290
|
injectMockProvider(): Promise<void>;
|
|
173
291
|
autoApprove(enabled?: boolean): void;
|
|
292
|
+
configureHardwareWallet(options: boolean | HardwareWalletSimulationOptions): void;
|
|
293
|
+
configureCoinbaseWallet(options: boolean | CoinbaseWalletSimulationOptions): void;
|
|
294
|
+
setHardwareWalletState(state: HardwareWalletDeviceState): void;
|
|
295
|
+
setHardwareWalletApprovalDelay(approvalDelayMs: number): void;
|
|
174
296
|
/**
|
|
175
297
|
* One-shot: the next atomicRequired wallet_sendCalls while the atomic
|
|
176
298
|
* capability is 'ready' throws 5750 (user rejected the EOA upgrade)
|
|
@@ -203,6 +325,13 @@ export declare class MockWalletController {
|
|
|
203
325
|
waitForNextTransaction(options?: {
|
|
204
326
|
timeoutMs?: number;
|
|
205
327
|
}): Promise<Hex>;
|
|
328
|
+
/**
|
|
329
|
+
* Resolves with the next approved wallet_watchAsset request after this
|
|
330
|
+
* call. Invoke before triggering the dapp action, then await it.
|
|
331
|
+
*/
|
|
332
|
+
waitForNextWatchedAsset(options?: {
|
|
333
|
+
timeoutMs?: number;
|
|
334
|
+
}): Promise<WatchedAssetRecord>;
|
|
206
335
|
/**
|
|
207
336
|
* Replaces the account set (and reconnects a disconnected wallet — unlike
|
|
208
337
|
* switchAccount, which only reorders). Accounts are validated against the
|
|
@@ -220,6 +349,10 @@ export declare class MockWalletController {
|
|
|
220
349
|
* the reorder stays internal until the wallet reconnects.
|
|
221
350
|
*/
|
|
222
351
|
switchAccount(address: Address): Promise<void>;
|
|
352
|
+
get isUnlocked(): boolean;
|
|
353
|
+
setUnlocked(unlocked: boolean): Promise<void>;
|
|
354
|
+
lock(): Promise<void>;
|
|
355
|
+
unlock(): Promise<void>;
|
|
223
356
|
disconnect(): Promise<void>;
|
|
224
357
|
reconnect(): Promise<void>;
|
|
225
358
|
switchNetwork(chainId: number | Hex): Promise<void>;
|
|
@@ -236,8 +369,23 @@ export declare class MockWalletController {
|
|
|
236
369
|
private fetchNodeAccounts;
|
|
237
370
|
private assertAccountsKnownToNode;
|
|
238
371
|
private assertOriginAllowed;
|
|
372
|
+
private assertHardwareWalletReady;
|
|
239
373
|
private assertUserApproved;
|
|
240
374
|
private permissionResponse;
|
|
375
|
+
private requestedPermissionKeys;
|
|
376
|
+
private assertSupportedPermissions;
|
|
377
|
+
private handleRequestPermissions;
|
|
378
|
+
private handleRevokePermissions;
|
|
379
|
+
private assertCoinbaseEnabled;
|
|
380
|
+
private assertCoinbaseConnected;
|
|
381
|
+
private assertAuthorizedAccount;
|
|
382
|
+
private buildCoinbaseSiweCapability;
|
|
383
|
+
private handleWalletConnect;
|
|
384
|
+
private handleWalletGetSubAccounts;
|
|
385
|
+
private handleWalletAddSubAccount;
|
|
386
|
+
private handleCoinbaseFetchPermissions;
|
|
387
|
+
private handleCoinbaseFetchPermission;
|
|
388
|
+
private handleWatchAsset;
|
|
241
389
|
private handleRpcRequest;
|
|
242
390
|
}
|
|
243
391
|
//# sourceMappingURL=mock-wallet-controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-wallet-controller.d.ts","sourceRoot":"","sources":["../src/mock-wallet-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,
|
|
1
|
+
{"version":3,"file":"mock-wallet-controller.d.ts","sourceRoot":"","sources":["../src/mock-wallet-controller.ts"],"names":[],"mappings":"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"}
|