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.
- package/BlockOverrides/package.json +6 -0
- package/CHANGELOG.md +14 -0
- package/StateOverrides/package.json +6 -0
- package/_cjs/core/BlockOverrides.js +63 -0
- package/_cjs/core/BlockOverrides.js.map +1 -0
- package/_cjs/core/StateOverrides.js +48 -0
- package/_cjs/core/StateOverrides.js.map +1 -0
- package/_cjs/erc4337/EntryPoint.js +1320 -0
- package/_cjs/erc4337/EntryPoint.js.map +1 -0
- package/_cjs/erc4337/RpcSchema.js +3 -0
- package/_cjs/erc4337/RpcSchema.js.map +1 -0
- package/_cjs/erc4337/UserOperation.js +152 -0
- package/_cjs/erc4337/UserOperation.js.map +1 -0
- package/_cjs/erc4337/UserOperationGas.js +31 -0
- package/_cjs/erc4337/UserOperationGas.js.map +1 -0
- package/_cjs/erc4337/UserOperationReceipt.js +35 -0
- package/_cjs/erc4337/UserOperationReceipt.js.map +1 -0
- package/_cjs/erc4337/index.js +9 -0
- package/_cjs/erc4337/index.js.map +1 -0
- package/_cjs/index.docs.js +1 -0
- package/_cjs/index.docs.js.map +1 -1
- package/_cjs/index.js +4 -2
- package/_cjs/index.js.map +1 -1
- package/_cjs/version.js +1 -1
- package/_esm/core/BlockOverrides.js +117 -0
- package/_esm/core/BlockOverrides.js.map +1 -0
- package/_esm/core/StateOverrides.js +78 -0
- package/_esm/core/StateOverrides.js.map +1 -0
- package/_esm/erc4337/EntryPoint.js +1321 -0
- package/_esm/erc4337/EntryPoint.js.map +1 -0
- package/_esm/erc4337/RpcSchema.js +2 -0
- package/_esm/erc4337/RpcSchema.js.map +1 -0
- package/_esm/erc4337/UserOperation.js +324 -0
- package/_esm/erc4337/UserOperation.js.map +1 -0
- package/_esm/erc4337/UserOperationGas.js +61 -0
- package/_esm/erc4337/UserOperationGas.js.map +1 -0
- package/_esm/erc4337/UserOperationReceipt.js +79 -0
- package/_esm/erc4337/UserOperationReceipt.js.map +1 -0
- package/_esm/erc4337/index.js +31 -0
- package/_esm/erc4337/index.js.map +1 -0
- package/_esm/index.docs.js +1 -0
- package/_esm/index.docs.js.map +1 -1
- package/_esm/index.js +12 -0
- package/_esm/index.js.map +1 -1
- package/_esm/version.js +1 -1
- package/_types/core/BlockOverrides.d.ts +89 -0
- package/_types/core/BlockOverrides.d.ts.map +1 -0
- package/_types/core/StateOverrides.d.ts +79 -0
- package/_types/core/StateOverrides.d.ts.map +1 -0
- package/_types/core/internal/rpcSchemas/eth.d.ts +34 -2
- package/_types/core/internal/rpcSchemas/eth.d.ts.map +1 -1
- package/_types/erc4337/EntryPoint.d.ts +1480 -0
- package/_types/erc4337/EntryPoint.d.ts.map +1 -0
- package/_types/erc4337/RpcSchema.d.ts +159 -0
- package/_types/erc4337/RpcSchema.d.ts.map +1 -0
- package/_types/erc4337/UserOperation.d.ts +330 -0
- package/_types/erc4337/UserOperation.d.ts.map +1 -0
- package/_types/erc4337/UserOperationGas.d.ts +62 -0
- package/_types/erc4337/UserOperationGas.d.ts.map +1 -0
- package/_types/erc4337/UserOperationReceipt.d.ts +87 -0
- package/_types/erc4337/UserOperationReceipt.d.ts.map +1 -0
- package/_types/erc4337/index.d.ts +33 -0
- package/_types/erc4337/index.d.ts.map +1 -0
- package/_types/index.d.ts +12 -0
- package/_types/index.d.ts.map +1 -1
- package/_types/index.docs.d.ts +1 -0
- package/_types/index.docs.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/core/BlockOverrides.ts +146 -0
- package/core/StateOverrides.ts +131 -0
- package/core/internal/rpcSchemas/eth.ts +43 -4
- package/erc4337/EntryPoint/package.json +6 -0
- package/erc4337/EntryPoint.ts +1419 -0
- package/erc4337/RpcSchema/package.json +6 -0
- package/erc4337/RpcSchema.ts +179 -0
- package/erc4337/UserOperation/package.json +6 -0
- package/erc4337/UserOperation.ts +617 -0
- package/erc4337/UserOperationGas/package.json +6 -0
- package/erc4337/UserOperationGas.ts +109 -0
- package/erc4337/UserOperationReceipt/package.json +6 -0
- package/erc4337/UserOperationReceipt.ts +139 -0
- package/erc4337/index.ts +38 -0
- package/erc4337/package.json +6 -0
- package/index.docs.ts +1 -0
- package/index.ts +14 -0
- package/package.json +41 -1
- 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
|
*
|
package/_types/index.d.ts.map
CHANGED
|
@@ -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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"}
|
package/_types/index.docs.d.ts
CHANGED
|
@@ -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"}
|
package/_types/version.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
*
|