ox 0.4.4 → 0.6.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.
Files changed (87) hide show
  1. package/BlockOverrides/package.json +6 -0
  2. package/CHANGELOG.md +14 -0
  3. package/StateOverrides/package.json +6 -0
  4. package/_cjs/core/BlockOverrides.js +63 -0
  5. package/_cjs/core/BlockOverrides.js.map +1 -0
  6. package/_cjs/core/StateOverrides.js +48 -0
  7. package/_cjs/core/StateOverrides.js.map +1 -0
  8. package/_cjs/erc4337/EntryPoint.js +1320 -0
  9. package/_cjs/erc4337/EntryPoint.js.map +1 -0
  10. package/_cjs/erc4337/RpcSchema.js +3 -0
  11. package/_cjs/erc4337/RpcSchema.js.map +1 -0
  12. package/_cjs/erc4337/UserOperation.js +152 -0
  13. package/_cjs/erc4337/UserOperation.js.map +1 -0
  14. package/_cjs/erc4337/UserOperationGas.js +31 -0
  15. package/_cjs/erc4337/UserOperationGas.js.map +1 -0
  16. package/_cjs/erc4337/UserOperationReceipt.js +35 -0
  17. package/_cjs/erc4337/UserOperationReceipt.js.map +1 -0
  18. package/_cjs/erc4337/index.js +9 -0
  19. package/_cjs/erc4337/index.js.map +1 -0
  20. package/_cjs/index.docs.js +1 -0
  21. package/_cjs/index.docs.js.map +1 -1
  22. package/_cjs/index.js +4 -2
  23. package/_cjs/index.js.map +1 -1
  24. package/_cjs/version.js +1 -1
  25. package/_esm/core/BlockOverrides.js +117 -0
  26. package/_esm/core/BlockOverrides.js.map +1 -0
  27. package/_esm/core/StateOverrides.js +78 -0
  28. package/_esm/core/StateOverrides.js.map +1 -0
  29. package/_esm/erc4337/EntryPoint.js +1321 -0
  30. package/_esm/erc4337/EntryPoint.js.map +1 -0
  31. package/_esm/erc4337/RpcSchema.js +2 -0
  32. package/_esm/erc4337/RpcSchema.js.map +1 -0
  33. package/_esm/erc4337/UserOperation.js +324 -0
  34. package/_esm/erc4337/UserOperation.js.map +1 -0
  35. package/_esm/erc4337/UserOperationGas.js +61 -0
  36. package/_esm/erc4337/UserOperationGas.js.map +1 -0
  37. package/_esm/erc4337/UserOperationReceipt.js +79 -0
  38. package/_esm/erc4337/UserOperationReceipt.js.map +1 -0
  39. package/_esm/erc4337/index.js +31 -0
  40. package/_esm/erc4337/index.js.map +1 -0
  41. package/_esm/index.docs.js +1 -0
  42. package/_esm/index.docs.js.map +1 -1
  43. package/_esm/index.js +12 -0
  44. package/_esm/index.js.map +1 -1
  45. package/_esm/version.js +1 -1
  46. package/_types/core/BlockOverrides.d.ts +89 -0
  47. package/_types/core/BlockOverrides.d.ts.map +1 -0
  48. package/_types/core/StateOverrides.d.ts +79 -0
  49. package/_types/core/StateOverrides.d.ts.map +1 -0
  50. package/_types/core/internal/rpcSchemas/eth.d.ts +34 -2
  51. package/_types/core/internal/rpcSchemas/eth.d.ts.map +1 -1
  52. package/_types/erc4337/EntryPoint.d.ts +1480 -0
  53. package/_types/erc4337/EntryPoint.d.ts.map +1 -0
  54. package/_types/erc4337/RpcSchema.d.ts +159 -0
  55. package/_types/erc4337/RpcSchema.d.ts.map +1 -0
  56. package/_types/erc4337/UserOperation.d.ts +330 -0
  57. package/_types/erc4337/UserOperation.d.ts.map +1 -0
  58. package/_types/erc4337/UserOperationGas.d.ts +62 -0
  59. package/_types/erc4337/UserOperationGas.d.ts.map +1 -0
  60. package/_types/erc4337/UserOperationReceipt.d.ts +87 -0
  61. package/_types/erc4337/UserOperationReceipt.d.ts.map +1 -0
  62. package/_types/erc4337/index.d.ts +33 -0
  63. package/_types/erc4337/index.d.ts.map +1 -0
  64. package/_types/index.d.ts +12 -0
  65. package/_types/index.d.ts.map +1 -1
  66. package/_types/index.docs.d.ts +1 -0
  67. package/_types/index.docs.d.ts.map +1 -1
  68. package/_types/version.d.ts +1 -1
  69. package/core/BlockOverrides.ts +146 -0
  70. package/core/StateOverrides.ts +131 -0
  71. package/core/internal/rpcSchemas/eth.ts +43 -4
  72. package/erc4337/EntryPoint/package.json +6 -0
  73. package/erc4337/EntryPoint.ts +1419 -0
  74. package/erc4337/RpcSchema/package.json +6 -0
  75. package/erc4337/RpcSchema.ts +179 -0
  76. package/erc4337/UserOperation/package.json +6 -0
  77. package/erc4337/UserOperation.ts +617 -0
  78. package/erc4337/UserOperationGas/package.json +6 -0
  79. package/erc4337/UserOperationGas.ts +109 -0
  80. package/erc4337/UserOperationReceipt/package.json +6 -0
  81. package/erc4337/UserOperationReceipt.ts +139 -0
  82. package/erc4337/index.ts +38 -0
  83. package/erc4337/package.json +6 -0
  84. package/index.docs.ts +1 -0
  85. package/index.ts +14 -0
  86. package/package.json +41 -1
  87. package/version.ts +1 -1
