eip-1193-accounts-wrapper 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +167 -0
- package/dist/index.js.map +1 -0
- package/package.json +39 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { EIP1193ProviderWithoutEvents } from 'eip-1193';
|
|
2
|
+
export type { EIP1193ProviderWithoutEvents };
|
|
3
|
+
export interface ProviderOptions {
|
|
4
|
+
accounts?: {
|
|
5
|
+
privateKeys?: `0x${string}`[];
|
|
6
|
+
} | {
|
|
7
|
+
mnemonic?: string;
|
|
8
|
+
numAccounts?: number;
|
|
9
|
+
};
|
|
10
|
+
impersonate?: {
|
|
11
|
+
impersonator: {
|
|
12
|
+
impersonateAccount: (params: {
|
|
13
|
+
address: `0x${string}`;
|
|
14
|
+
}) => Promise<void>;
|
|
15
|
+
};
|
|
16
|
+
} & ({
|
|
17
|
+
mode: 'always' | 'unknown';
|
|
18
|
+
} | {
|
|
19
|
+
mode: 'list';
|
|
20
|
+
list: `0x${string}`[];
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
export declare function extendProviderWithAccounts(provider: EIP1193ProviderWithoutEvents, options?: ProviderOptions): Promise<EIP1193ProviderWithoutEvents>;
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,4BAA4B,EAAC,MAAM,UAAU,CAAC;AAE3D,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;CACF;AAED,wBAAsB,0BAA0B,CAC/C,QAAQ,EAAE,4BAA4B,EACtC,OAAO,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,4BAA4B,CAAC,CAqJvC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { privateKeyToAccount, mnemonicToAccount } from 'viem/accounts';
|
|
2
|
+
export async function extendProviderWithAccounts(provider, options) {
|
|
3
|
+
function parseTxParams(tx) {
|
|
4
|
+
const params = {};
|
|
5
|
+
if (tx.to)
|
|
6
|
+
params.to = tx.to;
|
|
7
|
+
if (tx.data)
|
|
8
|
+
params.data = tx.data;
|
|
9
|
+
if (tx.gas)
|
|
10
|
+
params.gas = BigInt(tx.gas);
|
|
11
|
+
if (tx.nonce)
|
|
12
|
+
params.nonce = parseInt(tx.nonce, 16);
|
|
13
|
+
if (tx.chainId)
|
|
14
|
+
params.chainId = parseInt(tx.chainId, 16);
|
|
15
|
+
if (tx.accessList)
|
|
16
|
+
params.accessList = tx.accessList;
|
|
17
|
+
if (tx.type === '0x1') {
|
|
18
|
+
params.type = 'eip2930';
|
|
19
|
+
if (tx.gasPrice)
|
|
20
|
+
params.gasPrice = BigInt(tx.gasPrice);
|
|
21
|
+
}
|
|
22
|
+
else if (tx.type === '0x2') {
|
|
23
|
+
params.type = 'eip1559';
|
|
24
|
+
if (tx.maxFeePerGas)
|
|
25
|
+
params.maxFeePerGas = BigInt(tx.maxFeePerGas);
|
|
26
|
+
if (tx.maxPriorityFeePerGas)
|
|
27
|
+
params.maxPriorityFeePerGas = BigInt(tx.maxPriorityFeePerGas);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
params.type = 'legacy';
|
|
31
|
+
if (tx.gasPrice)
|
|
32
|
+
params.gasPrice = BigInt(tx.gasPrice);
|
|
33
|
+
}
|
|
34
|
+
return params;
|
|
35
|
+
}
|
|
36
|
+
const accounts = [];
|
|
37
|
+
if (options?.accounts) {
|
|
38
|
+
const accountsProvided = options.accounts;
|
|
39
|
+
if ('privateKeys' in accountsProvided && accountsProvided.privateKeys) {
|
|
40
|
+
for (const pk of accountsProvided.privateKeys) {
|
|
41
|
+
const account = privateKeyToAccount(pk);
|
|
42
|
+
accounts.push(account);
|
|
43
|
+
// await client.tevmSetAccount({ address: account.address, balance: 0n });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else if ('mnemonic' in accountsProvided && accountsProvided.mnemonic) {
|
|
47
|
+
const num = accountsProvided.numAccounts || 10;
|
|
48
|
+
for (let i = 0; i < num; i++) {
|
|
49
|
+
const account = mnemonicToAccount(accountsProvided.mnemonic, {
|
|
50
|
+
accountIndex: i,
|
|
51
|
+
});
|
|
52
|
+
accounts.push(account);
|
|
53
|
+
// await client.tevmSetAccount({ address: account.address, balance: 0n });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const shouldImpersonate = (address) => {
|
|
58
|
+
if (options?.impersonate?.mode === 'always') {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
else if (options?.impersonate?.mode == 'unknown') {
|
|
62
|
+
return !accounts.some((a) => a.address === address);
|
|
63
|
+
}
|
|
64
|
+
else if (options?.impersonate?.mode === 'list') {
|
|
65
|
+
return options.impersonate.list.includes(address) || false;
|
|
66
|
+
}
|
|
67
|
+
return false;
|
|
68
|
+
};
|
|
69
|
+
const accountHandlers = {
|
|
70
|
+
eth_sendTransaction: async (params) => {
|
|
71
|
+
const tx = params[0];
|
|
72
|
+
const account = accounts.find((a) => a.address === tx.from);
|
|
73
|
+
const impersonate = options?.impersonate;
|
|
74
|
+
if (impersonate?.mode !== 'always' && account) {
|
|
75
|
+
const signedTx = await account.signTransaction(parseTxParams(tx));
|
|
76
|
+
return await provider.request({
|
|
77
|
+
method: 'eth_sendRawTransaction',
|
|
78
|
+
params: [signedTx],
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
else if (impersonate) {
|
|
82
|
+
if (shouldImpersonate(tx.from)) {
|
|
83
|
+
await impersonate.impersonator.impersonateAccount({
|
|
84
|
+
address: tx.from,
|
|
85
|
+
});
|
|
86
|
+
return await provider.request({
|
|
87
|
+
method: 'eth_sendTransaction',
|
|
88
|
+
params: [tx],
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
throw new Error('Account not available, not even as impersonation');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
throw new Error('Account not available');
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
eth_accounts: async () => {
|
|
100
|
+
return accounts.map((a) => a.address);
|
|
101
|
+
},
|
|
102
|
+
eth_requestAccounts: async () => {
|
|
103
|
+
return accounts.map((a) => a.address);
|
|
104
|
+
},
|
|
105
|
+
personal_sign: async (params) => {
|
|
106
|
+
const [message, address] = params;
|
|
107
|
+
const account = accounts.find((a) => a.address === address);
|
|
108
|
+
if (!account) {
|
|
109
|
+
throw new Error('Account not available for signing');
|
|
110
|
+
}
|
|
111
|
+
const prefixedMessage = `\x19Ethereum Signed Message:\n${message.length}${message}`;
|
|
112
|
+
return account.signMessage({ message: prefixedMessage });
|
|
113
|
+
},
|
|
114
|
+
eth_sign: async (params) => {
|
|
115
|
+
const [address, message] = params;
|
|
116
|
+
const account = accounts.find((a) => a.address === address);
|
|
117
|
+
if (!account) {
|
|
118
|
+
throw new Error('Account not available for signing');
|
|
119
|
+
}
|
|
120
|
+
return account.signMessage({ message });
|
|
121
|
+
},
|
|
122
|
+
eth_signTransaction: async (params) => {
|
|
123
|
+
const tx = params[0];
|
|
124
|
+
const account = accounts.find((a) => a.address === tx.from);
|
|
125
|
+
if (!account) {
|
|
126
|
+
throw new Error('Account not available for signing');
|
|
127
|
+
}
|
|
128
|
+
const signTxParams = parseTxParams(tx);
|
|
129
|
+
if (tx.value)
|
|
130
|
+
signTxParams.value = BigInt(tx.value);
|
|
131
|
+
return account.signTransaction(signTxParams);
|
|
132
|
+
},
|
|
133
|
+
eth_signTypedData: async (params) => {
|
|
134
|
+
const [address, typedData] = params;
|
|
135
|
+
const account = accounts.find((a) => a.address === address);
|
|
136
|
+
if (!account) {
|
|
137
|
+
throw new Error('Account not available for signing');
|
|
138
|
+
}
|
|
139
|
+
return account.signTypedData(typedData);
|
|
140
|
+
},
|
|
141
|
+
eth_signTypedData_v4: async (params) => {
|
|
142
|
+
const [address, typedData] = params;
|
|
143
|
+
const account = accounts.find((a) => a.address === address);
|
|
144
|
+
if (!account) {
|
|
145
|
+
throw new Error('Account not available for signing');
|
|
146
|
+
}
|
|
147
|
+
return account.signTypedData(typedData);
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
const handlers = {
|
|
151
|
+
...accountHandlers,
|
|
152
|
+
};
|
|
153
|
+
return {
|
|
154
|
+
request: async (args) => {
|
|
155
|
+
const { method, params = [] } = args;
|
|
156
|
+
const handler = handlers[method];
|
|
157
|
+
if (!handler) {
|
|
158
|
+
return provider.request({
|
|
159
|
+
method: args.method,
|
|
160
|
+
params: args.params,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
return handler(params);
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "eip-1193-accounts-wrapper",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "extends eip-1193 provider with accounts",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"type": "module",
|
|
9
|
+
"main": "dist/index.js",
|
|
10
|
+
"module": "dist/index.js",
|
|
11
|
+
"types": "dist/index.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"import": {
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"default": "./dist/index.js"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"dist"
|
|
22
|
+
],
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"named-logs": "^0.4.1",
|
|
25
|
+
"viem": "^2.41.2"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"as-soon": "^0.0.11",
|
|
29
|
+
"eip-1193": "^0.6.5",
|
|
30
|
+
"tsx": "^4.21.0",
|
|
31
|
+
"typescript": "^5.9.3",
|
|
32
|
+
"vitest": "^4.0.16"
|
|
33
|
+
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"build": "tsc --project tsconfig.json",
|
|
36
|
+
"dev": "as-soon -w src pnpm build",
|
|
37
|
+
"test": "vitest"
|
|
38
|
+
}
|
|
39
|
+
}
|