prool 0.0.24 → 0.1.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 (114) hide show
  1. package/{LICENSE → LICENSE.md} +1 -1
  2. package/README.md +46 -163
  3. package/{_lib/instance.d.ts → dist/Instance.d.ts} +28 -25
  4. package/dist/Instance.d.ts.map +1 -0
  5. package/{_lib/instance.js → dist/Instance.js} +9 -4
  6. package/dist/Instance.js.map +1 -0
  7. package/{_lib/pool.d.ts → dist/Pool.d.ts} +15 -13
  8. package/dist/Pool.d.ts.map +1 -0
  9. package/{_lib/pool.js → dist/Pool.js} +3 -3
  10. package/dist/Pool.js.map +1 -0
  11. package/{_lib/server.d.ts → dist/Server.d.ts} +7 -10
  12. package/dist/Server.d.ts.map +1 -0
  13. package/{_lib/server.js → dist/Server.js} +31 -10
  14. package/dist/Server.js.map +1 -0
  15. package/dist/index.d.ts +4 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +4 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/instances/alto.d.ts +452 -0
  20. package/dist/instances/alto.d.ts.map +1 -0
  21. package/{_lib → dist}/instances/alto.js +4 -4
  22. package/dist/instances/alto.js.map +1 -0
  23. package/dist/instances/anvil.d.ts +458 -0
  24. package/dist/instances/anvil.d.ts.map +1 -0
  25. package/{_lib → dist}/instances/anvil.js +4 -4
  26. package/dist/instances/anvil.js.map +1 -0
  27. package/dist/instances/tempo.d.ts +157 -0
  28. package/dist/instances/tempo.d.ts.map +1 -0
  29. package/dist/instances/tempo.js +187 -0
  30. package/dist/instances/tempo.js.map +1 -0
  31. package/dist/internal/utils.d.ts.map +1 -0
  32. package/{_lib → dist/internal}/utils.js +1 -1
  33. package/dist/internal/utils.js.map +1 -0
  34. package/{_lib → dist}/processes/execa.d.ts +11 -10
  35. package/dist/processes/execa.d.ts.map +1 -0
  36. package/{_lib → dist}/processes/execa.js +1 -1
  37. package/dist/processes/execa.js.map +1 -0
  38. package/package.json +17 -16
  39. package/{instance.test.ts → src/Instance.test.ts} +12 -12
  40. package/{instance.ts → src/Instance.ts} +51 -42
  41. package/{pool.test.ts → src/Pool.test.ts} +41 -55
  42. package/{pool.ts → src/Pool.ts} +21 -19
  43. package/{server.test.ts → src/Server.test.ts} +26 -149
  44. package/{server.ts → src/Server.ts} +34 -12
  45. package/src/index.ts +3 -0
  46. package/{instances → src/instances}/alto.test.ts +8 -11
  47. package/src/instances/alto.ts +289 -0
  48. package/{instances → src/instances}/anvil.test.ts +5 -6
  49. package/src/instances/anvil.ts +306 -0
  50. package/{instances/silius.test.ts → src/instances/tempo.test.ts} +20 -44
  51. package/src/instances/tempo.ts +278 -0
  52. package/{utils.test.ts → src/internal/utils.test.ts} +6 -6
  53. package/{utils.ts → src/internal/utils.ts} +1 -1
  54. package/{processes → src/processes}/execa.test.ts +6 -11
  55. package/{processes → src/processes}/execa.ts +19 -15
  56. package/src/processes/index.ts +1 -0
  57. package/CHANGELOG.md +0 -148
  58. package/_lib/exports/index.d.ts +0 -5
  59. package/_lib/exports/index.d.ts.map +0 -1
  60. package/_lib/exports/index.js +0 -5
  61. package/_lib/exports/index.js.map +0 -1
  62. package/_lib/exports/instances.d.ts +0 -7
  63. package/_lib/exports/instances.d.ts.map +0 -1
  64. package/_lib/exports/instances.js +0 -7
  65. package/_lib/exports/instances.js.map +0 -1
  66. package/_lib/exports/processes.d.ts +0 -2
  67. package/_lib/exports/processes.d.ts.map +0 -1
  68. package/_lib/exports/processes.js +0 -2
  69. package/_lib/exports/processes.js.map +0 -1
  70. package/_lib/instance.d.ts.map +0 -1
  71. package/_lib/instance.js.map +0 -1
  72. package/_lib/instances/alto.d.ts +0 -449
  73. package/_lib/instances/alto.d.ts.map +0 -1
  74. package/_lib/instances/alto.js.map +0 -1
  75. package/_lib/instances/anvil.d.ts +0 -455
  76. package/_lib/instances/anvil.d.ts.map +0 -1
  77. package/_lib/instances/anvil.js.map +0 -1
  78. package/_lib/instances/rundler.d.ts +0 -604
  79. package/_lib/instances/rundler.d.ts.map +0 -1
  80. package/_lib/instances/rundler.js +0 -86
  81. package/_lib/instances/rundler.js.map +0 -1
  82. package/_lib/instances/silius.d.ts +0 -224
  83. package/_lib/instances/silius.d.ts.map +0 -1
  84. package/_lib/instances/silius.js +0 -117
  85. package/_lib/instances/silius.js.map +0 -1
  86. package/_lib/instances/stackup.d.ts +0 -86
  87. package/_lib/instances/stackup.d.ts.map +0 -1
  88. package/_lib/instances/stackup.js +0 -89
  89. package/_lib/instances/stackup.js.map +0 -1
  90. package/_lib/pool.d.ts.map +0 -1
  91. package/_lib/pool.js.map +0 -1
  92. package/_lib/processes/execa.d.ts.map +0 -1
  93. package/_lib/processes/execa.js.map +0 -1
  94. package/_lib/server.d.ts.map +0 -1
  95. package/_lib/server.js.map +0 -1
  96. package/_lib/utils.d.ts.map +0 -1
  97. package/_lib/utils.js.map +0 -1
  98. package/exports/index.test.ts +0 -16
  99. package/exports/index.ts +0 -29
  100. package/exports/instances.test.ts +0 -15
  101. package/exports/instances.ts +0 -13
  102. package/exports/processes.test.ts +0 -10
  103. package/exports/processes.ts +0 -8
  104. package/instances/alto.ts +0 -280
  105. package/instances/anvil.ts +0 -304
  106. package/instances/package.json +0 -5
  107. package/instances/rundler.test.ts +0 -111
  108. package/instances/rundler.ts +0 -451
  109. package/instances/silius.ts +0 -347
  110. package/instances/stackup.test.ts +0 -106
  111. package/instances/stackup.ts +0 -162
  112. package/processes/package.json +0 -5
  113. package/tsconfig.build.tsbuildinfo +0 -1
  114. /package/{_lib → dist/internal}/utils.d.ts +0 -0