@@ -0,0 +1,33 @@
1
+ /** @entrypointCategory ERCs */
2
+ export type {};
3
+ /**
4
+ * Utility functions and types for working with [ERC-4337 EntryPoints](https://eips.ethereum.org/EIPS/eip-4337).
5
+ *
6
+ * @category ERC-4337
7
+ */
8
+ export * as EntryPoint from './EntryPoint.js';
9
+ /**
10
+ * Utility types for working with ERC-4337 JSON-RPC schemas.
11
+ *
12
+ * @category ERC-4337
13
+ */
14
+ export * as RpcSchema from './RpcSchema.js';
15
+ /**
16
+ * Utility functions and types for working with [ERC-4337 User Operations](https://eips.ethereum.org/EIPS/eip-4337).
17
+ *
18
+ * @category ERC-4337
19
+ */
20
+ export * as UserOperation from './UserOperation.js';
21
+ /**
22
+ * Utility functions and types for working with [ERC-4337 User Operation Gas](https://eips.ethereum.org/EIPS/eip-4337).
23
+ *
24
+ * @category ERC-4337
25
+ */
26
+ export * as UserOperationGas from './UserOperationGas.js';
27
+ /**
28
+ * Utility functions and types for working with [ERC-4337 User Operation Receipts](https://eips.ethereum.org/EIPS/eip-4337).
29
+ *
30
+ * @category ERC-4337
31
+ */
32
+ export * as UserOperationReceipt from './UserOperationReceipt.js';
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../erc4337/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,YAAY,EAAE,CAAA;AAEd;;;;GAIG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;;GAIG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;GAIG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;;GAIG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;;;GAIG;AACH,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAA"}
package/_types/index.d.ts CHANGED
@@ -968,6 +968,12 @@ export * as Blobs from './core/Blobs.js';
968
968
  * @category Execution Spec
969
969
  */
970
970
  export * as Block from './core/Block.js';
971
+ /**
972
+ * Utilities & types for working with **Block Overrides**.
973
+ *
974
+ * @category Execution Spec
975
+ */
976
+ export * as BlockOverrides from './core/BlockOverrides.js';
971
977
  /**
972
978
  * Utility functions for working with Bloom Filters as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/block.yaml)
973
979
  *
@@ -2226,6 +2232,12 @@ export * as Signature from './core/Signature.js';
2226
2232
  */
2227
2233
  export * as Siwe from './core/Siwe.js';
2228
2234
  export * as Solidity from './core/Solidity.js';
