@pimlico/alto 0.0.0-main.20240612T111639 → 0.0.0-prool.20240609T211112
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/esm/cli/config/bundler.d.ts +37 -43
- package/esm/cli/config/bundler.js +0 -1
- package/esm/cli/config/bundler.js.map +1 -1
- package/esm/cli/config/options.js +0 -6
- package/esm/cli/config/options.js.map +1 -1
- package/esm/cli/handler.js +2 -26
- package/esm/cli/handler.js.map +1 -1
- package/esm/executor/executor.js +2 -15
- package/esm/executor/executor.js.map +1 -1
- package/esm/index.d.ts +448 -1
- package/esm/index.js +63 -1
- package/esm/index.js.map +1 -1
- package/esm/mempool/mempool.js +7 -5
- package/esm/mempool/mempool.js.map +1 -1
- package/esm/mempool/reputationManager.js +3 -7
- package/esm/mempool/reputationManager.js.map +1 -1
- package/esm/rpc/EntryPointSimulationsV07.d.ts +1 -5
- package/esm/rpc/EntryPointSimulationsV07.js +2 -2
- package/esm/rpc/EntryPointSimulationsV07.js.map +1 -1
- package/esm/rpc/gasEstimation.js +3 -7
- package/esm/rpc/gasEstimation.js.map +1 -1
- package/esm/rpc/rpcHandler.js +8 -19
- package/esm/rpc/rpcHandler.js.map +1 -1
- package/esm/rpc/server.js +0 -4
- package/esm/rpc/server.js.map +1 -1
- package/esm/rpc/validation/SafeValidator.d.ts +6 -2
- package/esm/rpc/validation/SafeValidator.js +206 -49
- package/esm/rpc/validation/SafeValidator.js.map +1 -1
- package/esm/rpc/validation/TracerResultParserV07.js +2 -6
- package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
- package/esm/rpc/validation/UnsafeValidator.d.ts +1 -2
- package/esm/rpc/validation/UnsafeValidator.js +45 -45
- package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
- package/esm/rpc/validation/tracer.d.ts +1 -1
- package/esm/types/contracts/EntryPointSimulations.d.ts +1 -0
- package/esm/types/contracts/EntryPointSimulations.js +2 -1941
- package/esm/types/contracts/EntryPointSimulations.js.map +1 -1
- package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
- package/esm/types/contracts/PimlicoEntryPointSimulations.js +1 -1
- package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
- package/esm/types/schemas.d.ts +116 -116
- package/esm/types/validation.d.ts +12 -12
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.js +1 -0
- package/esm/utils/index.js.map +1 -1
- package/esm/utils/metrics.d.ts +4 -4
- package/esm/utils/test.d.ts +1 -1
- package/esm/utils/toArgs.d.ts +36 -0
- package/esm/utils/toArgs.js +80 -0
- package/esm/utils/toArgs.js.map +1 -0
- package/esm/utils/userop.d.ts +2 -2
- package/esm/utils/userop.js +2 -2
- package/esm/utils/userop.js.map +1 -1
- package/lib/cli/config/bundler.d.ts +37 -43
- package/lib/cli/config/bundler.js +0 -1
- package/lib/cli/config/bundler.js.map +1 -1
- package/lib/cli/config/options.js +0 -6
- package/lib/cli/config/options.js.map +1 -1
- package/lib/cli/handler.js +1 -25
- package/lib/cli/handler.js.map +1 -1
- package/lib/executor/executor.js +2 -15
- package/lib/executor/executor.js.map +1 -1
- package/lib/index.d.ts +448 -1
- package/lib/index.js +64 -1
- package/lib/index.js.map +1 -1
- package/lib/mempool/mempool.js +7 -5
- package/lib/mempool/mempool.js.map +1 -1
- package/lib/mempool/reputationManager.js +3 -7
- package/lib/mempool/reputationManager.js.map +1 -1
- package/lib/rpc/EntryPointSimulationsV07.d.ts +1 -5
- package/lib/rpc/EntryPointSimulationsV07.js +2 -3
- package/lib/rpc/EntryPointSimulationsV07.js.map +1 -1
- package/lib/rpc/gasEstimation.js +3 -7
- package/lib/rpc/gasEstimation.js.map +1 -1
- package/lib/rpc/rpcHandler.js +7 -18
- package/lib/rpc/rpcHandler.js.map +1 -1
- package/lib/rpc/server.js +0 -4
- package/lib/rpc/server.js.map +1 -1
- package/lib/rpc/validation/SafeValidator.d.ts +6 -2
- package/lib/rpc/validation/SafeValidator.js +205 -48
- package/lib/rpc/validation/SafeValidator.js.map +1 -1
- package/lib/rpc/validation/TracerResultParserV07.js +2 -6
- package/lib/rpc/validation/TracerResultParserV07.js.map +1 -1
- package/lib/rpc/validation/UnsafeValidator.d.ts +1 -2
- package/lib/rpc/validation/UnsafeValidator.js +68 -45
- package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
- package/lib/rpc/validation/tracer.d.ts +1 -1
- package/lib/types/contracts/EntryPointSimulations.d.ts +1 -0
- package/lib/types/contracts/EntryPointSimulations.js +3 -1942
- package/lib/types/contracts/EntryPointSimulations.js.map +1 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.js +2 -2
- package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
- package/lib/types/schemas.d.ts +116 -116
- package/lib/types/validation.d.ts +12 -12
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +1 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/metrics.d.ts +4 -4
- package/lib/utils/test.d.ts +1 -1
- package/lib/utils/toArgs.d.ts +36 -0
- package/lib/utils/toArgs.js +87 -0
- package/lib/utils/toArgs.js.map +1 -0
- package/lib/utils/userop.d.ts +2 -2
- package/lib/utils/userop.js +25 -2
- package/lib/utils/userop.js.map +1 -1
- package/package.json +3 -2
package/esm/index.d.ts
CHANGED
|
@@ -1,2 +1,449 @@
|
|
|
1
|
-
|
|
1
|
+
export type AltoParameters = {
|
|
2
|
+
/**
|
|
3
|
+
* API version (used for internal Pimlico versioning compatibility).
|
|
4
|
+
*/
|
|
5
|
+
apiVersion?: readonly string[] | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Override the sender native token balance during estimation
|
|
8
|
+
*/
|
|
9
|
+
balanceOverride?: boolean | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Binary path of the `alto` executable.
|
|
12
|
+
*/
|
|
13
|
+
binary?: string | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Address of the `BundleBulker` contract.
|
|
16
|
+
*/
|
|
17
|
+
bundleBulkerAddress?: `0x${string}` | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Set if the bundler bundle user operations automatically or only when calling `debug_bundler_sendBundleNow`.
|
|
20
|
+
* @default "auto"
|
|
21
|
+
*/
|
|
22
|
+
bundleMode?: "auto" | "manual" | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Indicates weather the chain is a OP stack chain, arbitrum chain, or default EVM chain.
|
|
25
|
+
*/
|
|
26
|
+
chainType?: "default" | "op-stack" | "arbitrum" | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Path to JSON config file.
|
|
29
|
+
*/
|
|
30
|
+
config?: string | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Skip user operation validation, use with caution.
|
|
33
|
+
*/
|
|
34
|
+
dangerousSkipUserOperationValidation?: boolean | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Default API version.
|
|
37
|
+
*/
|
|
38
|
+
defaultApiVersion?: string | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Enable debug endpoints.
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
enableDebugEndpoints?: boolean | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Include user ops with the same sender in the single bundle.
|
|
46
|
+
* @default true
|
|
47
|
+
*/
|
|
48
|
+
enforceUniqueSendersPerBundle?: boolean | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* EntryPoint contract addresses.
|
|
51
|
+
*/
|
|
52
|
+
entrypoints: readonly `0x${string}`[];
|
|
53
|
+
/**
|
|
54
|
+
* Address of the EntryPoint simulations contract.
|
|
55
|
+
*/
|
|
56
|
+
entrypointSimulationContract?: `0x${string}` | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* Private keys of the executor accounts.
|
|
59
|
+
*/
|
|
60
|
+
executorPrivateKeys?: readonly `0x${string}`[];
|
|
61
|
+
/**
|
|
62
|
+
* Interval to refill the signer balance (seconds).
|
|
63
|
+
* @default 1200
|
|
64
|
+
*/
|
|
65
|
+
executorRefillInterval?: number | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Should the node make expiration checks.
|
|
68
|
+
* @default true
|
|
69
|
+
*/
|
|
70
|
+
expirationCheck?: boolean | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Amount to multiply the gas prices fetched from the node.
|
|
73
|
+
* @default "100"
|
|
74
|
+
*/
|
|
75
|
+
gasPriceBump?: string | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Maximum that the gas prices fetched using pimlico_getUserOperationGasPrice will be accepted for (seconds).
|
|
78
|
+
* @default 10
|
|
79
|
+
*/
|
|
80
|
+
gasPriceExpiry?: number | undefined;
|
|
81
|
+
/**
|
|
82
|
+
* The minimum percentage of incoming user operation gas prices compared to the gas price used by the bundler to submit bundles.
|
|
83
|
+
* @default 101
|
|
84
|
+
*/
|
|
85
|
+
gasPriceFloorPercent?: number | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Amount to multiply the gas prices fetched using `pimlico_getUserOperationGasPrice`.
|
|
88
|
+
* @default "105,110,115"
|
|
89
|
+
*/
|
|
90
|
+
gasPriceMultipliers?: readonly string[] | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* Use a fixed value for gas limits during bundle transaction gas limit estimations
|
|
93
|
+
*/
|
|
94
|
+
fixedGasLimitForEstimation?: string | undefined;
|
|
95
|
+
/**
|
|
96
|
+
* Flush stuck transactions with old nonces during bundler startup.
|
|
97
|
+
*/
|
|
98
|
+
flushStuckTransactionsDuringStartup?: boolean | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* Log in JSON format.
|
|
101
|
+
*/
|
|
102
|
+
json?: boolean | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* Send legacy transactions instead of an EIP-1559 transactions.
|
|
105
|
+
* @default false
|
|
106
|
+
*/
|
|
107
|
+
legacyTransactions?: boolean | undefined;
|
|
108
|
+
/**
|
|
109
|
+
* Calculate the bundle transaction gas limits locally instead of using the RPC gas limit estimation.
|
|
110
|
+
*/
|
|
111
|
+
localGasLimitCalculation?: boolean | undefined;
|
|
112
|
+
/**
|
|
113
|
+
* Default log level.
|
|
114
|
+
*/
|
|
115
|
+
logLevel?: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* Max block range for `eth_getLogs` calls.
|
|
118
|
+
*/
|
|
119
|
+
maxBlockRange?: number | undefined;
|
|
120
|
+
/**
|
|
121
|
+
* Maximum number of operations allowed in the mempool before a bundle is submitted.
|
|
122
|
+
* @default 10
|
|
123
|
+
*/
|
|
124
|
+
maxBundleSize?: number | undefined;
|
|
125
|
+
/**
|
|
126
|
+
* Maximum time to wait for a bundle to be submitted (ms).
|
|
127
|
+
* @default 1000
|
|
128
|
+
*/
|
|
129
|
+
maxBundleWait?: number | undefined;
|
|
130
|
+
/**
|
|
131
|
+
* Maximum amount of gas per bundle.
|
|
132
|
+
* @default "5000000"
|
|
133
|
+
*/
|
|
134
|
+
maxGasPerBundle?: string | undefined;
|
|
135
|
+
/**
|
|
136
|
+
* Maximum number of executor accounts to use from the list of executor private keys.
|
|
137
|
+
*/
|
|
138
|
+
maxExecutors?: number | undefined;
|
|
139
|
+
/**
|
|
140
|
+
* Maximum amount of parallel user ops to keep in the meempool (same sender, different nonce keys).
|
|
141
|
+
* @default 10
|
|
142
|
+
*/
|
|
143
|
+
mempoolMaxParallelOps?: number | undefined;
|
|
144
|
+
/**
|
|
145
|
+
* Maximum amount of sequential user ops to keep in the mempool (same sender and nonce key, different nonce values).
|
|
146
|
+
* @default 0
|
|
147
|
+
*/
|
|
148
|
+
mempoolMaxQueuedOps?: number | undefined;
|
|
149
|
+
/**
|
|
150
|
+
* Minimum stake required for a relay (in 10e18).
|
|
151
|
+
* @default 1
|
|
152
|
+
*/
|
|
153
|
+
minEntityStake?: number | undefined;
|
|
154
|
+
/**
|
|
155
|
+
* Minimum unstake delay (seconds).
|
|
156
|
+
* @default 1
|
|
157
|
+
*/
|
|
158
|
+
minEntityUnstakeDelay?: number | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* Minimum balance required for each executor account (below which the utility account will refill).
|
|
161
|
+
*/
|
|
162
|
+
minExecutorBalance?: string | undefined;
|
|
163
|
+
/**
|
|
164
|
+
* Name of the network (used for metrics).
|
|
165
|
+
* @default "localhost"
|
|
166
|
+
*/
|
|
167
|
+
networkName?: string | undefined;
|
|
168
|
+
/**
|
|
169
|
+
* Amount to multiply the paymaster gas limits fetched from simulations.
|
|
170
|
+
*/
|
|
171
|
+
paymasterGasLimitMultiplier?: string | undefined;
|
|
172
|
+
/**
|
|
173
|
+
* Address of the `PerOpInflator` contract.
|
|
174
|
+
*/
|
|
175
|
+
perOpInflatorAddress?: `0x${string}` | undefined;
|
|
176
|
+
/**
|
|
177
|
+
* Polling interval for querying for new blocks (ms).
|
|
178
|
+
* @default 1000
|
|
179
|
+
*/
|
|
180
|
+
pollingInterval?: number | undefined;
|
|
181
|
+
/**
|
|
182
|
+
* Port to listen on.
|
|
183
|
+
* @default 3000
|
|
184
|
+
*/
|
|
185
|
+
port?: number | undefined;
|
|
186
|
+
/**
|
|
187
|
+
* RPC url to connect to.
|
|
188
|
+
*/
|
|
189
|
+
rpcUrl: string;
|
|
190
|
+
/**
|
|
191
|
+
* Enable safe mode (enforcing all ERC-4337 rules).
|
|
192
|
+
* @default true
|
|
193
|
+
*/
|
|
194
|
+
safeMode?: boolean | undefined;
|
|
195
|
+
/**
|
|
196
|
+
* RPC url to send transactions to (e.g. flashbots relay).
|
|
197
|
+
*/
|
|
198
|
+
sendTransactionRpcUrl?: string | undefined;
|
|
199
|
+
/**
|
|
200
|
+
* Timeout for incoming requests (in ms).
|
|
201
|
+
*/
|
|
202
|
+
timeout?: number | undefined;
|
|
203
|
+
/**
|
|
204
|
+
* Private key of the utility account.
|
|
205
|
+
*/
|
|
206
|
+
utilityPrivateKey?: string | undefined;
|
|
207
|
+
/**
|
|
208
|
+
* Maximum payload size for websocket messages in bytes (default to 1MB).
|
|
209
|
+
*/
|
|
210
|
+
websocketMaxPayloadSize?: number | undefined;
|
|
211
|
+
/**
|
|
212
|
+
* Enable websocket server.
|
|
213
|
+
*/
|
|
214
|
+
websocket?: boolean | undefined;
|
|
215
|
+
};
|
|
216
|
+
/**
|
|
217
|
+
* Defines an Alto instance.
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
* ```ts
|
|
221
|
+
* const instance = alto({
|
|
222
|
+
* entrypoints: ['0x0000000071727De22E5E9d8BAf0edAc6f37da032'],
|
|
223
|
+
* rpcUrl: `http://localhost:8545`,
|
|
224
|
+
* executorPrivateKeys: ['0x...'],
|
|
225
|
+
* })
|
|
226
|
+
* await instance.start()
|
|
227
|
+
* // ...
|
|
228
|
+
* await instance.stop()
|
|
229
|
+
* ```
|
|
230
|
+
*/
|
|
231
|
+
export declare const alto: import("prool").DefineInstanceReturnType<{
|
|
232
|
+
args: {
|
|
233
|
+
/**
|
|
234
|
+
* API version (used for internal Pimlico versioning compatibility).
|
|
235
|
+
*/
|
|
236
|
+
apiVersion?: readonly string[] | undefined;
|
|
237
|
+
/**
|
|
238
|
+
* Override the sender native token balance during estimation
|
|
239
|
+
*/
|
|
240
|
+
balanceOverride?: boolean | undefined;
|
|
241
|
+
/**
|
|
242
|
+
* Binary path of the `alto` executable.
|
|
243
|
+
*/
|
|
244
|
+
binary?: string | undefined;
|
|
245
|
+
/**
|
|
246
|
+
* Address of the `BundleBulker` contract.
|
|
247
|
+
*/
|
|
248
|
+
bundleBulkerAddress?: `0x${string}` | undefined;
|
|
249
|
+
/**
|
|
250
|
+
* Set if the bundler bundle user operations automatically or only when calling `debug_bundler_sendBundleNow`.
|
|
251
|
+
* @default "auto"
|
|
252
|
+
*/
|
|
253
|
+
bundleMode?: "auto" | "manual" | undefined;
|
|
254
|
+
/**
|
|
255
|
+
* Indicates weather the chain is a OP stack chain, arbitrum chain, or default EVM chain.
|
|
256
|
+
*/
|
|
257
|
+
chainType?: "default" | "op-stack" | "arbitrum" | undefined;
|
|
258
|
+
/**
|
|
259
|
+
* Path to JSON config file.
|
|
260
|
+
*/
|
|
261
|
+
config?: string | undefined;
|
|
262
|
+
/**
|
|
263
|
+
* Skip user operation validation, use with caution.
|
|
264
|
+
*/
|
|
265
|
+
dangerousSkipUserOperationValidation?: boolean | undefined;
|
|
266
|
+
/**
|
|
267
|
+
* Default API version.
|
|
268
|
+
*/
|
|
269
|
+
defaultApiVersion?: string | undefined;
|
|
270
|
+
/**
|
|
271
|
+
* Enable debug endpoints.
|
|
272
|
+
* @default false
|
|
273
|
+
*/
|
|
274
|
+
enableDebugEndpoints?: boolean | undefined;
|
|
275
|
+
/**
|
|
276
|
+
* Include user ops with the same sender in the single bundle.
|
|
277
|
+
* @default true
|
|
278
|
+
*/
|
|
279
|
+
enforceUniqueSendersPerBundle?: boolean | undefined;
|
|
280
|
+
/**
|
|
281
|
+
* EntryPoint contract addresses.
|
|
282
|
+
*/
|
|
283
|
+
entrypoints: readonly `0x${string}`[];
|
|
284
|
+
/**
|
|
285
|
+
* Address of the EntryPoint simulations contract.
|
|
286
|
+
*/
|
|
287
|
+
entrypointSimulationContract?: `0x${string}` | undefined;
|
|
288
|
+
/**
|
|
289
|
+
* Private keys of the executor accounts.
|
|
290
|
+
*/
|
|
291
|
+
executorPrivateKeys?: readonly `0x${string}`[] | undefined;
|
|
292
|
+
/**
|
|
293
|
+
* Interval to refill the signer balance (seconds).
|
|
294
|
+
* @default 1200
|
|
295
|
+
*/
|
|
296
|
+
executorRefillInterval?: number | undefined;
|
|
297
|
+
/**
|
|
298
|
+
* Should the node make expiration checks.
|
|
299
|
+
* @default true
|
|
300
|
+
*/
|
|
301
|
+
expirationCheck?: boolean | undefined;
|
|
302
|
+
/**
|
|
303
|
+
* Amount to multiply the gas prices fetched from the node.
|
|
304
|
+
* @default "100"
|
|
305
|
+
*/
|
|
306
|
+
gasPriceBump?: string | undefined;
|
|
307
|
+
/**
|
|
308
|
+
* Maximum that the gas prices fetched using pimlico_getUserOperationGasPrice will be accepted for (seconds).
|
|
309
|
+
* @default 10
|
|
310
|
+
*/
|
|
311
|
+
gasPriceExpiry?: number | undefined;
|
|
312
|
+
/**
|
|
313
|
+
* The minimum percentage of incoming user operation gas prices compared to the gas price used by the bundler to submit bundles.
|
|
314
|
+
* @default 101
|
|
315
|
+
*/
|
|
316
|
+
gasPriceFloorPercent?: number | undefined;
|
|
317
|
+
/**
|
|
318
|
+
* Amount to multiply the gas prices fetched using `pimlico_getUserOperationGasPrice`.
|
|
319
|
+
* @default "105,110,115"
|
|
320
|
+
*/
|
|
321
|
+
gasPriceMultipliers?: readonly string[] | undefined;
|
|
322
|
+
/**
|
|
323
|
+
* Use a fixed value for gas limits during bundle transaction gas limit estimations
|
|
324
|
+
*/
|
|
325
|
+
fixedGasLimitForEstimation?: string | undefined;
|
|
326
|
+
/**
|
|
327
|
+
* Flush stuck transactions with old nonces during bundler startup.
|
|
328
|
+
*/
|
|
329
|
+
flushStuckTransactionsDuringStartup?: boolean | undefined;
|
|
330
|
+
/**
|
|
331
|
+
* Log in JSON format.
|
|
332
|
+
*/
|
|
333
|
+
json?: boolean | undefined;
|
|
334
|
+
/**
|
|
335
|
+
* Send legacy transactions instead of an EIP-1559 transactions.
|
|
336
|
+
* @default false
|
|
337
|
+
*/
|
|
338
|
+
legacyTransactions?: boolean | undefined;
|
|
339
|
+
/**
|
|
340
|
+
* Calculate the bundle transaction gas limits locally instead of using the RPC gas limit estimation.
|
|
341
|
+
*/
|
|
342
|
+
localGasLimitCalculation?: boolean | undefined;
|
|
343
|
+
/**
|
|
344
|
+
* Default log level.
|
|
345
|
+
*/
|
|
346
|
+
logLevel?: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | undefined;
|
|
347
|
+
/**
|
|
348
|
+
* Max block range for `eth_getLogs` calls.
|
|
349
|
+
*/
|
|
350
|
+
maxBlockRange?: number | undefined;
|
|
351
|
+
/**
|
|
352
|
+
* Maximum number of operations allowed in the mempool before a bundle is submitted.
|
|
353
|
+
* @default 10
|
|
354
|
+
*/
|
|
355
|
+
maxBundleSize?: number | undefined;
|
|
356
|
+
/**
|
|
357
|
+
* Maximum time to wait for a bundle to be submitted (ms).
|
|
358
|
+
* @default 1000
|
|
359
|
+
*/
|
|
360
|
+
maxBundleWait?: number | undefined;
|
|
361
|
+
/**
|
|
362
|
+
* Maximum amount of gas per bundle.
|
|
363
|
+
* @default "5000000"
|
|
364
|
+
*/
|
|
365
|
+
maxGasPerBundle?: string | undefined;
|
|
366
|
+
/**
|
|
367
|
+
* Maximum number of executor accounts to use from the list of executor private keys.
|
|
368
|
+
*/
|
|
369
|
+
maxExecutors?: number | undefined;
|
|
370
|
+
/**
|
|
371
|
+
* Maximum amount of parallel user ops to keep in the meempool (same sender, different nonce keys).
|
|
372
|
+
* @default 10
|
|
373
|
+
*/
|
|
374
|
+
mempoolMaxParallelOps?: number | undefined;
|
|
375
|
+
/**
|
|
376
|
+
* Maximum amount of sequential user ops to keep in the mempool (same sender and nonce key, different nonce values).
|
|
377
|
+
* @default 0
|
|
378
|
+
*/
|
|
379
|
+
mempoolMaxQueuedOps?: number | undefined;
|
|
380
|
+
/**
|
|
381
|
+
* Minimum stake required for a relay (in 10e18).
|
|
382
|
+
* @default 1
|
|
383
|
+
*/
|
|
384
|
+
minEntityStake?: number | undefined;
|
|
385
|
+
/**
|
|
386
|
+
* Minimum unstake delay (seconds).
|
|
387
|
+
* @default 1
|
|
388
|
+
*/
|
|
389
|
+
minEntityUnstakeDelay?: number | undefined;
|
|
390
|
+
/**
|
|
391
|
+
* Minimum balance required for each executor account (below which the utility account will refill).
|
|
392
|
+
*/
|
|
393
|
+
minExecutorBalance?: string | undefined;
|
|
394
|
+
/**
|
|
395
|
+
* Name of the network (used for metrics).
|
|
396
|
+
* @default "localhost"
|
|
397
|
+
*/
|
|
398
|
+
networkName?: string | undefined;
|
|
399
|
+
/**
|
|
400
|
+
* Amount to multiply the paymaster gas limits fetched from simulations.
|
|
401
|
+
*/
|
|
402
|
+
paymasterGasLimitMultiplier?: string | undefined;
|
|
403
|
+
/**
|
|
404
|
+
* Address of the `PerOpInflator` contract.
|
|
405
|
+
*/
|
|
406
|
+
perOpInflatorAddress?: `0x${string}` | undefined;
|
|
407
|
+
/**
|
|
408
|
+
* Polling interval for querying for new blocks (ms).
|
|
409
|
+
* @default 1000
|
|
410
|
+
*/
|
|
411
|
+
pollingInterval?: number | undefined;
|
|
412
|
+
/**
|
|
413
|
+
* Port to listen on.
|
|
414
|
+
* @default 3000
|
|
415
|
+
*/
|
|
416
|
+
port?: number | undefined;
|
|
417
|
+
/**
|
|
418
|
+
* RPC url to connect to.
|
|
419
|
+
*/
|
|
420
|
+
rpcUrl: string;
|
|
421
|
+
/**
|
|
422
|
+
* Enable safe mode (enforcing all ERC-4337 rules).
|
|
423
|
+
* @default true
|
|
424
|
+
*/
|
|
425
|
+
safeMode?: boolean | undefined;
|
|
426
|
+
/**
|
|
427
|
+
* RPC url to send transactions to (e.g. flashbots relay).
|
|
428
|
+
*/
|
|
429
|
+
sendTransactionRpcUrl?: string | undefined;
|
|
430
|
+
/**
|
|
431
|
+
* Timeout for incoming requests (in ms).
|
|
432
|
+
*/
|
|
433
|
+
timeout?: number | undefined;
|
|
434
|
+
/**
|
|
435
|
+
* Private key of the utility account.
|
|
436
|
+
*/
|
|
437
|
+
utilityPrivateKey?: string | undefined;
|
|
438
|
+
/**
|
|
439
|
+
* Maximum payload size for websocket messages in bytes (default to 1MB).
|
|
440
|
+
*/
|
|
441
|
+
websocketMaxPayloadSize?: number | undefined;
|
|
442
|
+
/**
|
|
443
|
+
* Enable websocket server.
|
|
444
|
+
*/
|
|
445
|
+
websocket?: boolean | undefined;
|
|
446
|
+
};
|
|
447
|
+
readonly process: import("prool/processes/execa").Process_internal;
|
|
448
|
+
}, AltoParameters | undefined>;
|
|
2
449
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/index.js
CHANGED
|
@@ -1,2 +1,64 @@
|
|
|
1
|
-
import "
|
|
1
|
+
import { resolve } from "node:path";
|
|
2
|
+
import { defineInstance } from "prool";
|
|
3
|
+
import { execa } from "prool/exports/processes";
|
|
4
|
+
import { toArgs } from "./utils/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Defines an Alto instance.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* const instance = alto({
|
|
11
|
+
* entrypoints: ['0x0000000071727De22E5E9d8BAf0edAc6f37da032'],
|
|
12
|
+
* rpcUrl: `http://localhost:8545`,
|
|
13
|
+
* executorPrivateKeys: ['0x...'],
|
|
14
|
+
* })
|
|
15
|
+
* await instance.start()
|
|
16
|
+
* // ...
|
|
17
|
+
* await instance.stop()
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export const alto = defineInstance((parameters) => {
|
|
21
|
+
const { ...args } = (parameters || {});
|
|
22
|
+
const name = "alto";
|
|
23
|
+
const process = execa({ name });
|
|
24
|
+
return {
|
|
25
|
+
_internal: {
|
|
26
|
+
args,
|
|
27
|
+
get process() {
|
|
28
|
+
return process._internal.process;
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
host: "localhost",
|
|
32
|
+
name,
|
|
33
|
+
port: args.port ?? 3000,
|
|
34
|
+
async start({ port = args.port ?? 3000 }, options) {
|
|
35
|
+
const binary = (() => {
|
|
36
|
+
if (args.binary) {
|
|
37
|
+
return [args.binary];
|
|
38
|
+
}
|
|
39
|
+
return ["node", resolve(__dirname, "./cli/alto.js")];
|
|
40
|
+
})();
|
|
41
|
+
await process.start(($) => $ `${binary} ${toArgs({
|
|
42
|
+
port,
|
|
43
|
+
...args,
|
|
44
|
+
safeMode: args.safeMode ?? false
|
|
45
|
+
})}`, {
|
|
46
|
+
...options,
|
|
47
|
+
// Resolve when the process is listening via a "Server listening at" message.
|
|
48
|
+
resolver({ process, reject, resolve }) {
|
|
49
|
+
process.stdout.on("data", (data) => {
|
|
50
|
+
const message = data.toString();
|
|
51
|
+
if (message.includes("Server listening at")) {
|
|
52
|
+
resolve();
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
process.stderr.on("data", reject);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
async stop() {
|
|
60
|
+
await process.stop();
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
});
|
|
2
64
|
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAiOhC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,UAA2B,EAAE,EAAE;IAC/D,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAmB,CAAA;IAExD,MAAM,IAAI,GAAG,MAAM,CAAA;IACnB,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAE/B,OAAO;QACH,SAAS,EAAE;YACP,IAAI;YACJ,IAAI,OAAO;gBACP,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,CAAA;YACpC,CAAC;SACJ;QACD,IAAI,EAAE,WAAW;QACjB,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;QACvB,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,EAAE,OAAO;YAC7C,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;gBACjB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACxB,CAAC;gBACD,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAA;YACxD,CAAC,CAAC,EAAE,CAAA;YAEJ,MAAM,OAAO,CAAC,KAAK,CACf,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAA,GAAG,MAAM,IAAI,MAAM,CAAC;gBACjB,IAAI;gBACJ,GAAG,IAAI;gBACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;aACnC,CAAC,EAAE,EACR;gBACI,GAAG,OAAO;gBACV,6EAA6E;gBAC7E,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;oBACjC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;wBAC/B,IAAI,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;4BAC1C,OAAO,EAAE,CAAA;wBACb,CAAC;oBACL,CAAC,CAAC,CAAA;oBACF,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBACrC,CAAC;aACJ,CACJ,CAAA;QACL,CAAC;QACD,KAAK,CAAC,IAAI;YACN,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;QACxB,CAAC;KACJ,CAAA;AACL,CAAC,CAAC,CAAA"}
|
package/esm/mempool/mempool.js
CHANGED
|
@@ -175,19 +175,21 @@ export class MemoryMempool {
|
|
|
175
175
|
.filter((userOpInfo) => {
|
|
176
176
|
const userOp = deriveUserOperation(userOpInfo.mempoolUserOperation);
|
|
177
177
|
return userOp.sender === op.sender;
|
|
178
|
-
})
|
|
178
|
+
})
|
|
179
|
+
.length;
|
|
179
180
|
if (parallellUserOperationsCount > this.parallelUserOpsMaxSize) {
|
|
180
181
|
return false;
|
|
181
182
|
}
|
|
182
183
|
// Check if mempool already includes max amount of queued user operations
|
|
183
|
-
const [nonceKey] = getNonceKeyAndValue(op.nonce);
|
|
184
|
+
const [nonceKey,] = getNonceKeyAndValue(op.nonce);
|
|
184
185
|
const queuedUserOperationsCount = this.store
|
|
185
186
|
.dumpOutstanding()
|
|
186
187
|
.filter((userOpInfo) => {
|
|
187
188
|
const userOp = deriveUserOperation(userOpInfo.mempoolUserOperation);
|
|
188
|
-
const [opNonceKey] = getNonceKeyAndValue(userOp.nonce);
|
|
189
|
-
return userOp.sender === op.sender && opNonceKey === nonceKey;
|
|
190
|
-
})
|
|
189
|
+
const [opNonceKey,] = getNonceKeyAndValue(userOp.nonce);
|
|
190
|
+
return (userOp.sender === op.sender && opNonceKey === nonceKey);
|
|
191
|
+
})
|
|
192
|
+
.length;
|
|
191
193
|
if (queuedUserOperationsCount > this.queuedUserOpsMaxSize) {
|
|
192
194
|
return false;
|
|
193
195
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mempool.js","sourceRoot":"","sources":["../../mempool/mempool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mempool.js","sourceRoot":"","sources":["../../mempool/mempool.ts"],"names":[],"mappings":"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"}
|
|
@@ -114,9 +114,7 @@ export class ReputationManager {
|
|
|
114
114
|
}));
|
|
115
115
|
}
|
|
116
116
|
clear() {
|
|
117
|
-
|
|
118
|
-
this.entries[entryPoint] = {};
|
|
119
|
-
}
|
|
117
|
+
this.entries = {};
|
|
120
118
|
this.entityCount = {};
|
|
121
119
|
}
|
|
122
120
|
clearEntityCount() {
|
|
@@ -164,14 +162,13 @@ export class ReputationManager {
|
|
|
164
162
|
return this.entityCount[address] ?? 0;
|
|
165
163
|
}
|
|
166
164
|
increaseSeen(entryPoint, address) {
|
|
167
|
-
|
|
165
|
+
const entry = this.entries[entryPoint][address];
|
|
168
166
|
if (!entry) {
|
|
169
167
|
this.entries[entryPoint][address] = {
|
|
170
168
|
address,
|
|
171
169
|
opsSeen: 0n,
|
|
172
170
|
opsIncluded: 0n
|
|
173
171
|
};
|
|
174
|
-
entry = this.entries[entryPoint][address];
|
|
175
172
|
}
|
|
176
173
|
entry.opsSeen++;
|
|
177
174
|
}
|
|
@@ -215,14 +212,13 @@ export class ReputationManager {
|
|
|
215
212
|
}
|
|
216
213
|
}
|
|
217
214
|
updateIncludedStatus(entryPoint, address) {
|
|
218
|
-
|
|
215
|
+
const entry = this.entries[entryPoint][address];
|
|
219
216
|
if (!entry) {
|
|
220
217
|
this.entries[entryPoint][address] = {
|
|
221
218
|
address,
|
|
222
219
|
opsSeen: 0n,
|
|
223
220
|
opsIncluded: 0n
|
|
224
221
|
};
|
|
225
|
-
entry = this.entries[entryPoint][address];
|
|
226
222
|
}
|
|
227
223
|
entry.opsIncluded++;
|
|
228
224
|
}
|