embedded-chain 0.0.0 → 0.0.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/dist/index.d.ts +6 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -3
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
type: 'auto';
|
|
4
|
-
} | {
|
|
5
|
-
type: 'manual';
|
|
6
|
-
} | {
|
|
7
|
-
type: 'interval';
|
|
8
|
-
interval: number;
|
|
9
|
-
};
|
|
1
|
+
import { MemoryClientOptions } from '@tevm/memory-client';
|
|
2
|
+
import { EIP1193ProviderWithoutEvents, ProviderOptions } from 'eip-1193-accounts-wrapper';
|
|
10
3
|
export type EmbeddedChainProviderOptions = Omit<ProviderOptions, 'impersonate'> & {
|
|
11
4
|
impersonate?: {
|
|
12
5
|
mode: 'always' | 'unknown';
|
|
@@ -22,13 +15,15 @@ export type EmbeddedChainOptions = {
|
|
|
22
15
|
store?: string;
|
|
23
16
|
key?: string;
|
|
24
17
|
};
|
|
25
|
-
miningConfig?:
|
|
18
|
+
miningConfig?: MemoryClientOptions['miningConfig'];
|
|
26
19
|
initialBalances?: Record<`0x${string}`, bigint>;
|
|
27
20
|
providerOptions?: EmbeddedChainProviderOptions;
|
|
21
|
+
gasEstimationOverrides?: {
|
|
22
|
+
addToEstimation?: bigint;
|
|
23
|
+
};
|
|
28
24
|
};
|
|
29
25
|
export type EmbeddedChain = {
|
|
30
26
|
provider: EIP1193ProviderWithoutEvents;
|
|
31
27
|
};
|
|
32
28
|
export declare function createEmbeddedChain(options: EmbeddedChainOptions): Promise<EmbeddedChain>;
|
|
33
|
-
export {};
|
|
34
29
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAG5E,OAAO,EAAC,4BAA4B,EAA8B,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAEpH,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG;IACjF,WAAW,CAAC,EACT;QACA,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;KAC1B,GACD;QACA,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;KACrB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,WAAW,CAAC,EAAE;QACb,IAAI,EAAE,WAAW,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,YAAY,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;IAChD,eAAe,CAAC,EAAE,4BAA4B,CAAC;IAC/C,sBAAsB,CAAC,EAAE;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,4BAA4B,CAAC;CACvC,CAAC;AAEF,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAuF/F"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createMemoryClient } from '@tevm/memory-client';
|
|
2
2
|
import { createSyncStoragePersister } from '@tevm/sync-storage-persister';
|
|
3
3
|
import { IndexedDBStorage } from './indexeddb-storage.js';
|
|
4
|
-
import { extendProviderWithAccounts } from '
|
|
4
|
+
import { extendProviderWithAccounts } from 'eip-1193-accounts-wrapper';
|
|
5
5
|
export async function createEmbeddedChain(options) {
|
|
6
6
|
const { persistence, miningConfig, initialBalances, providerOptions } = options;
|
|
7
7
|
let persister;
|
|
@@ -47,7 +47,7 @@ export async function createEmbeddedChain(options) {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
let actualProviderOptions;
|
|
50
|
+
let actualProviderOptions = {};
|
|
51
51
|
if (providerOptions) {
|
|
52
52
|
if ('impersonate' in providerOptions && providerOptions.impersonate) {
|
|
53
53
|
actualProviderOptions = {
|
|
@@ -62,7 +62,21 @@ export async function createEmbeddedChain(options) {
|
|
|
62
62
|
actualProviderOptions = providerOptions;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
const
|
|
65
|
+
const estimationAddition = options.gasEstimationOverrides?.addToEstimation;
|
|
66
|
+
if (estimationAddition) {
|
|
67
|
+
const existingHandlers = actualProviderOptions.handlers;
|
|
68
|
+
const existingEstimateHandler = existingHandlers?.['eth_estimateGas'];
|
|
69
|
+
const handlers = (actualProviderOptions.handlers = existingHandlers || {});
|
|
70
|
+
handlers['eth_estimateGas'] = async (params) => {
|
|
71
|
+
const result = await (existingEstimateHandler
|
|
72
|
+
? existingEstimateHandler(params)
|
|
73
|
+
: client.request({ method: 'eth_estimateGas', params }));
|
|
74
|
+
let resultAsBigInt = BigInt(result);
|
|
75
|
+
resultAsBigInt += estimationAddition;
|
|
76
|
+
return `0x${resultAsBigInt.toString(16)}`;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
const provider = extendProviderWithAccounts(client, actualProviderOptions);
|
|
66
80
|
return {
|
|
67
81
|
provider,
|
|
68
82
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,
|
|
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": "embedded-chain",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "embedded chain",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -23,8 +23,9 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@tevm/memory-client": "1.0.0-next.148",
|
|
25
25
|
"@tevm/sync-storage-persister": "1.0.0-next.148",
|
|
26
|
+
"eip-1193-accounts-wrapper": "^0.0.8",
|
|
26
27
|
"named-logs": "^0.4.1",
|
|
27
|
-
"viem": "^2.
|
|
28
|
+
"viem": "^2.43.3"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
31
|
"@vitest/browser-playwright": "^4.0.16",
|