2235
+ /**
2236
+ * Utilities & types for working with **State Overrides**.
2237
+ *
2238
+ * @category Execution Spec
2239
+ */
2240
+ export * as StateOverrides from './core/StateOverrides.js';
2229
2241
  /**
2230
2242
  * Utilities & types for working with **Transactions** as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml)
2231
2243
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  /** Used by api-extractor for docgen. https://github.com/microsoft/rushstack/issues/3557 */
2
2
  export * from './index.js';
3
+ export * from './erc4337/index.js';
3
4
  export * from './erc6492/index.js';
4
5
  //# sourceMappingURL=index.docs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.docs.d.ts","sourceRoot":"","sources":["../index.docs.ts"],"names":[],"mappings":"AACA,2FAA2F;AAC3F,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.docs.d.ts","sourceRoot":"","sources":["../index.docs.ts"],"names":[],"mappings":"AACA,2FAA2F;AAC3F,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
@@ -1,3 +1,3 @@
1
1
  /** @internal */
2
- export declare const version = "0.4.4";
2
+ export declare const version = "0.6.0";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1,146 @@
1
+ import type * as Address from './Address.js'
2
+ import * as Hex from './Hex.js'
3
+ import * as Withdrawal from './Withdrawal.js'
4
+
5
+ /**
6
+ * Block overrides.
7
+ */
8
+ export type BlockOverrides<bigintType = bigint, numberType = number> = {
9
+ /** Base fee per gas. */
10
+ baseFeePerGas?: bigintType | undefined
11
+ /** Blob base fee. */
12
+ blobBaseFee?: bigintType | undefined
13
+ /** Fee recipient (also known as coinbase). */
14
+ feeRecipient?: Address.Address | undefined
15
+ /** Gas limit. */
16
+ gasLimit?: bigintType | undefined
17
+ /** Block number. */
18
+ number?: bigintType | undefined
19
+ /** The previous value of randomness beacon. */
20
+ prevRandao?: bigintType | undefined
21
+ /** Block timestamp. */
22
+ time?: bigintType | undefined
23
+ /** Withdrawals made by validators. */
24
+ withdrawals?: Withdrawal.Withdrawal<bigintType, numberType>[] | undefined
25
+ }
26
+
27
+ /**
28
+ * RPC block overrides.
29
+ */
30
+ export type Rpc = BlockOverrides<Hex.Hex, Hex.Hex>
31
+
32
+ /**
33
+ * Converts an {@link ox#BlockOverrides.Rpc} to an {@link ox#BlockOverrides.BlockOverrides}.
34
+ *
35
+ * @example
36
+ * ```ts twoslash
37
+ * import { BlockOverrides } from 'ox'
38
+ *
39
+ * const blockOverrides = BlockOverrides.fromRpc({
40
+ * baseFeePerGas: '0x1',
41
+ * blobBaseFee: '0x2',
42
+ * feeRecipient: '0x0000000000000000000000000000000000000000',
43
+ * gasLimit: '0x4',
44
+ * number: '0x5',
45
+ * prevRandao: '0x6',
46
+ * time: '0x1234567890',
47
+ * withdrawals: [
48
+ * {
49
+ * address: '0x0000000000000000000000000000000000000000',
50
+ * amount: '0x1',
51
+ * index: '0x0',
52
+ * validatorIndex: '0x1',
53
+ * },
54
+ * ],
55
+ * })
56
+ * ```
57
+ *
58
+ * @param rpcBlockOverrides - The RPC block overrides to convert.
59
+ * @returns An instantiated {@link ox#BlockOverrides.BlockOverrides}.
60
+ */
61
+ export function fromRpc(rpcBlockOverrides: Rpc): BlockOverrides {
62
+ return {
63
+ ...(rpcBlockOverrides.baseFeePerGas && {
64
+ baseFeePerGas: BigInt(rpcBlockOverrides.baseFeePerGas),
65
+ }),
66
+ ...(rpcBlockOverrides.blobBaseFee && {
67
+ blobBaseFee: BigInt(rpcBlockOverrides.blobBaseFee),
68
+ }),
69
+ ...(rpcBlockOverrides.feeRecipient && {
70
+ feeRecipient: rpcBlockOverrides.feeRecipient,
71
+ }),
72
+ ...(rpcBlockOverrides.gasLimit && {
73
+ gasLimit: BigInt(rpcBlockOverrides.gasLimit),
74
+ }),
75
+ ...(rpcBlockOverrides.number && {
76
+ number: BigInt(rpcBlockOverrides.number),
77
+ }),
78
+ ...(rpcBlockOverrides.prevRandao && {
79
+ prevRandao: BigInt(rpcBlockOverrides.prevRandao),
80
+ }),
81
+ ...(rpcBlockOverrides.time && {
82
+ time: BigInt(rpcBlockOverrides.time),
83
+ }),
84
+ ...(rpcBlockOverrides.withdrawals && {
85
+ withdrawals: rpcBlockOverrides.withdrawals.map(Withdrawal.fromRpc),
86
+ }),
87
+ }
88
+ }
89
+
90
+ /**
91
+ * Converts an {@link ox#BlockOverrides.BlockOverrides} to an {@link ox#BlockOverrides.Rpc}.
92
+ *
93
+ * @example
94
+ * ```ts twoslash
95
+ * import { BlockOverrides } from 'ox'
96
+ *
97
+ * const blockOverrides = BlockOverrides.toRpc({
98
+ * baseFeePerGas: 1n,
99
+ * blobBaseFee: 2n,
100
+ * feeRecipient: '0x0000000000000000000000000000000000000000',
101
+ * gasLimit: 4n,
102
+ * number: 5n,
103
+ * prevRandao: 6n,
104
+ * time: 78187493520n,
105
+ * withdrawals: [
106
+ * {
107
+ * address: '0x0000000000000000000000000000000000000000',
108
+ * amount: 1n,
109
+ * index: 0,
110
+ * validatorIndex: 1,
111
+ * },
112
+ * ],
113
+ * })
114
+ * ```
115
+ *
116
+ * @param blockOverrides - The block overrides to convert.
117
+ * @returns An instantiated {@link ox#BlockOverrides.Rpc}.
118
+ */
119
+ export function toRpc(blockOverrides: BlockOverrides): Rpc {
120
+ return {
121
+ ...(typeof blockOverrides.baseFeePerGas === 'bigint' && {
122
+ baseFeePerGas: Hex.fromNumber(blockOverrides.baseFeePerGas),
123
+ }),
124
+ ...(typeof blockOverrides.blobBaseFee === 'bigint' && {
125
+ blobBaseFee: Hex.fromNumber(blockOverrides.blobBaseFee),
126
+ }),
127
+ ...(typeof blockOverrides.feeRecipient === 'string' && {
128
+ feeRecipient: blockOverrides.feeRecipient,
129
+ }),
130
+ ...(typeof blockOverrides.gasLimit === 'bigint' && {
131
+ gasLimit: Hex.fromNumber(blockOverrides.gasLimit),
132
+ }),
133
+ ...(typeof blockOverrides.number === 'bigint' && {
134
+ number: Hex.fromNumber(blockOverrides.number),
135
+ }),
136
+ ...(typeof blockOverrides.prevRandao === 'bigint' && {
137
+ prevRandao: Hex.fromNumber(blockOverrides.prevRandao),
138
+ }),
139
+ ...(typeof blockOverrides.time === 'bigint' && {
140
+ time: Hex.fromNumber(blockOverrides.time),
141
+ }),
142
+ ...(blockOverrides.withdrawals && {
143
+ withdrawals: blockOverrides.withdrawals.map(Withdrawal.toRpc),
144
+ }),
145
+ }
146
+ }
@@ -0,0 +1,131 @@
1
+ import type * as Address from './Address.js'
2
+ import * as Hex from './Hex.js'
3
+ import type { Compute, OneOf } from './internal/types.js'
4
+
5
+ /**
6
+ * State override set to specify state to be ephemerally overridden prior to executing a call.
7
+ */
8
+ export type StateOverrides<bigintType = bigint> = Compute<{
9
+ [address: Address.Address]: AccountOverrides<bigintType>
10
+ }>
11
+
12
+ /**
13
+ * RPC state overrides.
14
+ */
15
+ export type Rpc = StateOverrides<Hex.Hex>
16
+
17
+ /**
18
+ * Details of an account to be overridden.
19
+ */
20
+ export type AccountOverrides<bigintType = bigint> = Compute<
21
+ {
22
+ /** Balance to set for the account. */
23
+ balance?: bigintType | undefined
24
+ /** Code to set for the account. */
25
+ code?: Hex.Hex | undefined
26
+ /** Address to move the precompile to. */
27
+ movePrecompileToAddress?: Address.Address | undefined
28
+ /** Nonce to set for the account. */
29
+ nonce?: bigintType | undefined
30
+ } & OneOf<
31
+ | {
32
+ /** Key-value mapping to override all slots in the account storage. */
33
+ state?: AccountStorage | undefined
34
+ }
35
+ | {
36
+ /** Key-value mapping to override individual slots in the account storage. */
37
+ stateDiff?: AccountStorage | undefined
38
+ }
39
+ >
40
+ >
41
+
42
+ /**
43
+ * RPC account overrides.
44
+ */
45
+ export type RpcAccountOverrides = AccountOverrides<Hex.Hex>
46
+
47
+ /**
48
+ * Key-value mapping to override all slots in the account storage before executing the call.
49
+ */
50
+ export type AccountStorage = Compute<{
51
+ [slot: Hex.Hex]: Hex.Hex
52
+ }>
53
+
54
+ /**
55
+ * Converts an {@link ox#StateOverrides.Rpc} to an {@link ox#StateOverrides.StateOverrides}.
56
+ *
57
+ * @example
58
+ * ```ts twoslash
59
+ * import { StateOverrides } from 'ox'
60
+ *
61
+ * const stateOverrides = StateOverrides.fromRpc({
62
+ * '0x0000000000000000000000000000000000000000': {
63
+ * balance: '0x1',
64
+ * },
65
+ * })
66
+ * ```
67
+ *
68
+ * @param rpcStateOverrides - The RPC state overrides to convert.
69
+ * @returns An instantiated {@link ox#StateOverrides.StateOverrides}.
70
+ */
71
+ export function fromRpc(rpcStateOverrides: Rpc): StateOverrides {
72
+ const stateOverrides: StateOverrides = {}
73
+ for (const [address, accountOverridesRpc] of Object.entries(
74
+ rpcStateOverrides,
75
+ )) {
76
+ const accountOverrides: AccountOverrides = {}
77
+ if (accountOverridesRpc.balance)
78
+ accountOverrides.balance = BigInt(accountOverridesRpc.balance)
79
+ if (accountOverridesRpc.code)
80
+ accountOverrides.code = accountOverridesRpc.code
81
+ if (accountOverridesRpc.movePrecompileToAddress)
82
+ accountOverrides.movePrecompileToAddress =
83
+ accountOverridesRpc.movePrecompileToAddress
84
+ if (accountOverridesRpc.nonce)
85
+ accountOverrides.nonce = BigInt(accountOverridesRpc.nonce)
86
+ if (accountOverridesRpc.state)
87
+ accountOverrides.state = accountOverridesRpc.state
88
+ if (accountOverridesRpc.stateDiff)
89
+ accountOverrides.stateDiff = accountOverridesRpc.stateDiff
90
+ ;(stateOverrides as any)[address] = accountOverrides
91
+ }
92
+ return stateOverrides
93
+ }
94
+
95
+ /**
96
+ * Converts an {@link ox#StateOverrides.StateOverrides} to an {@link ox#StateOverrides.Rpc}.
97
+ *
98
+ * @example
99
+ * ```ts twoslash
100
+ * import { StateOverrides } from 'ox'
101
+ *
102
+ * const stateOverrides = StateOverrides.toRpc({
103
+ * '0x0000000000000000000000000000000000000000': {
104
+ * balance: 1n,
105
+ * },
106
+ * })
107
+ * ```
108
+ *
109
+ * @param stateOverrides - The state overrides to convert.
110
+ * @returns An instantiated {@link ox#StateOverrides.Rpc}.
111
+ */
112
+ export function toRpc(stateOverrides: StateOverrides): Rpc {
113
+ const rpcStateOverrides: Rpc = {}
114
+ for (const [address, accountOverrides] of Object.entries(stateOverrides)) {
115
+ const accountOverridesRpc: RpcAccountOverrides = {}
116
+ if (typeof accountOverrides.balance === 'bigint')
117
+ accountOverridesRpc.balance = Hex.fromNumber(accountOverrides.balance)
118
+ if (accountOverrides.code) accountOverridesRpc.code = accountOverrides.code
119
+ if (accountOverrides.movePrecompileToAddress)
120
+ accountOverridesRpc.movePrecompileToAddress =
121
+ accountOverrides.movePrecompileToAddress
122
+ if (typeof accountOverrides.nonce === 'bigint')
123
+ accountOverridesRpc.nonce = Hex.fromNumber(accountOverrides.nonce)
124
+ if (accountOverrides.state)
125
+ accountOverridesRpc.state = accountOverrides.state
126
+ if (accountOverrides.stateDiff)
127
+ accountOverridesRpc.stateDiff = accountOverrides.stateDiff
128
+ ;(rpcStateOverrides as any)[address] = accountOverridesRpc
129
+ }
130
+ return rpcStateOverrides
131
+ }
@@ -1,11 +1,13 @@
1
1
  import type * as AccountProof from '../../AccountProof.js'
