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 CHANGED
@@ -1,12 +1,5 @@
1
- import { EIP1193ProviderWithoutEvents, ProviderOptions } from './provider.js';
2
- type MiningConfig = {
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?: 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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,4BAA4B,EAAE,eAAe,EAAC,MAAM,eAAe,CAAC;AAExG,KAAK,YAAY,GAAG;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAC,GAAG;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC;AAE7F,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,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;IAChD,eAAe,CAAC,EAAE,4BAA4B,CAAC;CAC/C,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,CAwE/F"}
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 './provider.js';
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 provider = await extendProviderWithAccounts(client, actualProviderOptions);
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,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,0BAA0B,EAAuB,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAC,0BAA0B,EAAgD,MAAM,eAAe,CAAC;AA+BxG,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAA6B;IACtE,MAAM,EAAC,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAC,GAAG,OAAO,CAAC;IAE9E,IAAI,SAA2C,CAAC;IAChD,IAAI,WAAW,EAAE,CAAC;QACjB,qBAAqB;QACrB,MAAM,EAAE,GAAG,WAAW,EAAE,EAAE,IAAI,cAAc,CAAC;QAC7C,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,IAAI,UAAU,CAAC;QAC/C,MAAM,GAAG,GAAG,WAAW,EAAE,GAAG,IAAI,YAAY,CAAC;QAE7C,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAEpC,SAAS,GAAG,0BAA0B,CAAC;YACtC,OAAO,EAAE,gBAAgB;YACzB,GAAG;SACH,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC;QACjC,SAAS;QACT,YAAY;KACZ,CAAC,CAAC;IAEH,oBAAoB;IACpB,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;IAEzB,sCAAsC;IACtC,IAAI,eAAe,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAClE,IAAI,cAAc,CAAC;YACnB,IAAI,CAAC;gBACJ,cAAc,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;oBACxC,OAAO,EAAE,OAAwB;iBACjC,CAAC,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACR,cAAc,GAAG,EAAE,CAAC;YACrB,CAAC;YAED,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;gBAC3B,MAAM,MAAM,CAAC,cAAc,CAAC;oBAC3B,OAAO,EAAE,OAAwB;oBACjC,OAAO;iBACP,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,4BAA4B,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YACxF,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,+BAA+B,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YAClG,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,qBAAkD,CAAC;IAEvD,IAAI,eAAe,EAAE,CAAC;QACrB,IAAI,aAAa,IAAI,eAAe,IAAI,eAAe,CAAC,WAAW,EAAE,CAAC;YACrE,qBAAqB,GAAG;gBACvB,GAAG,eAAe;gBAClB,WAAW,EAAE;oBACZ,GAAG,eAAe,CAAC,WAAW;oBAC9B,YAAY,EAAE,MAAM;iBACpB;aACD,CAAC;QACH,CAAC;aAAM,CAAC;YACP,qBAAqB,GAAG,eAAkC,CAAC;QAC5D,CAAC;IACF,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,MAAsC,EAAE,qBAAqB,CAAC,CAAC;IAEjH,OAAO;QACN,QAAQ;KACR,CAAC;AACH,CAAC"}
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.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.41.2"
28
+ "viem": "^2.43.3"
28
29
  },
29
30
  "devDependencies": {
30
31
  "@vitest/browser-playwright": "^4.0.16",