@@ -1,604 +0,0 @@
1
- export type RundlerParameters = {
2
- /**
3
- * The path to the rundler binary
4
- *
5
- * @default rundler
6
- */
7
- binary?: string;
8
- /**
9
- * The version of the entrypoint to use
10
- *
11
- * @default 0.6.0
12
- */
13
- entryPointVersion?: '0.6.0' | '0.7.0';
14
- /**
15
- * Network to look up a hardcoded chain spec.
16
- * @default dev
17
- */
18
- network?: string;
19
- /**
20
- * Path to a chain spec TOML file.
21
- */
22
- chainSpec?: string;
23
- /**
24
- * EVM Node HTTP URL to use.
25
- *
26
- * @default http://localhost:8545
27
- */
28
- nodeHttp?: string;
29
- /**
30
- * Maximum verification gas.
31
- * @default 5000000
32
- */
33
- maxVerificationGas?: number;
34
- /**
35
- * Maximum bundle gas.
36
- * @default 25000000
37
- */
38
- maxBundleGas?: number;
39
- /**
40
- * Minimum stake value.
41
- * @default 1000000000000000000
42
- */
43
- minStakeValue?: number;
44
- /**
45
- * Minimum unstake delay.
46
- * @default 84600
47
- */
48
- minUnstakeDelay?: number;
49
- /**
50
- * Number of blocks to search when calling eth_getUserOperationByHash.
51
- * @default 100
52
- */
53
- userOperationEventBlockDistance?: number;
54
- /**
55
- * Maximum gas for simulating handle operations.
56
- * @default 20000000
57
- */
58
- maxSimulateHandleOpsGas?: number;
59
- /**
60
- * The gas fee to use during verification estimation.
61
- * @default 1000000000000 10K gwei
62
- */
63
- verificationEstimationGasFee?: number;
64
- /**
65
- * Bundle transaction priority fee overhead over network value.
66
- * @default 0
67
- */
68
- bundlePriorityFeeOverheadPercent?: number;
69
- /**
70
- * Priority fee mode kind.
71
- * Possible values are base_fee_percent and priority_fee_increase_percent.
72
- * @default priority_fee_increase_percent
73
- */
74
- priorityFeeModeKind?: 'base_fee_percent' | 'priority_fee_increase_percent';
75
- /**
76
- * Priority fee mode value.
77
- * @default 0
78
- */
79
- priorityFeeModeValue?: number;
80
- /**
81
- * Percentage of the current network fees a user operation must have in order to be accepted into the mempool.
82
- * @default 100
83
- */
84
- baseFeeAcceptPercent?: number;
85
- /**
86
- * AWS region.
87
- * @default us-east-1
88
- */
89
- awsRegion?: string;
90
- /**
91
- * Interval at which the builder polls an RPC node for new blocks and mined transactions.
92
- * @default 100
93
- */
94
- ethPollIntervalMillis?: number;
95
- /**
96
- * Flag for unsafe bundling mode. When set Rundler will skip checking simulation rules (and any debug_traceCall).
97
- *
98
- * @default true
99
- */
100
- unsafe?: boolean;
101
- /**
102
- * Path to the mempool configuration file.
103
- * This path can either be a local file path or an S3 url.
104
- */
105
- mempoolConfigPath?: string;
106
- metrics?: {
107
- /**
108
- * Port to listen on for metrics requests.
109
- * @default 8080
110
- */
111
- port?: number;
112
- /**
113
- * Host to listen on for metrics requests.
114
- * @default 0.0.0.0
115
- */
116
- host?: string;
117
- /**
118
- * Tags for metrics in the format key1=value1,key2=value2,...
119
- */
120
- tags?: string;
121
- /**
122
- * Sample interval to use for sampling metrics.
123
- * @default 1000
124
- */
125
- sampleIntervalMillis?: number;
126
- };
127
- logging?: {
128
- /**
129
- * Log file. If not provided, logs will be written to stdout.
130
- */
131
- file?: string;
132
- /**
133
- * If set, logs will be written in JSON format.
134
- */
135
- json?: boolean;
136
- };
137
- rpc?: {
138
- /**
139
- * Port to listen on for JSON-RPC requests.
140
- * @default 3000
141
- */
142
- port?: number;
143
- /**
144
- * Host to listen on for JSON-RPC requests.
145
- * @default 127.0.0.1
146
- */
147
- host?: string;
148
- /**
149
- * Which APIs to expose over the RPC interface.
150
- * @default eth,rundler
151
- */
152
- api?: string;
153
- /**
154
- * Timeout for RPC requests.
155
- * @default 20
156
- */
157
- timeoutSeconds?: number;
158
- /**
159
- * Maximum number of concurrent connections.
160
- * @default 100
161
- */
162
- maxConnections?: number;
163
- };
164
- pool?: {
165
- /**
166
- * Maximum size in bytes for the pool.
167
- * @default 500000000, 0.5 GB
168
- */
169
- maxSizeInBytes?: number;
170
- /**
171
- * Maximum number of user operations for an unstaked sender.
172
- * @default 4
173
- */
174
- sameSenderMempoolCount?: number;
175
- /**
176
- * Minimum replacement fee increase percentage.
177
- * @default 10
178
- */
179
- minReplacementFeeIncreasePercentage?: number;
180
- /**
181
- * Path to a blocklist file.
182
- * This path can either be a local file path or an S3 url.
183
- */
184
- blocklistPath?: string;
185
- /**
186
- * Path to an allowlist file.
187
- * This path can either be a local file path or an S3 url.
188
- */
189
- allowlistPath?: string;
190
- /**
191
- * Size of the chain history.
192
- */
193
- chainHistorySize?: number;
194
- /**
195
- * Boolean field that sets whether the pool server starts with paymaster tracking enabled.
196
- * @default true
197
- */
198
- paymasterTrackingEnabled?: boolean;
199
- /**
200
- * Length of the paymaster cache.
201
- * @default 10_000
202
- */
203
- paymasterCacheLength?: number;
204
- /**
205
- * Boolean field that sets whether the pool server starts with reputation tracking enabled.
206
- * @default true
207
- */
208
- reputationTrackingEnabled?: boolean;
209
- /**
210
- * The minimum number of blocks that a UO must stay in the mempool before it can be requested to be dropped by the user.
211
- * @default 10
212
- */
213
- dropMinNumBlocks?: number;
214
- };
215
- builder?: {
216
- /**
217
- * Private key to use for signing transactions.
218
- * If used with awsKmsKeyIds, then explicitly pass in `null` here.
219
- *
220
- * @default 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
221
- */
222
- privateKey?: string;
223
- /**
224
- * AWS KMS key IDs to use for signing transactions (comma-separated).
225
- * Only required if privateKey is not provided.
226
- */
227
- awsKmsKeyIds?: string;
228
- /**
229
- * Redis URI to use for KMS leasing.
230
- * Only required when awsKmsKeyIds are provided.
231
- *
232
- * @default ""
233
- */
234
- redisUri?: string;
235
- /**
236
- * Redis lock TTL in milliseconds.
237
- * Only required when awsKmsKeyIds are provided.
238
- * @default 60000
239
- */
240
- redisLockTtlMillis?: number;
241
- /**
242
- * Maximum number of ops to include in one bundle.
243
- * @default 128
244
- */
245
- maxBundleSize?: number;
246
- /**
247
- * If present, the URL of the ETH provider that will be used to send transactions.
248
- * Defaults to the value of nodeHttp.
249
- */
250
- submitUrl?: string;
251
- /**
252
- * Choice of what sender type to use for transaction submission.
253
- * @default raw
254
- * options: raw, conditional, flashbots, polygon_bloxroute
255
- */
256
- sender?: 'raw' | 'conditional' | 'flashbots' | 'polygonBloxroute';
257
- /**
258
- * After submitting a bundle transaction, the maximum number of blocks to wait for that transaction to mine before trying to resend with higher gas fees.
259
- * @default 2
260
- */
261
- maxBlocksToWaitForMine?: number;
262
- /**
263
- * Percentage amount to increase gas fees when retrying a transaction after it failed to mine.
264
- * @default 10
265
- */
266
- replacementFeePercentIncrease?: number;
267
- /**
268
- * Maximum number of fee increases to attempt.
269
- * Seven increases of 10% is roughly 2x the initial fees.
270
- * @default 7
271
- */
272
- maxFeeIncreases?: number;
273
- /**
274
- * Additional builders to send bundles to through the Flashbots relay RPC (comma-separated).
275
- * List of builders that the Flashbots RPC supports can be found here.
276
- * @default flashbots
277
- */
278
- flashbotsRelayBuilders?: string;
279
- /**
280
- * Authorization key to use with the Flashbots relay.
281
- * See here for more info.
282
- * @default None
283
- */
284
- flashbotsRelayAuthKey?: string;
285
- /**
286
- * If using the bloxroute transaction sender on Polygon, this is the auth header to supply with the requests.
287
- * @default None
288
- */
289
- bloxrouteAuthHeader?: string;
290
- /**
291
- * If running multiple builder processes, this is the index offset to assign unique indexes to each bundle sender.
292
- * @default 0
293
- */
294
- indexOffset?: number;
295
- };
296
- };
297
- /**
298
- * Defines a Rundler instance.
299
- *
300
- * @example
301
- * ```ts
302
- * const instance = rundler({
303
- * nodeHttp: 'http://localhost:8545',
304
- * });
305
- *
306
- * await instance.start()
307
- * // ...
308
- * await instance.stop()
309
- * ```
310
- */
311
- export declare const rundler: import("../instance.js").DefineInstanceReturnType<{
312
- args: {
313
- /**
314
- * The version of the entrypoint to use
315
- *
316
- * @default 0.6.0
317
- */
318
- entryPointVersion?: "0.6.0" | "0.7.0" | undefined;
319
- /**
320
- * Network to look up a hardcoded chain spec.
321
- * @default dev
322
- */
323
- network?: string | undefined;
324
- /**
325
- * Path to a chain spec TOML file.
326
- */
327
- chainSpec?: string | undefined;
328
- /**
329
- * EVM Node HTTP URL to use.
330
- *
331
- * @default http://localhost:8545
332
- */
333
- nodeHttp?: string | undefined;
334
- /**
335
- * Maximum verification gas.
336
- * @default 5000000
337
- */
338
- maxVerificationGas?: number | undefined;
339
- /**
340
- * Maximum bundle gas.
341
- * @default 25000000
342
- */
343
- maxBundleGas?: number | undefined;
344
- /**
345
- * Minimum stake value.
346
- * @default 1000000000000000000
347
- */
348
- minStakeValue?: number | undefined;
349
- /**
350
- * Minimum unstake delay.
351
- * @default 84600
352
- */
353
- minUnstakeDelay?: number | undefined;
354
- /**
355
- * Number of blocks to search when calling eth_getUserOperationByHash.
356
- * @default 100
357
- */
358
- userOperationEventBlockDistance?: number | undefined;
359
- /**
360
- * Maximum gas for simulating handle operations.
361
- * @default 20000000
362
- */
363
- maxSimulateHandleOpsGas?: number | undefined;
364
- /**
365
- * The gas fee to use during verification estimation.
366
- * @default 1000000000000 10K gwei
367
- */
368
- verificationEstimationGasFee?: number | undefined;
369
- /**
370
- * Bundle transaction priority fee overhead over network value.
371
- * @default 0
372
- */
373
- bundlePriorityFeeOverheadPercent?: number | undefined;
374
- /**
375
- * Priority fee mode kind.
376
- * Possible values are base_fee_percent and priority_fee_increase_percent.
377
- * @default priority_fee_increase_percent
378
- */
379
- priorityFeeModeKind?: "base_fee_percent" | "priority_fee_increase_percent" | undefined;
380
- /**
381
- * Priority fee mode value.
382
- * @default 0
383
- */
384
- priorityFeeModeValue?: number | undefined;
385
- /**
386
- * Percentage of the current network fees a user operation must have in order to be accepted into the mempool.
387
- * @default 100
388
- */
389
- baseFeeAcceptPercent?: number | undefined;
390
- /**
391
- * AWS region.
392
- * @default us-east-1
393
- */
394
- awsRegion?: string | undefined;
395
- /**
396
- * Interval at which the builder polls an RPC node for new blocks and mined transactions.
397
- * @default 100
398
- */
399
- ethPollIntervalMillis?: number | undefined;
400
- /**
401
- * Flag for unsafe bundling mode. When set Rundler will skip checking simulation rules (and any debug_traceCall).
402
- *
403
- * @default true
404
- */
405
- unsafe?: boolean | undefined;
406
- /**
407
- * Path to the mempool configuration file.
408
- * This path can either be a local file path or an S3 url.
409
- */
410
- mempoolConfigPath?: string | undefined;
411
- metrics?: {
412
- /**
413
- * Port to listen on for metrics requests.
414
- * @default 8080
415
- */
416
- port?: number | undefined;
417
- /**
418
- * Host to listen on for metrics requests.
419
- * @default 0.0.0.0
420
- */
421
- host?: string | undefined;
422
- /**
423
- * Tags for metrics in the format key1=value1,key2=value2,...
424
- */
425
- tags?: string | undefined;
426
- /**
427
- * Sample interval to use for sampling metrics.
428
- * @default 1000
429
- */
430
- sampleIntervalMillis?: number | undefined;
431
- } | undefined;
432
- logging?: {
433
- /**
434
- * Log file. If not provided, logs will be written to stdout.
435
- */
436
- file?: string | undefined;
437
- /**
438
- * If set, logs will be written in JSON format.
439
- */
440
- json?: boolean | undefined;
441
- } | undefined;
442
- rpc?: {
443
- /**
444
- * Port to listen on for JSON-RPC requests.
445
- * @default 3000
446
- */
447
- port?: number | undefined;
448
- /**
449
- * Host to listen on for JSON-RPC requests.
450
- * @default 127.0.0.1
451
- */
452
- host?: string | undefined;
453
- /**
454
- * Which APIs to expose over the RPC interface.
455
- * @default eth,rundler
456
- */
457
- api?: string | undefined;
458
- /**
459
- * Timeout for RPC requests.
460
- * @default 20
461
- */
462
- timeoutSeconds?: number | undefined;
463
- /**
464
- * Maximum number of concurrent connections.
465
- * @default 100
466
- */
467
- maxConnections?: number | undefined;
468
- } | undefined;
469
- pool?: {
470
- /**
471
- * Maximum size in bytes for the pool.
472
- * @default 500000000, 0.5 GB
473
- */
474
- maxSizeInBytes?: number | undefined;
475
- /**
476
- * Maximum number of user operations for an unstaked sender.
477
- * @default 4
478
- */
479
- sameSenderMempoolCount?: number | undefined;
480
- /**
481
- * Minimum replacement fee increase percentage.
482
- * @default 10
483
- */
484
- minReplacementFeeIncreasePercentage?: number | undefined;
485
- /**
486
- * Path to a blocklist file.
487
- * This path can either be a local file path or an S3 url.
488
- */
489
- blocklistPath?: string | undefined;
490
- /**
491
- * Path to an allowlist file.
492
- * This path can either be a local file path or an S3 url.
493
- */
494
- allowlistPath?: string | undefined;
495
- /**
496
- * Size of the chain history.
497
- */
498
- chainHistorySize?: number | undefined;
499
- /**
500
- * Boolean field that sets whether the pool server starts with paymaster tracking enabled.
501
- * @default true
502
- */
503
- paymasterTrackingEnabled?: boolean | undefined;
504
- /**
505
- * Length of the paymaster cache.
506
- * @default 10_000
507
- */
508
- paymasterCacheLength?: number | undefined;
509
- /**
510
- * Boolean field that sets whether the pool server starts with reputation tracking enabled.
511
- * @default true
512
- */
513
- reputationTrackingEnabled?: boolean | undefined;
514
- /**
515
- * The minimum number of blocks that a UO must stay in the mempool before it can be requested to be dropped by the user.
516
- * @default 10
517
- */
518
- dropMinNumBlocks?: number | undefined;
519
- } | undefined;
520
- builder?: {
521
- /**
522
- * Private key to use for signing transactions.
523
- * If used with awsKmsKeyIds, then explicitly pass in `null` here.
524
- *
525
- * @default 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
526
- */
527
- privateKey?: string | undefined;
528
- /**
529
- * AWS KMS key IDs to use for signing transactions (comma-separated).
530
- * Only required if privateKey is not provided.
531
- */
532
- awsKmsKeyIds?: string | undefined;
533
- /**
534
- * Redis URI to use for KMS leasing.
535
- * Only required when awsKmsKeyIds are provided.
536
- *
537
- * @default ""
538
- */
539
- redisUri?: string | undefined;
540
- /**
541
- * Redis lock TTL in milliseconds.
542
- * Only required when awsKmsKeyIds are provided.
543
- * @default 60000
544
- */
545
- redisLockTtlMillis?: number | undefined;
546
- /**
547
- * Maximum number of ops to include in one bundle.
548
- * @default 128
549
- */
550
- maxBundleSize?: number | undefined;
551
- /**
552
- * If present, the URL of the ETH provider that will be used to send transactions.
553
- * Defaults to the value of nodeHttp.
554
- */
555
- submitUrl?: string | undefined;
556
- /**
557
- * Choice of what sender type to use for transaction submission.
558
- * @default raw
559
- * options: raw, conditional, flashbots, polygon_bloxroute
560
- */
561
- sender?: "raw" | "conditional" | "flashbots" | "polygonBloxroute" | undefined;
562
- /**
563
- * After submitting a bundle transaction, the maximum number of blocks to wait for that transaction to mine before trying to resend with higher gas fees.
564
- * @default 2
565
- */
566
- maxBlocksToWaitForMine?: number | undefined;
567
- /**
568
- * Percentage amount to increase gas fees when retrying a transaction after it failed to mine.
569
- * @default 10
570
- */
571
- replacementFeePercentIncrease?: number | undefined;
572
- /**
573
- * Maximum number of fee increases to attempt.
574
- * Seven increases of 10% is roughly 2x the initial fees.
575
- * @default 7
576
- */
577
- maxFeeIncreases?: number | undefined;
578
- /**
579
- * Additional builders to send bundles to through the Flashbots relay RPC (comma-separated).
580
- * List of builders that the Flashbots RPC supports can be found here.
581
- * @default flashbots
582
- */
583
- flashbotsRelayBuilders?: string | undefined;
584
- /**
585
- * Authorization key to use with the Flashbots relay.
586
- * See here for more info.
587
- * @default None
588
- */
589
- flashbotsRelayAuthKey?: string | undefined;
590
- /**
591
- * If using the bloxroute transaction sender on Polygon, this is the auth header to supply with the requests.
592
- * @default None
593
- */
594
- bloxrouteAuthHeader?: string | undefined;
595
- /**
596
- * If running multiple builder processes, this is the index offset to assign unique indexes to each bundle sender.
597
- * @default 0
598
- */
599
- indexOffset?: number | undefined;
600
- } | undefined;
601
- };
602
- readonly process: import("../processes/execa.js").Process_internal;
603
- }, RundlerParameters | undefined>;
604
- //# sourceMappingURL=rundler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rundler.d.ts","sourceRoot":"","sources":["../../instances/rundler.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAErC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;;OAGG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAA;IAExC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAEhC;;;OAGG;IACH,4BAA4B,CAAC,EAAE,MAAM,CAAA;IAErC;;;OAGG;IACH,gCAAgC,CAAC,EAAE,MAAM,CAAA;IAEzC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,kBAAkB,GAAG,+BAA+B,CAAA;IAE1E;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAE9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B,OAAO,CAAC,EAAE;QACR;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;QAEb;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;QAEb;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;QAEb;;;WAGG;QACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAC9B,CAAA;IAED,OAAO,CAAC,EAAE;QACR;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;QAEb;;WAEG;QACH,IAAI,CAAC,EAAE,OAAO,CAAA;KACf,CAAA;IAED,GAAG,CAAC,EAAE;QACJ;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;QAEb;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;QAEb;;;WAGG;QACH,GAAG,CAAC,EAAE,MAAM,CAAA;QAEZ;;;WAGG;QACH,cAAc,CAAC,EAAE,MAAM,CAAA;QAEvB;;;WAGG;QACH,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;IAED,IAAI,CAAC,EAAE;QACL;;;WAGG;QACH,cAAc,CAAC,EAAE,MAAM,CAAA;QAEvB;;;WAGG;QACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;QAE/B;;;WAGG;QACH,mCAAmC,CAAC,EAAE,MAAM,CAAA;QAE5C;;;WAGG;QACH,aAAa,CAAC,EAAE,MAAM,CAAA;QAEtB;;;WAGG;QACH,aAAa,CAAC,EAAE,MAAM,CAAA;QAEtB;;WAEG;QACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;QAEzB;;;WAGG;QACH,wBAAwB,CAAC,EAAE,OAAO,CAAA;QAElC;;;WAGG;QACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;QAE7B;;;WAGG;QACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;QAEnC;;;WAGG;QACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAC1B,CAAA;IAED,OAAO,CAAC,EAAE;QACR;;;;;WAKG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QAEnB;;;WAGG;QACH,YAAY,CAAC,EAAE,MAAM,CAAA;QAErB;;;;;WAKG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAA;QAEjB;;;;WAIG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAE3B;;;WAGG;QACH,aAAa,CAAC,EAAE,MAAM,CAAA;QAEtB;;;WAGG;QACH,SAAS,CAAC,EAAE,MAAM,CAAA;QAElB;;;;WAIG;QACH,MAAM,CAAC,EAAE,KAAK,GAAG,aAAa,GAAG,WAAW,GAAG,kBAAkB,CAAA;QAEjE;;;WAGG;QACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;QAE/B;;;WAGG;QACH,6BAA6B,CAAC,EAAE,MAAM,CAAA;QAEtC;;;;WAIG;QACH,eAAe,CAAC,EAAE,MAAM,CAAA;QAExB;;;;WAIG;QACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;QAE/B;;;;WAIG;QACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;QAE9B;;;WAGG;QACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAE5B;;;WAGG;QACH,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;CACF,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO;;QArWlB;;;;WAIG;;QAGH;;;WAGG;;QAGH;;WAEG;;QAGH;;;;WAIG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;;WAIG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;;WAIG;;QAGH;;;WAGG;;;YAID;;;eAGG;;YAGH;;;eAGG;;YAGH;;eAEG;;YAGH;;;eAGG;;;;YAKH;;eAEG;;YAGH;;eAEG;;;;YAKH;;;eAGG;;YAGH;;;eAGG;;YAGH;;;eAGG;;YAGH;;;eAGG;;YAGH;;;eAGG;;;;YAKH;;;eAGG;;YAGH;;;eAGG;;YAGH;;;eAGG;;YAGH;;;eAGG;;YAGH;;;eAGG;;YAGH;;eAEG;;YAGH;;;eAGG;;YAGH;;;eAGG;;YAGH;;;eAGG;;YAGH;;;eAGG;;;;YAKH;;;;;eAKG;;YAGH;;;eAGG;;YAGH;;;;;eAKG;;YAGH;;;;eAIG;;YAGH;;;eAGG;;YAGH;;;eAGG;;YAGH;;;;eAIG;;YAGH;;;eAGG;;YAGH;;;eAGG;;YAGH;;;;eAIG;;YAGH;;;;eAIG;;YAGH;;;;eAIG;;YAGH;;;eAGG;;YAGH;;;eAGG;;;;;iCAkGL,CAAA"}
@@ -1,86 +0,0 @@
1
- import getPort from 'get-port';
2
- import { defineInstance } from '../instance.js';
3
- import { execa } from '../processes/execa.js';
4
- import { toArgs } from '../utils.js';
5
- /**
6
- * Defines a Rundler instance.
7
- *
8
- * @example
9
- * ```ts
10
- * const instance = rundler({
11
- * nodeHttp: 'http://localhost:8545',
12
- * });
13
- *
14
- * await instance.start()
15
- * // ...
16
- * await instance.stop()
17
- * ```
18
- */
19
- export const rundler = defineInstance((parameters) => {
20
- const { binary = 'rundler', ...args } = (parameters ??
21
- {});
22
- const host = '127.0.0.1';
23
- const name = 'rundler';
24
- const process = execa({ name });
25
- return {
26
- _internal: {
27
- args,
28
- get process() {
29
- return process._internal.process;
30
- },
31
- },
32
- host,
33
- port: args.rpc?.port ?? 3000,
34
- name,
35
- async start({ port = args.rpc?.port ?? 3000 }, options) {
36
- const args_ = {
37
- ...args,
38
- builder: {
39
- ...args.builder,
40
- privateKey: args.builder?.privateKey ??
41
- '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80',
42
- },
43
- entryPointVersion: undefined,
44
- maxVerificationGas: args.maxVerificationGas ?? 10000000,
45
- network: args.network ?? 'dev',
46
- nodeHttp: args.nodeHttp ?? 'http://localhost:8545',
47
- metrics: {
48
- ...args.metrics,
49
- port: await getPort(),
50
- },
51
- rpc: {
52
- ...args.rpc,
53
- port,
54
- },
55
- unsafe: args.unsafe ?? true,
56
- userOperationEventBlockDistance: args.userOperationEventBlockDistance ?? 100,
57
- };
58
- const entrypointArgs = (() => {
59
- if (args.entryPointVersion === '0.6.0')
60
- return ['--disable_entry_point_v0_7'];
61
- return ['--disable_entry_point_v0_6'];
62
- })();
63
- return await process.start(($) => $(binary, ['node', ...toArgs(args_, { casing: 'snake' }), ...entrypointArgs], {
64
- env: {
65
- RUST_LOG: 'debug',
66
- },
67
- }), {
68
- ...options,
69
- resolver({ process, reject, resolve }) {
70
- process.stdout.on('data', (data) => {
71
- const message = data.toString();
72
- if (message.includes('Started RPC server'))
73
- resolve();
74
- });
75
- process.stderr.on('data', (data) => {
76
- reject(data.toString());
77
- });
78
- },
79
- });
80
- },
81
- async stop() {
82
- await process.stop();
83
- },
84
- };
85
- });
86
- //# sourceMappingURL=rundler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rundler.js","sourceRoot":"","sources":["../../instances/rundler.ts"],"names":[],"mappings":"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"}