2
2
  import type * as Address from '../../Address.js'
3
3
  import type * as Block from '../../Block.js'
4
+ import type * as BlockOverrides from '../../BlockOverrides.js'
4
5
  import type * as Fee from '../../Fee.js'
5
6
  import type * as Filter from '../../Filter.js'
6
7
  import type * as Hex from '../../Hex.js'
7
8
  import type * as Log from '../../Log.js'
8
9
  import type * as RpcSchema from '../../RpcSchema.js'
10
+ import type * as StateOverrides from '../../StateOverrides.js'
9
11
  import type * as Transaction from '../../Transaction.js'
10
12
  import type * as TransactionReceipt from '../../TransactionReceipt.js'
11
13
  import type * as TransactionRequest from '../../TransactionRequest.js'
@@ -111,8 +113,7 @@ export type Eth = RpcSchema.From<
111
113
  | Block.Tag
112
114
  | Block.Hash
113
115
  | Block.Identifier,
114
- // TODO: add type
115
- stateOverride: unknown,
116
+ stateOverrides: StateOverrides.Rpc,
116
117
  ]
117
118
  }
118
119
  ReturnType: Hex.Hex
@@ -181,8 +182,7 @@ export type Eth = RpcSchema.From<
181
182
  | Block.Tag
182
183
  | Block.Hash
