eip-1193-accounts-wrapper 0.0.12 → 0.1.0
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 +164 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +187 -65
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/README.md
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# eip-1193-accounts-wrapper
|
|
2
|
+
|
|
3
|
+
Extends EIP-1193 providers with local account handling for signing transactions and messages.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/eip-1193-accounts-wrapper)
|
|
6
|
+
|
|
7
|
+
## About
|
|
8
|
+
|
|
9
|
+
When working with EIP-1193 providers (like those from browser wallets), you sometimes need to add local account capabilities for development, testing, or backend signing. This library wraps any EIP-1193 provider and adds account-related methods using local private keys or mnemonics, powered by [viem](https://viem.sh/).
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- **Private key accounts** – Load accounts from hex-encoded private keys
|
|
14
|
+
- **Mnemonic accounts** – Derive multiple accounts from a BIP-39 mnemonic phrase
|
|
15
|
+
- **Transaction signing** – Signs and sends transactions via `eth_sendTransaction`
|
|
16
|
+
- **Message signing** – Supports `personal_sign`, `eth_sign`, `eth_signTypedData`, and `eth_signTypedData_v4`
|
|
17
|
+
- **Account impersonation** – Impersonate addresses for testing (requires compatible backend like Anvil)
|
|
18
|
+
- **Custom handlers** – Override any RPC method with your own implementation
|
|
19
|
+
|
|
20
|
+
## Installation
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install eip-1193-accounts-wrapper
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
pnpm add eip-1193-accounts-wrapper
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
yarn add eip-1193-accounts-wrapper
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Usage
|
|
35
|
+
|
|
36
|
+
### Basic usage with private keys
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import { extendProviderWithAccounts } from 'eip-1193-accounts-wrapper';
|
|
40
|
+
|
|
41
|
+
// Your existing EIP-1193 provider (e.g., from a JSON-RPC endpoint)
|
|
42
|
+
const baseProvider = {
|
|
43
|
+
request: async ({ method, params }) => {
|
|
44
|
+
// Your provider implementation
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const provider = extendProviderWithAccounts(baseProvider, {
|
|
49
|
+
accounts: {
|
|
50
|
+
privateKeys: [
|
|
51
|
+
'0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80',
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
// Now you can use account methods
|
|
57
|
+
const accounts = await provider.request({ method: 'eth_accounts' });
|
|
58
|
+
console.log(accounts); // ['0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266']
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Using a mnemonic phrase
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
const provider = extendProviderWithAccounts(baseProvider, {
|
|
65
|
+
accounts: {
|
|
66
|
+
mnemonic: 'test test test test test test test test test test test junk',
|
|
67
|
+
numAccounts: 5, // optional, defaults to 10
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Account impersonation
|
|
73
|
+
|
|
74
|
+
For testing with tools like Anvil that support account impersonation:
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
import { createTestClient, http } from 'viem';
|
|
78
|
+
import { foundry } from 'viem/chains';
|
|
79
|
+
|
|
80
|
+
const testClient = createTestClient({
|
|
81
|
+
mode: 'anvil',
|
|
82
|
+
chain: foundry,
|
|
83
|
+
transport: http(),
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
const provider = extendProviderWithAccounts(baseProvider, {
|
|
87
|
+
impersonate: {
|
|
88
|
+
impersonator: testClient,
|
|
89
|
+
mode: 'unknown', // 'always' | 'unknown' | 'list'
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Impersonation modes:
|
|
95
|
+
- `always` – Always impersonate, even for known accounts
|
|
96
|
+
- `unknown` – Only impersonate addresses not in the local accounts list
|
|
97
|
+
- `list` – Only impersonate specific addresses provided in the `list` array
|
|
98
|
+
|
|
99
|
+
### Custom RPC handlers
|
|
100
|
+
|
|
101
|
+
```typescript
|
|
102
|
+
const provider = extendProviderWithAccounts(baseProvider, {
|
|
103
|
+
handlers: {
|
|
104
|
+
eth_blockNumber: async () => '0x1',
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## API
|
|
110
|
+
|
|
111
|
+
### `extendProviderWithAccounts(provider, options?)`
|
|
112
|
+
|
|
113
|
+
Wraps an EIP-1193 provider with local account capabilities.
|
|
114
|
+
|
|
115
|
+
#### Parameters
|
|
116
|
+
|
|
117
|
+
- `provider` – An EIP-1193 compatible provider object
|
|
118
|
+
- `options` – Optional configuration object:
|
|
119
|
+
- `accounts.privateKeys` – Array of hex-encoded private keys
|
|
120
|
+
- `accounts.mnemonic` – BIP-39 mnemonic phrase
|
|
121
|
+
- `accounts.numAccounts` – Number of accounts to derive from mnemonic (default: 10)
|
|
122
|
+
- `impersonate` – Impersonation configuration for testing
|
|
123
|
+
- `doNotFillMissingFields` – If `true`, requires all transaction fields (gas, nonce, etc.)
|
|
124
|
+
- `handlers` – Custom RPC method handlers
|
|
125
|
+
|
|
126
|
+
#### Returns
|
|
127
|
+
|
|
128
|
+
An EIP-1193 provider with account methods added.
|
|
129
|
+
|
|
130
|
+
## Supported Methods
|
|
131
|
+
|
|
132
|
+
The following methods are handled locally when accounts are configured:
|
|
133
|
+
|
|
134
|
+
| Method | Description |
|
|
135
|
+
|--------|-------------|
|
|
136
|
+
| `eth_accounts` | Returns configured account addresses |
|
|
137
|
+
| `eth_requestAccounts` | Returns configured account addresses |
|
|
138
|
+
| `eth_sendTransaction` | Signs and sends transactions |
|
|
139
|
+
| `personal_sign` | Signs messages with personal prefix |
|
|
140
|
+
| `eth_sign` | Signs raw messages |
|
|
141
|
+
| `eth_signTypedData` | Signs typed data (EIP-712) |
|
|
142
|
+
| `eth_signTypedData_v4` | Signs typed data v4 (EIP-712) |
|
|
143
|
+
|
|
144
|
+
All other methods are passed through to the underlying provider.
|
|
145
|
+
|
|
146
|
+
## Development
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
# Install dependencies
|
|
150
|
+
pnpm install
|
|
151
|
+
|
|
152
|
+
# Build
|
|
153
|
+
pnpm build
|
|
154
|
+
|
|
155
|
+
# Run tests
|
|
156
|
+
pnpm test
|
|
157
|
+
|
|
158
|
+
# Development mode (watch)
|
|
159
|
+
pnpm dev
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## License
|
|
163
|
+
|
|
164
|
+
See the [`LICENSE`](LICENSE) file for details.
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,4BAA4B,EAAwD,MAAM,UAAU,CAAC;AAalH,YAAY,EAAC,4BAA4B,EAAC,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,EACN;QACA,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;KAC7B,GACD;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IAC7C,WAAW,CAAC,EAAE;QACb,YAAY,EAAE;YACb,kBAAkB,EAAE,CAAC,MAAM,EAAE;gBAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAA;aAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;SACxE,CAAC;KACF,GAAG,CACD;QACA,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;KAC1B,GACD;QACA,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;KACrB,CACH,CAAC;IACF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5D;AAED,wBAAgB,0BAA0B,CACzC,gBAAgB,EAAE,4BAA4B,EAC9C,OAAO,CAAC,EAAE,eAAe,GACvB,4BAA4B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,4BAA4B,EAAwD,MAAM,UAAU,CAAC;AAalH,YAAY,EAAC,4BAA4B,EAAC,CAAC;AAE3C,OAAO,EAAC,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,EACN;QACA,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;KAC7B,GACD;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IAC7C,WAAW,CAAC,EAAE;QACb,YAAY,EAAE;YACb,kBAAkB,EAAE,CAAC,MAAM,EAAE;gBAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAA;aAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;SACxE,CAAC;KACF,GAAG,CACD;QACA,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;KAC1B,GACD;QACA,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;KACrB,CACH,CAAC;IACF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5D;AAED,wBAAgB,0BAA0B,CACzC,gBAAgB,EAAE,4BAA4B,EAC9C,OAAO,CAAC,EAAE,eAAe,GACvB,4BAA4B,CAwY9B"}
|
package/dist/index.js
CHANGED
|
@@ -1,63 +1,192 @@
|
|
|
1
1
|
import { privateKeyToAccount, mnemonicToAccount } from 'viem/accounts';
|
|
2
2
|
import { createPublicClient, createWalletClient, custom, defineChain, } from 'viem';
|
|
3
|
+
export { generateMnemonic, generatePrivateKey } from 'viem/accounts';
|
|
3
4
|
export function extendProviderWithAccounts(providerToExtend, options) {
|
|
4
5
|
let clients;
|
|
6
|
+
// Impersonation cache: address (lowercase) -> success/failure
|
|
7
|
+
const impersonationCache = new Map();
|
|
8
|
+
// Track addresses that need impersonation based on mode
|
|
9
|
+
const addressesToImpersonate = [];
|
|
10
|
+
// Initialization promise to prevent duplicate initialization
|
|
11
|
+
let initPromise;
|
|
12
|
+
// Local accounts from private keys or mnemonic
|
|
13
|
+
const accounts = [];
|
|
14
|
+
if (options?.accounts) {
|
|
15
|
+
const accountsProvided = options.accounts;
|
|
16
|
+
if ('privateKeys' in accountsProvided && accountsProvided.privateKeys) {
|
|
17
|
+
for (const pk of accountsProvided.privateKeys) {
|
|
18
|
+
const account = privateKeyToAccount(pk);
|
|
19
|
+
accounts.push(account);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else if ('mnemonic' in accountsProvided && accountsProvided.mnemonic) {
|
|
23
|
+
const num = accountsProvided.numAccounts || 10;
|
|
24
|
+
for (let i = 0; i < num; i++) {
|
|
25
|
+
const account = mnemonicToAccount(accountsProvided.mnemonic, {
|
|
26
|
+
accountIndex: i,
|
|
27
|
+
});
|
|
28
|
+
accounts.push(account);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// Initialize impersonation for configured addresses
|
|
33
|
+
async function initialize() {
|
|
34
|
+
if (initPromise)
|
|
35
|
+
return initPromise;
|
|
36
|
+
initPromise = (async () => {
|
|
37
|
+
// Determine addresses to impersonate based on mode
|
|
38
|
+
if (options?.impersonate?.mode === 'list') {
|
|
39
|
+
addressesToImpersonate.push(...options.impersonate.list);
|
|
40
|
+
}
|
|
41
|
+
else if (options?.impersonate?.mode === 'always') {
|
|
42
|
+
// All accounts including LocalAccounts will use impersonation
|
|
43
|
+
addressesToImpersonate.push(...accounts.map((a) => a.address));
|
|
44
|
+
}
|
|
45
|
+
// For 'unknown' mode, we impersonate on-demand for non-local accounts
|
|
46
|
+
// Pre-impersonate known addresses
|
|
47
|
+
for (const address of addressesToImpersonate) {
|
|
48
|
+
await attemptImpersonation(address);
|
|
49
|
+
}
|
|
50
|
+
})();
|
|
51
|
+
return initPromise;
|
|
52
|
+
}
|
|
53
|
+
// Attempt impersonation for an address, caching the result
|
|
54
|
+
async function attemptImpersonation(address) {
|
|
55
|
+
const normalizedAddress = address.toLowerCase();
|
|
56
|
+
// Check cache first
|
|
57
|
+
const cached = impersonationCache.get(normalizedAddress);
|
|
58
|
+
if (cached !== undefined) {
|
|
59
|
+
return cached;
|
|
60
|
+
}
|
|
61
|
+
// Attempt impersonation
|
|
62
|
+
if (!options?.impersonate) {
|
|
63
|
+
impersonationCache.set(normalizedAddress, false);
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
await options.impersonate.impersonator.impersonateAccount({ address });
|
|
68
|
+
impersonationCache.set(normalizedAddress, true);
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
impersonationCache.set(normalizedAddress, false);
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Get list of available accounts (local + successfully impersonated)
|
|
77
|
+
function getAvailableAccounts() {
|
|
78
|
+
const available = [];
|
|
79
|
+
// Local accounts are always available (unless mode is 'always')
|
|
80
|
+
if (options?.impersonate?.mode !== 'always') {
|
|
81
|
+
for (const account of accounts) {
|
|
82
|
+
available.push(account.address);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// Add successfully impersonated addresses
|
|
86
|
+
for (const address of addressesToImpersonate) {
|
|
87
|
+
const normalized = address.toLowerCase();
|
|
88
|
+
if (impersonationCache.get(normalized) === true) {
|
|
89
|
+
// Avoid duplicates
|
|
90
|
+
if (!available.some((a) => a.toLowerCase() === normalized)) {
|
|
91
|
+
available.push(address);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return available;
|
|
96
|
+
}
|
|
97
|
+
// Check if an address should use impersonation
|
|
98
|
+
function shouldImpersonate(address) {
|
|
99
|
+
if (options?.impersonate?.mode === 'always') {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
else if (options?.impersonate?.mode === 'unknown') {
|
|
103
|
+
return !accounts.some((a) => a.address.toLowerCase() === address.toLowerCase());
|
|
104
|
+
}
|
|
105
|
+
else if (options?.impersonate?.mode === 'list') {
|
|
106
|
+
return options.impersonate.list.some((a) => a.toLowerCase() === address.toLowerCase());
|
|
107
|
+
}
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
5
110
|
const accountHandlers = {
|
|
6
111
|
eth_sendTransaction: async (params) => {
|
|
7
112
|
const tx = params[0];
|
|
8
113
|
if (options?.doNotFillMissingFields) {
|
|
9
114
|
validateTransaction(tx);
|
|
10
115
|
}
|
|
116
|
+
await initialize();
|
|
11
117
|
const viemTx = toViemTransaction(tx);
|
|
12
118
|
const account = accounts.find((a) => a.address.toLowerCase() === tx.from.toLowerCase());
|
|
13
119
|
const impersonate = options?.impersonate;
|
|
14
|
-
|
|
120
|
+
// Use local account if available and not in 'always' mode
|
|
15
121
|
if (impersonate?.mode !== 'always' && account) {
|
|
122
|
+
const clients = await getClients();
|
|
16
123
|
return clients.wallet.sendTransaction({
|
|
17
124
|
...viemTx,
|
|
18
125
|
account,
|
|
19
126
|
});
|
|
20
127
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return await provider.request({
|
|
128
|
+
// Check if impersonation is allowed and successful
|
|
129
|
+
if (shouldImpersonate(tx.from)) {
|
|
130
|
+
const success = await attemptImpersonation(tx.from);
|
|
131
|
+
if (success) {
|
|
132
|
+
return await providerToExtend.request({
|
|
27
133
|
method: 'eth_sendTransaction',
|
|
28
134
|
params: [tx],
|
|
29
135
|
});
|
|
30
136
|
}
|
|
31
|
-
else {
|
|
32
|
-
throw new Error('Account not available, not even as impersonation');
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
throw new Error('Account not available');
|
|
37
137
|
}
|
|
138
|
+
throw new Error('Account not available');
|
|
38
139
|
},
|
|
39
140
|
eth_accounts: async () => {
|
|
40
|
-
|
|
141
|
+
await initialize();
|
|
142
|
+
return getAvailableAccounts();
|
|
41
143
|
},
|
|
42
144
|
eth_requestAccounts: async () => {
|
|
43
|
-
|
|
145
|
+
await initialize();
|
|
146
|
+
return getAvailableAccounts();
|
|
44
147
|
},
|
|
45
148
|
personal_sign: async (params) => {
|
|
46
149
|
const [message, address] = params;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
150
|
+
await initialize();
|
|
151
|
+
// Try local account first (unless mode is 'always')
|
|
152
|
+
const account = accounts.find((a) => a.address.toLowerCase() === address.toLowerCase());
|
|
153
|
+
if (account && options?.impersonate?.mode !== 'always') {
|
|
154
|
+
const prefixedMessage = `\x19Ethereum Signed Message:\n${message.length}${message}`;
|
|
155
|
+
return account.signMessage({ message: prefixedMessage });
|
|
156
|
+
}
|
|
157
|
+
// Try impersonation
|
|
158
|
+
if (shouldImpersonate(address)) {
|
|
159
|
+
const success = await attemptImpersonation(address);
|
|
160
|
+
if (success) {
|
|
161
|
+
// Forward to underlying provider for impersonated signing
|
|
162
|
+
return providerToExtend.request({
|
|
163
|
+
method: 'personal_sign',
|
|
164
|
+
params: [message, address],
|
|
165
|
+
});
|
|
166
|
+
}
|
|
50
167
|
}
|
|
51
|
-
|
|
52
|
-
return account.signMessage({ message: prefixedMessage });
|
|
168
|
+
throw new Error('Account not available for signing');
|
|
53
169
|
},
|
|
54
170
|
eth_sign: async (params) => {
|
|
55
171
|
const [address, message] = params;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
172
|
+
await initialize();
|
|
173
|
+
// Try local account first (unless mode is 'always')
|
|
174
|
+
const account = accounts.find((a) => a.address.toLowerCase() === address.toLowerCase());
|
|
175
|
+
if (account && options?.impersonate?.mode !== 'always') {
|
|
176
|
+
return account.signMessage({ message });
|
|
59
177
|
}
|
|
60
|
-
|
|
178
|
+
// Try impersonation
|
|
179
|
+
if (shouldImpersonate(address)) {
|
|
180
|
+
const success = await attemptImpersonation(address);
|
|
181
|
+
if (success) {
|
|
182
|
+
// Forward to underlying provider for impersonated signing
|
|
183
|
+
return providerToExtend.request({
|
|
184
|
+
method: 'eth_sign',
|
|
185
|
+
params: [address, message],
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
throw new Error('Account not available for signing');
|
|
61
190
|
},
|
|
62
191
|
eth_signTransaction: async (params) => {
|
|
63
192
|
throw new Error('eth_signTransaction not implemented');
|
|
@@ -70,19 +199,45 @@ export function extendProviderWithAccounts(providerToExtend, options) {
|
|
|
70
199
|
},
|
|
71
200
|
eth_signTypedData: async (params) => {
|
|
72
201
|
const [address, typedData] = params;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
202
|
+
await initialize();
|
|
203
|
+
// Try local account first (unless mode is 'always')
|
|
204
|
+
const account = accounts.find((a) => a.address.toLowerCase() === address.toLowerCase());
|
|
205
|
+
if (account && options?.impersonate?.mode !== 'always') {
|
|
206
|
+
return account.signTypedData(typedData);
|
|
207
|
+
}
|
|
208
|
+
// Try impersonation
|
|
209
|
+
if (shouldImpersonate(address)) {
|
|
210
|
+
const success = await attemptImpersonation(address);
|
|
211
|
+
if (success) {
|
|
212
|
+
// Forward to underlying provider for impersonated signing
|
|
213
|
+
return providerToExtend.request({
|
|
214
|
+
method: 'eth_signTypedData',
|
|
215
|
+
params: [address, typedData],
|
|
216
|
+
});
|
|
217
|
+
}
|
|
76
218
|
}
|
|
77
|
-
|
|
219
|
+
throw new Error('Account not available for signing');
|
|
78
220
|
},
|
|
79
221
|
eth_signTypedData_v4: async (params) => {
|
|
80
222
|
const [address, typedData] = params;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
223
|
+
await initialize();
|
|
224
|
+
// Try local account first (unless mode is 'always')
|
|
225
|
+
const account = accounts.find((a) => a.address.toLowerCase() === address.toLowerCase());
|
|
226
|
+
if (account && options?.impersonate?.mode !== 'always') {
|
|
227
|
+
return account.signTypedData(typedData);
|
|
228
|
+
}
|
|
229
|
+
// Try impersonation
|
|
230
|
+
if (shouldImpersonate(address)) {
|
|
231
|
+
const success = await attemptImpersonation(address);
|
|
232
|
+
if (success) {
|
|
233
|
+
// Forward to underlying provider for impersonated signing
|
|
234
|
+
return providerToExtend.request({
|
|
235
|
+
method: 'eth_signTypedData_v4',
|
|
236
|
+
params: [address, typedData],
|
|
237
|
+
});
|
|
238
|
+
}
|
|
84
239
|
}
|
|
85
|
-
|
|
240
|
+
throw new Error('Account not available for signing');
|
|
86
241
|
},
|
|
87
242
|
};
|
|
88
243
|
const handlers = {
|
|
@@ -131,27 +286,6 @@ export function extendProviderWithAccounts(providerToExtend, options) {
|
|
|
131
286
|
};
|
|
132
287
|
return clients;
|
|
133
288
|
}
|
|
134
|
-
const accounts = [];
|
|
135
|
-
if (options?.accounts) {
|
|
136
|
-
const accountsProvided = options.accounts;
|
|
137
|
-
if ('privateKeys' in accountsProvided && accountsProvided.privateKeys) {
|
|
138
|
-
for (const pk of accountsProvided.privateKeys) {
|
|
139
|
-
const account = privateKeyToAccount(pk);
|
|
140
|
-
accounts.push(account);
|
|
141
|
-
// await client.tevmSetAccount({ address: account.address, balance: 0n });
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
else if ('mnemonic' in accountsProvided && accountsProvided.mnemonic) {
|
|
145
|
-
const num = accountsProvided.numAccounts || 10;
|
|
146
|
-
for (let i = 0; i < num; i++) {
|
|
147
|
-
const account = mnemonicToAccount(accountsProvided.mnemonic, {
|
|
148
|
-
accountIndex: i,
|
|
149
|
-
});
|
|
150
|
-
accounts.push(account);
|
|
151
|
-
// await client.tevmSetAccount({ address: account.address, balance: 0n });
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
289
|
function validateTransaction(tx) {
|
|
156
290
|
const errors = [];
|
|
157
291
|
if (!tx.from)
|
|
@@ -178,18 +312,6 @@ export function extendProviderWithAccounts(providerToExtend, options) {
|
|
|
178
312
|
throw new Error(`Missing mandatory fields: ${errors.join(', ')}`);
|
|
179
313
|
}
|
|
180
314
|
}
|
|
181
|
-
const shouldImpersonate = (address) => {
|
|
182
|
-
if (options?.impersonate?.mode === 'always') {
|
|
183
|
-
return true;
|
|
184
|
-
}
|
|
185
|
-
else if (options?.impersonate?.mode == 'unknown') {
|
|
186
|
-
return !accounts.some((a) => a.address.toLowerCase() === address.toLowerCase());
|
|
187
|
-
}
|
|
188
|
-
else if (options?.impersonate?.mode === 'list') {
|
|
189
|
-
return options.impersonate.list.includes(address) || false;
|
|
190
|
-
}
|
|
191
|
-
return false;
|
|
192
|
-
};
|
|
193
315
|
function toViemTransaction(tx) {
|
|
194
316
|
if (tx?.type === '0x1') {
|
|
195
317
|
return {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eip-1193-accounts-wrapper",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "extends eip-1193 provider with accounts",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"vitest": "^4.0.16"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
|
+
"typecheck": "tsc --noEmit -p tsconfig-check.json",
|
|
35
36
|
"build": "tsc --project tsconfig.json",
|
|
36
37
|
"dev": "as-soon -w src pnpm build",
|
|
37
38
|
"test": "vitest"
|