183
184
  | Block.Identifier,
184
- // TODO: add type
185
- stateOverride: unknown,
185
+ stateOverrides: StateOverrides.Rpc,
186
186
  ]
187
187
  }
188
188
  ReturnType: Hex.Hex
@@ -707,6 +707,45 @@ export type Eth = RpcSchema.From<
707
707
  }
708
708
  ReturnType: Hex.Hex
709
709
  }
710
+ | {
711
+ Request: {
712
+ method: 'eth_simulateV1'
713
+ params: [
714
+ {
715
+ blockStateCalls: readonly {
716
+ blockOverrides?: BlockOverrides.Rpc | undefined
717
+ calls?: readonly TransactionRequest.Rpc[] | undefined
718
+ stateOverrides?: StateOverrides.Rpc | undefined
719
+ }[]
720
+ returnFullTransactions?: boolean | undefined
721
+ traceTransfers?: boolean | undefined
722
+ validation?: boolean | undefined
723
+ },
724
+ block:
725
+ | Block.Number<Hex.Hex>
726
+ | Block.Tag
727
+ | Block.Hash
728
+ | Block.Identifier,
729
+ ]
730
+ }
731
+ ReturnType: readonly (Block.Rpc & {
732
+ calls?:
733
+ | readonly {
734
+ error?:
735
+ | {
736
+ data?: Hex.Hex | undefined
737
+ code: number
738
+ message: string
739
+ }
740
+ | undefined
741
+ logs?: readonly Log.Rpc[] | undefined
742
+ gasUsed: Hex.Hex
743
+ returnData: Hex.Hex
744
+ status: Hex.Hex
745
+ }[]
746
+ | undefined
747
+ })[]
748
+ }
710
749
  /**
711
750
  * Signs a transaction that can be submitted to the network at a later time using with `eth_sendRawTransaction`
712
751
  *
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../../_types/erc4337/EntryPoint.d.ts",
4
+ "main": "../../_cjs/erc4337/EntryPoint.js",
5
+ "module": "../../_esm/erc4337/EntryPoint.js"
6
+ }