@pimlico/alto 0.0.2 → 0.0.4

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 (264) hide show
  1. package/esm/cli/alto.d.ts +6 -0
  2. package/esm/cli/alto.js +92 -0
  3. package/esm/cli/alto.js.map +1 -0
  4. package/esm/cli/config/bundler.d.ts +403 -0
  5. package/esm/cli/config/bundler.js +134 -0
  6. package/esm/cli/config/bundler.js.map +1 -0
  7. package/esm/cli/config/index.d.ts +3 -0
  8. package/esm/cli/config/index.js +3 -0
  9. package/esm/cli/config/index.js.map +1 -0
  10. package/esm/cli/config/options.d.ts +11 -0
  11. package/esm/cli/config/options.js +348 -0
  12. package/esm/cli/config/options.js.map +1 -0
  13. package/esm/cli/customTransport.d.ts +14 -0
  14. package/esm/cli/customTransport.js +53 -0
  15. package/esm/cli/customTransport.js.map +1 -0
  16. package/esm/cli/handler.d.ts +3 -0
  17. package/esm/cli/handler.js +140 -0
  18. package/esm/cli/handler.js.map +1 -0
  19. package/esm/cli/index.d.ts +4 -0
  20. package/esm/cli/index.js +4 -0
  21. package/esm/cli/index.js.map +1 -0
  22. package/esm/cli/instrumentation.d.ts +2 -0
  23. package/esm/cli/instrumentation.js +39 -0
  24. package/esm/cli/instrumentation.js.map +1 -0
  25. package/esm/cli/setupServer.d.ts +17 -0
  26. package/esm/cli/setupServer.js +155 -0
  27. package/esm/cli/setupServer.js.map +1 -0
  28. package/esm/cli/util.d.ts +22 -0
  29. package/esm/cli/util.js +30 -0
  30. package/esm/cli/util.js.map +1 -0
  31. package/esm/executor/executor.d.ts +55 -0
  32. package/esm/executor/executor.js +645 -0
  33. package/esm/executor/executor.js.map +1 -0
  34. package/esm/executor/executorManager.d.ts +34 -0
  35. package/esm/executor/executorManager.js +402 -0
  36. package/esm/executor/executorManager.js.map +1 -0
  37. package/esm/executor/index.d.ts +5 -0
  38. package/esm/executor/index.js +5 -0
  39. package/esm/executor/index.js.map +1 -0
  40. package/esm/executor/senderManager.d.ts +17 -0
  41. package/esm/executor/senderManager.js +160 -0
  42. package/esm/executor/senderManager.js.map +1 -0
  43. package/esm/executor/test/utils.d.ts +13 -0
  44. package/esm/executor/test/utils.js +75 -0
  45. package/esm/executor/test/utils.js.map +1 -0
  46. package/esm/executor/utils.d.ts +32 -0
  47. package/esm/executor/utils.js +241 -0
  48. package/esm/executor/utils.js.map +1 -0
  49. package/esm/index.d.ts +2 -0
  50. package/esm/index.js +2 -0
  51. package/esm/index.js.map +1 -0
  52. package/esm/mempool/index.d.ts +5 -0
  53. package/esm/mempool/index.js +5 -0
  54. package/esm/mempool/index.js.map +1 -0
  55. package/esm/mempool/mempool.d.ts +64 -0
  56. package/esm/mempool/mempool.js +487 -0
  57. package/esm/mempool/mempool.js.map +1 -0
  58. package/esm/mempool/monitoring.d.ts +10 -0
  59. package/esm/mempool/monitoring.js +34 -0
  60. package/esm/mempool/monitoring.js.map +1 -0
  61. package/esm/mempool/nullMempool.d.ts +15 -0
  62. package/esm/mempool/nullMempool.js +36 -0
  63. package/esm/mempool/nullMempool.js.map +1 -0
  64. package/esm/mempool/reputationManager.d.ts +115 -0
  65. package/esm/mempool/reputationManager.js +401 -0
  66. package/esm/mempool/reputationManager.js.map +1 -0
  67. package/esm/mempool/store.d.ts +22 -0
  68. package/esm/mempool/store.js +123 -0
  69. package/esm/mempool/store.js.map +1 -0
  70. package/esm/rpc/EntryPointSimulationsV07.d.ts +62 -0
  71. package/esm/rpc/EntryPointSimulationsV07.js +407 -0
  72. package/esm/rpc/EntryPointSimulationsV07.js.map +1 -0
  73. package/esm/rpc/ExecuteSimulator.d.ts +37 -0
  74. package/esm/rpc/ExecuteSimulator.js +48 -0
  75. package/esm/rpc/ExecuteSimulator.js.map +1 -0
  76. package/esm/rpc/gasEstimation.d.ts +17 -0
  77. package/esm/rpc/gasEstimation.js +414 -0
  78. package/esm/rpc/gasEstimation.js.map +1 -0
  79. package/esm/rpc/index.d.ts +5 -0
  80. package/esm/rpc/index.js +5 -0
  81. package/esm/rpc/index.js.map +1 -0
  82. package/esm/rpc/nonceQueuer.d.ts +25 -0
  83. package/esm/rpc/nonceQueuer.js +135 -0
  84. package/esm/rpc/nonceQueuer.js.map +1 -0
  85. package/esm/rpc/rpcHandler.d.ts +64 -0
  86. package/esm/rpc/rpcHandler.js +738 -0
  87. package/esm/rpc/rpcHandler.js.map +1 -0
  88. package/esm/rpc/server.d.ts +31 -0
  89. package/esm/rpc/server.js +243 -0
  90. package/esm/rpc/server.js.map +1 -0
  91. package/esm/rpc/validation/BundlerCollectorTracerV06.d.ts +102 -0
  92. package/esm/rpc/validation/BundlerCollectorTracerV06.js +255 -0
  93. package/esm/rpc/validation/BundlerCollectorTracerV06.js.map +1 -0
  94. package/esm/rpc/validation/BundlerCollectorTracerV07.d.ts +102 -0
  95. package/esm/rpc/validation/BundlerCollectorTracerV07.js +254 -0
  96. package/esm/rpc/validation/BundlerCollectorTracerV07.js.map +1 -0
  97. package/esm/rpc/validation/SafeValidator.d.ts +31 -0
  98. package/esm/rpc/validation/SafeValidator.js +330 -0
  99. package/esm/rpc/validation/SafeValidator.js.map +1 -0
  100. package/esm/rpc/validation/TracerResultParserV06.d.ts +13 -0
  101. package/esm/rpc/validation/TracerResultParserV06.js +578 -0
  102. package/esm/rpc/validation/TracerResultParserV06.js.map +1 -0
  103. package/esm/rpc/validation/TracerResultParserV07.d.ts +33 -0
  104. package/esm/rpc/validation/TracerResultParserV07.js +561 -0
  105. package/esm/rpc/validation/TracerResultParserV07.js.map +1 -0
  106. package/esm/rpc/validation/UnsafeValidator.d.ts +64 -0
  107. package/esm/rpc/validation/UnsafeValidator.js +257 -0
  108. package/esm/rpc/validation/UnsafeValidator.js.map +1 -0
  109. package/esm/rpc/validation/index.d.ts +3 -0
  110. package/esm/rpc/validation/index.js +3 -0
  111. package/esm/rpc/validation/index.js.map +1 -0
  112. package/esm/rpc/validation/tracer.d.ts +122 -0
  113. package/esm/rpc/validation/tracer.js +82 -0
  114. package/esm/rpc/validation/tracer.js.map +1 -0
  115. package/esm/types/contracts/BundleBulker.d.ts +120 -0
  116. package/esm/types/contracts/BundleBulker.js +157 -0
  117. package/esm/types/contracts/BundleBulker.js.map +1 -0
  118. package/esm/types/contracts/CallEngine.d.ts +28 -0
  119. package/esm/types/contracts/CallEngine.js +37 -0
  120. package/esm/types/contracts/CallEngine.js.map +1 -0
  121. package/esm/types/contracts/CodeHashGetter.d.ts +37 -0
  122. package/esm/types/contracts/CodeHashGetter.js +45 -0
  123. package/esm/types/contracts/CodeHashGetter.js.map +1 -0
  124. package/esm/types/contracts/EntryPoint.d.ts +1789 -0
  125. package/esm/types/contracts/EntryPoint.js +2304 -0
  126. package/esm/types/contracts/EntryPoint.js.map +1 -0
  127. package/esm/types/contracts/EntryPointSimulations.d.ts +152 -0
  128. package/esm/types/contracts/EntryPointSimulations.js +1954 -0
  129. package/esm/types/contracts/EntryPointSimulations.js.map +1 -0
  130. package/esm/types/contracts/IOpInflator.d.ts +61 -0
  131. package/esm/types/contracts/IOpInflator.js +80 -0
  132. package/esm/types/contracts/IOpInflator.js.map +1 -0
  133. package/esm/types/contracts/IPaymaster.d.ts +3 -0
  134. package/esm/types/contracts/IPaymaster.js +117 -0
  135. package/esm/types/contracts/IPaymaster.js.map +1 -0
  136. package/esm/types/contracts/Inflator.d.ts +65 -0
  137. package/esm/types/contracts/Inflator.js +84 -0
  138. package/esm/types/contracts/Inflator.js.map +1 -0
  139. package/esm/types/contracts/PerOpInflator.d.ts +176 -0
  140. package/esm/types/contracts/PerOpInflator.js +229 -0
  141. package/esm/types/contracts/PerOpInflator.js.map +1 -0
  142. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +23 -0
  143. package/esm/types/contracts/PimlicoEntryPointSimulations.js +33 -0
  144. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -0
  145. package/esm/types/contracts/SenderCreator.d.ts +4 -0
  146. package/esm/types/contracts/SenderCreator.js +23 -0
  147. package/esm/types/contracts/SenderCreator.js.map +1 -0
  148. package/esm/types/contracts/SimpleAccountFactory.d.ts +57 -0
  149. package/esm/types/contracts/SimpleAccountFactory.js +76 -0
  150. package/esm/types/contracts/SimpleAccountFactory.js.map +1 -0
  151. package/esm/types/contracts/TestOpcodesAccount.d.ts +4 -0
  152. package/esm/types/contracts/TestOpcodesAccount.js +281 -0
  153. package/esm/types/contracts/TestOpcodesAccount.js.map +1 -0
  154. package/esm/types/contracts/TestOpcodesAccountFactory.d.ts +4 -0
  155. package/esm/types/contracts/TestOpcodesAccountFactory.js +23 -0
  156. package/esm/types/contracts/TestOpcodesAccountFactory.js.map +1 -0
  157. package/esm/types/contracts/TestStorageAccount.d.ts +4 -0
  158. package/esm/types/contracts/TestStorageAccount.js +313 -0
  159. package/esm/types/contracts/TestStorageAccount.js.map +1 -0
  160. package/esm/types/contracts/index.d.ts +17 -0
  161. package/esm/types/contracts/index.js +17 -0
  162. package/esm/types/contracts/index.js.map +1 -0
  163. package/esm/types/gasPrice.d.ts +110 -0
  164. package/esm/types/gasPrice.js +52 -0
  165. package/esm/types/gasPrice.js.map +1 -0
  166. package/esm/types/index.d.ts +11 -0
  167. package/esm/types/index.js +11 -0
  168. package/esm/types/index.js.map +1 -0
  169. package/esm/types/interfaces.d.ts +26 -0
  170. package/esm/types/interfaces.js +2 -0
  171. package/esm/types/interfaces.js.map +1 -0
  172. package/esm/types/mempool.d.ts +79 -0
  173. package/esm/types/mempool.js +16 -0
  174. package/esm/types/mempool.js.map +1 -0
  175. package/esm/types/schemas.d.ts +4791 -0
  176. package/esm/types/schemas.js +497 -0
  177. package/esm/types/schemas.js.map +1 -0
  178. package/esm/types/test/validationTestErrors.d.ts +3 -0
  179. package/esm/types/test/validationTestErrors.js +229 -0
  180. package/esm/types/test/validationTestErrors.js.map +1 -0
  181. package/esm/types/utils.d.ts +24 -0
  182. package/esm/types/utils.js +30 -0
  183. package/esm/types/utils.js.map +1 -0
  184. package/esm/types/validation.d.ts +14327 -0
  185. package/esm/types/validation.js +304 -0
  186. package/esm/types/validation.js.map +1 -0
  187. package/esm/utils/bigInt.d.ts +3 -0
  188. package/esm/utils/bigInt.js +9 -0
  189. package/esm/utils/bigInt.js.map +1 -0
  190. package/esm/utils/compressionHandler.d.ts +11 -0
  191. package/esm/utils/compressionHandler.js +39 -0
  192. package/esm/utils/compressionHandler.js.map +1 -0
  193. package/esm/utils/gasPriceManager.d.ts +34 -0
  194. package/esm/utils/gasPriceManager.js +338 -0
  195. package/esm/utils/gasPriceManager.js.map +1 -0
  196. package/esm/utils/helpers.d.ts +4 -0
  197. package/esm/utils/helpers.js +13 -0
  198. package/esm/utils/helpers.js.map +1 -0
  199. package/esm/utils/index.d.ts +11 -0
  200. package/esm/utils/index.js +10 -0
  201. package/esm/utils/index.js.map +1 -0
  202. package/esm/utils/logger.d.ts +6 -0
  203. package/esm/utils/logger.js +76 -0
  204. package/esm/utils/logger.js.map +1 -0
  205. package/esm/utils/metrics.d.ts +22 -0
  206. package/esm/utils/metrics.js +150 -0
  207. package/esm/utils/metrics.js.map +1 -0
  208. package/esm/utils/rpc-reply.d.ts +17 -0
  209. package/esm/utils/rpc-reply.js +41 -0
  210. package/esm/utils/rpc-reply.js.map +1 -0
  211. package/esm/utils/test.d.ts +17 -0
  212. package/esm/utils/test.js +130 -0
  213. package/esm/utils/test.js.map +1 -0
  214. package/esm/utils/userop.d.ts +49 -0
  215. package/esm/utils/userop.js +408 -0
  216. package/esm/utils/userop.js.map +1 -0
  217. package/esm/utils/validation.d.ts +65 -0
  218. package/esm/utils/validation.js +461 -0
  219. package/esm/utils/validation.js.map +1 -0
  220. package/lib/cli/config/bundler.d.ts +12 -0
  221. package/lib/cli/config/bundler.js +3 -1
  222. package/lib/cli/config/bundler.js.map +1 -1
  223. package/lib/cli/config/options.js +12 -0
  224. package/lib/cli/config/options.js.map +1 -1
  225. package/lib/cli/handler.js +25 -1
  226. package/lib/cli/handler.js.map +1 -1
  227. package/lib/cli/setupServer.js +1 -1
  228. package/lib/cli/setupServer.js.map +1 -1
  229. package/lib/executor/executor.d.ts +2 -1
  230. package/lib/executor/executor.js +6 -4
  231. package/lib/executor/executor.js.map +1 -1
  232. package/lib/executor/utils.d.ts +1 -1
  233. package/lib/executor/utils.js +4 -4
  234. package/lib/executor/utils.js.map +1 -1
  235. package/lib/mempool/mempool.js +5 -7
  236. package/lib/mempool/mempool.js.map +1 -1
  237. package/lib/mempool/reputationManager.js +7 -3
  238. package/lib/mempool/reputationManager.js.map +1 -1
  239. package/lib/rpc/EntryPointSimulationsV07.d.ts +5 -1
  240. package/lib/rpc/EntryPointSimulationsV07.js +3 -2
  241. package/lib/rpc/EntryPointSimulationsV07.js.map +1 -1
  242. package/lib/rpc/gasEstimation.js +7 -3
  243. package/lib/rpc/gasEstimation.js.map +1 -1
  244. package/lib/rpc/rpcHandler.js +18 -7
  245. package/lib/rpc/rpcHandler.js.map +1 -1
  246. package/lib/rpc/server.js +4 -0
  247. package/lib/rpc/server.js.map +1 -1
  248. package/lib/rpc/validation/SafeValidator.d.ts +2 -6
  249. package/lib/rpc/validation/SafeValidator.js +48 -205
  250. package/lib/rpc/validation/SafeValidator.js.map +1 -1
  251. package/lib/rpc/validation/TracerResultParserV07.js +6 -2
  252. package/lib/rpc/validation/TracerResultParserV07.js.map +1 -1
  253. package/lib/rpc/validation/UnsafeValidator.d.ts +2 -1
  254. package/lib/rpc/validation/UnsafeValidator.js +45 -68
  255. package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
  256. package/lib/types/contracts/EntryPointSimulations.d.ts +0 -1
  257. package/lib/types/contracts/EntryPointSimulations.js +1942 -3
  258. package/lib/types/contracts/EntryPointSimulations.js.map +1 -1
  259. package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  260. package/lib/types/contracts/PimlicoEntryPointSimulations.js +2 -2
  261. package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  262. package/lib/utils/userop.js +2 -25
  263. package/lib/utils/userop.js.map +1 -1
  264. package/package.json +2 -1
@@ -0,0 +1,304 @@
1
+ import { decodeErrorResult } from "viem";
2
+ import { z } from "zod";
3
+ import { RpcError } from "./index.js";
4
+ import { EntryPointV06Abi } from "./contracts/index.js";
5
+ import { addressSchema } from "./schemas.js";
6
+ // hexnum regex
7
+ const hexPattern = /^0x[0-9a-f]*$/;
8
+ export const signatureValidationFailedSchema = z
9
+ .tuple([addressSchema])
10
+ .transform((val) => {
11
+ return { aggregator: val[0] };
12
+ });
13
+ export const signatureValidationFailedErrorSchema = z.object({
14
+ args: signatureValidationFailedSchema,
15
+ errorName: z.literal("SignatureValidationFailed")
16
+ });
17
+ export const senderAddressResultSchema = z
18
+ .tuple([addressSchema])
19
+ .transform((val) => {
20
+ return {
21
+ sender: val[0]
22
+ };
23
+ });
24
+ export const senderAddressResultErrorSchema = z.object({
25
+ args: senderAddressResultSchema,
26
+ errorName: z.literal("SenderAddressResult")
27
+ });
28
+ export const failedOpSchema = z
29
+ .tuple([z.bigint(), z.string()])
30
+ .transform((val) => {
31
+ return { opIndex: val[0], reason: val[1] };
32
+ });
33
+ export const failedOpErrorSchema = z.object({
34
+ args: failedOpSchema,
35
+ errorName: z.literal("FailedOp")
36
+ });
37
+ export const failedOpWithRevertSchema = z
38
+ .tuple([z.bigint(), z.string(), z.string()])
39
+ .transform((val) => {
40
+ return { opIndex: val[0], reason: val[1], inner: val[2] };
41
+ });
42
+ export const failedOpWithRevertErrorSchema = z.object({
43
+ args: failedOpWithRevertSchema,
44
+ errorName: z.literal("FailedOpWithRevert")
45
+ });
46
+ export const executionResultSchemaV06 = z
47
+ .tuple([
48
+ z.bigint(),
49
+ z.bigint(),
50
+ z.number(),
51
+ z.number(),
52
+ z.boolean(),
53
+ z.string().regex(hexPattern)
54
+ ])
55
+ .transform((val) => {
56
+ return {
57
+ preOpGas: val[0],
58
+ paid: val[1],
59
+ validAfter: val[2],
60
+ validUntil: val[3],
61
+ targetSuccess: val[4],
62
+ targetResult: val[5]
63
+ };
64
+ });
65
+ export const executionResultSchemaV07 = z
66
+ .tuple([
67
+ z.bigint(),
68
+ z.bigint(),
69
+ z.bigint(),
70
+ z.bigint(),
71
+ z.bigint(),
72
+ z.bigint(),
73
+ z.boolean(),
74
+ z.string().regex(hexPattern)
75
+ ])
76
+ .transform((val) => {
77
+ return {
78
+ preOpGas: val[0],
79
+ paid: val[1],
80
+ validationData: val[2],
81
+ paymasterValidationData: val[3],
82
+ paymasterVerificationGasLimit: val[4],
83
+ paymasterPostOpGasLimit: val[5],
84
+ targetSuccess: val[6],
85
+ targetResult: val[7]
86
+ };
87
+ });
88
+ export const executionResultSchema = z.union([
89
+ executionResultSchemaV06,
90
+ executionResultSchemaV07
91
+ ]);
92
+ export const targetCallResultSchema = z.object({
93
+ gasUsed: z.bigint(),
94
+ success: z.boolean(),
95
+ returnData: z
96
+ .string()
97
+ .regex(hexPattern)
98
+ .transform((val) => val)
99
+ });
100
+ export const executionResultErrorSchema = z.object({
101
+ args: executionResultSchema,
102
+ errorName: z.literal("ExecutionResult")
103
+ });
104
+ const stakeInfoSchema = z.object({
105
+ addr: z.string().optional(),
106
+ stake: z.bigint(),
107
+ unstakeDelaySec: z.bigint()
108
+ });
109
+ export const validationResultSchemaV06 = z
110
+ .tuple([
111
+ z.object({
112
+ preOpGas: z.bigint(),
113
+ prefund: z.bigint(),
114
+ sigFailed: z.boolean(),
115
+ validAfter: z.number(),
116
+ validUntil: z.number(),
117
+ paymasterContext: z
118
+ .string()
119
+ .regex(hexPattern)
120
+ .transform((val) => val)
121
+ }),
122
+ stakeInfoSchema,
123
+ stakeInfoSchema.optional(),
124
+ stakeInfoSchema.optional()
125
+ ])
126
+ .transform((val) => {
127
+ return {
128
+ returnInfo: val[0],
129
+ senderInfo: val[1],
130
+ factoryInfo: val[2],
131
+ paymasterInfo: val[3]
132
+ };
133
+ });
134
+ export const validationResultSchemaV07 = z
135
+ .tuple([
136
+ z.object({
137
+ preOpGas: z.bigint(),
138
+ prefund: z.bigint(),
139
+ accountValidationData: z.bigint(),
140
+ paymasterValidationData: z.bigint(),
141
+ accountSigFailed: z.boolean().optional(),
142
+ paymasterSigFailed: z.boolean().optional(),
143
+ validAfter: z.number().optional(),
144
+ validUntil: z.number().optional(),
145
+ paymasterContext: z
146
+ .string()
147
+ .regex(hexPattern)
148
+ .transform((val) => val)
149
+ }),
150
+ stakeInfoSchema,
151
+ stakeInfoSchema.optional(),
152
+ stakeInfoSchema.optional()
153
+ ])
154
+ .transform((val) => {
155
+ return {
156
+ returnInfo: val[0],
157
+ senderInfo: val[1],
158
+ factoryInfo: val[2],
159
+ paymasterInfo: val[3]
160
+ };
161
+ });
162
+ export const validationResultSchema = z.union([
163
+ validationResultSchemaV06,
164
+ validationResultSchemaV07
165
+ ]);
166
+ export const validationResultErrorSchema = z.object({
167
+ args: validationResultSchema,
168
+ errorName: z.literal("ValidationResult")
169
+ });
170
+ export const validationResultWithAggregationSchemaV06 = z
171
+ .tuple([
172
+ z.object({
173
+ preOpGas: z.bigint(),
174
+ prefund: z.bigint(),
175
+ sigFailed: z.boolean(),
176
+ validAfter: z.number(),
177
+ validUntil: z.number(),
178
+ paymasterContext: z
179
+ .string()
180
+ .regex(hexPattern)
181
+ .transform((val) => val)
182
+ }),
183
+ stakeInfoSchema,
184
+ stakeInfoSchema.optional(),
185
+ stakeInfoSchema.optional(),
186
+ z
187
+ .object({
188
+ aggregator: addressSchema,
189
+ stakeInfo: stakeInfoSchema
190
+ })
191
+ .optional()
192
+ ])
193
+ .transform((val) => {
194
+ return {
195
+ returnInfo: val[0],
196
+ senderInfo: val[1],
197
+ factoryInfo: val[2],
198
+ paymasterInfo: val[3],
199
+ aggregatorInfo: val[4]
200
+ };
201
+ });
202
+ export const validationResultWithAggregationSchemaV07 = z
203
+ .tuple([
204
+ z.object({
205
+ preOpGas: z.bigint(),
206
+ prefund: z.bigint(),
207
+ accountValidationData: z.bigint(),
208
+ paymasterValidationData: z.bigint(),
209
+ accountSigFailed: z.boolean().optional(),
210
+ paymasterSigFailed: z.boolean().optional(),
211
+ validAfter: z.number().optional(),
212
+ validUntil: z.number().optional(),
213
+ paymasterContext: z
214
+ .string()
215
+ .regex(hexPattern)
216
+ .transform((val) => val)
217
+ }),
218
+ stakeInfoSchema,
219
+ stakeInfoSchema.optional(),
220
+ stakeInfoSchema.optional(),
221
+ z
222
+ .object({
223
+ aggregator: addressSchema,
224
+ stakeInfo: stakeInfoSchema
225
+ })
226
+ .optional()
227
+ ])
228
+ .transform((val) => {
229
+ return {
230
+ returnInfo: val[0],
231
+ senderInfo: val[1],
232
+ factoryInfo: val[2],
233
+ paymasterInfo: val[3],
234
+ aggregatorInfo: val[4]
235
+ };
236
+ });
237
+ export const validationResultWithAggregationSchema = z.union([
238
+ validationResultWithAggregationSchemaV06,
239
+ validationResultWithAggregationSchemaV07
240
+ ]);
241
+ export const validationResultWithAggregationErrorSchema = z.object({
242
+ args: validationResultWithAggregationSchema,
243
+ errorName: z.literal("ValidationResultWithAggregation")
244
+ });
245
+ export const entryPointErrorsSchema = z.discriminatedUnion("errorName", [
246
+ validationResultErrorSchema,
247
+ executionResultErrorSchema,
248
+ failedOpErrorSchema,
249
+ senderAddressResultErrorSchema,
250
+ signatureValidationFailedErrorSchema,
251
+ validationResultWithAggregationErrorSchema
252
+ ]);
253
+ export const errorCauseSchema = z.object({
254
+ name: z.literal("ContractFunctionRevertedError"),
255
+ data: entryPointErrorsSchema
256
+ });
257
+ export const vmExecutionError = z.object({
258
+ name: z.literal("CallExecutionError"),
259
+ cause: z.object({
260
+ name: z.literal("RpcRequestError"),
261
+ cause: z.object({
262
+ data: z.string().transform((val) => {
263
+ const errorHexData = val.split("Reverted ")[1];
264
+ if (errorHexData === "0x" || errorHexData === undefined) {
265
+ throw new RpcError(`User operation reverted on-chain with unknown error (some chains don't return revert reason) ${val}`);
266
+ }
267
+ const errorResult = decodeErrorResult({
268
+ abi: EntryPointV06Abi,
269
+ data: errorHexData
270
+ });
271
+ return entryPointErrorsSchema.parse(errorResult);
272
+ })
273
+ })
274
+ })
275
+ });
276
+ export const entryPointExecutionErrorSchemaV06 = z
277
+ .object({
278
+ name: z.literal("ContractFunctionExecutionError"),
279
+ cause: z.discriminatedUnion("name", [
280
+ errorCauseSchema,
281
+ vmExecutionError
282
+ ])
283
+ })
284
+ .transform((val) => {
285
+ if (val.cause.name === "CallExecutionError") {
286
+ return val.cause.cause.cause.data;
287
+ }
288
+ return val.cause.data;
289
+ });
290
+ export const entryPointExecutionErrorSchemaV07 = z
291
+ .object({
292
+ name: z.literal("ContractFunctionExecutionError"),
293
+ cause: z.discriminatedUnion("name", [
294
+ errorCauseSchema,
295
+ vmExecutionError
296
+ ])
297
+ })
298
+ .transform((val) => {
299
+ if (val.cause.name === "CallExecutionError") {
300
+ return val.cause.cause.cause.data;
301
+ }
302
+ return val.cause.data;
303
+ });
304
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../types/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const minBigInt: (a: bigint, b: bigint) => bigint;
2
+ export declare const maxBigInt: (a: bigint, b: bigint) => bigint;
3
+ //# sourceMappingURL=bigInt.d.ts.map
@@ -0,0 +1,9 @@
1
+ /// Resturns the bigger of two BigInts.
2
+ export const minBigInt = (a, b) => {
3
+ return a < b ? a : b;
4
+ };
5
+ /// Returns the smaller of two BigInts.
6
+ export const maxBigInt = (a, b) => {
7
+ return a > b ? a : b;
8
+ };
9
+ //# sourceMappingURL=bigInt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bigInt.js","sourceRoot":"","sources":["../../utils/bigInt.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,uCAAuC;AACvC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACxB,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { type Address } from "../types/index.js";
2
+ import { type Client, type PublicClient } from "viem";
3
+ export declare class CompressionHandler {
4
+ bundleBulkerAddress: Address;
5
+ perOpInflatorAddress: Address;
6
+ perOpInflatorId: number;
7
+ private constructor();
8
+ static createAsync: (bundleBulkerAddress: Address, perOpInflatorAddress: Address, publicClient: PublicClient) => Promise<CompressionHandler>;
9
+ getInflatorRegisteredId(inflator: Address, publicClient: Client): Promise<number>;
10
+ }
11
+ //# sourceMappingURL=compressionHandler.d.ts.map
@@ -0,0 +1,39 @@
1
+ import { BundleBulkerAbi, PerOpInflatorAbi } from "../types/index.js";
2
+ import { getContract } from "viem";
3
+ export class CompressionHandler {
4
+ bundleBulkerAddress;
5
+ perOpInflatorAddress;
6
+ perOpInflatorId;
7
+ constructor(bundleBulkerAddress, perOpInflatorAddress, perOpInflatorId) {
8
+ this.bundleBulkerAddress = bundleBulkerAddress;
9
+ this.perOpInflatorAddress = perOpInflatorAddress;
10
+ this.perOpInflatorId = perOpInflatorId;
11
+ }
12
+ static createAsync = async (bundleBulkerAddress, perOpInflatorAddress, publicClient) => {
13
+ const compressionHandler = new CompressionHandler(bundleBulkerAddress, perOpInflatorAddress, 0);
14
+ const bundleBulker = getContract({
15
+ address: bundleBulkerAddress,
16
+ abi: BundleBulkerAbi,
17
+ client: {
18
+ public: publicClient
19
+ }
20
+ });
21
+ compressionHandler.perOpInflatorId =
22
+ await bundleBulker.read.inflatorToID([perOpInflatorAddress]);
23
+ if (compressionHandler.perOpInflatorId === 0) {
24
+ throw new Error(`PerOpInflator (${perOpInflatorAddress}) is not registered with BundleBulker (${bundleBulkerAddress})`);
25
+ }
26
+ return compressionHandler;
27
+ };
28
+ async getInflatorRegisteredId(inflator, publicClient) {
29
+ const perOpInflator = getContract({
30
+ address: this.perOpInflatorAddress,
31
+ abi: PerOpInflatorAbi,
32
+ client: {
33
+ public: publicClient
34
+ }
35
+ });
36
+ return await perOpInflator.read.inflatorToID([inflator]);
37
+ }
38
+ }
39
+ //# sourceMappingURL=compressionHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compressionHandler.js","sourceRoot":"","sources":["../../utils/compressionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,EAAkC,WAAW,EAAE,MAAM,MAAM,CAAA;AAElE,MAAM,OAAO,kBAAkB;IAC3B,mBAAmB,CAAS;IAC5B,oBAAoB,CAAS;IAC7B,eAAe,CAAQ;IAEvB,YACI,mBAA4B,EAC5B,oBAA6B,EAC7B,eAAuB;QAEvB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAC9C,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;QAChD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IAC1C,CAAC;IAEM,MAAM,CAAC,WAAW,GAAG,KAAK,EAC7B,mBAA4B,EAC5B,oBAA6B,EAC7B,YAA0B,EAC5B,EAAE;QACA,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAC7C,mBAAmB,EACnB,oBAAoB,EACpB,CAAC,CACJ,CAAA;QAED,MAAM,YAAY,GAAG,WAAW,CAAC;YAC7B,OAAO,EAAE,mBAAmB;YAC5B,GAAG,EAAE,eAAe;YACpB,MAAM,EAAE;gBACJ,MAAM,EAAE,YAAY;aACvB;SACJ,CAAC,CAAA;QAEF,kBAAkB,CAAC,eAAe;YAC9B,MAAM,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAEhE,IAAI,kBAAkB,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACX,kBAAkB,oBAAoB,0CAA0C,mBAAmB,GAAG,CACzG,CAAA;QACL,CAAC;QAED,OAAO,kBAAkB,CAAA;IAC7B,CAAC,CAAA;IAEM,KAAK,CAAC,uBAAuB,CAChC,QAAiB,EACjB,YAAoB;QAEpB,MAAM,aAAa,GAAG,WAAW,CAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,oBAAoB;YAClC,GAAG,EAAE,gBAAgB;YACrB,MAAM,EAAE;gBACJ,MAAM,EAAE,YAAY;aACvB;SACJ,CAAC,CAAA;QAEF,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC5D,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { type GasPriceParameters } from "../types/index.js";
2
+ import { type Logger } from "./index.js";
3
+ import { type Chain, type PublicClient } from "viem";
4
+ export declare class GasPriceManager {
5
+ private chain;
6
+ private publicClient;
7
+ private legacyTransactions;
8
+ private logger;
9
+ private queueBaseFeePerGas;
10
+ private queueMaxFeePerGas;
11
+ private queueMaxPriorityFeePerGas;
12
+ private maxQueueSize;
13
+ private gasBumpMultiplier;
14
+ constructor(chain: Chain, publicClient: PublicClient, legacyTransactions: boolean, logger: Logger, gasBumpMultiplier: bigint, gasPriceTimeValidityInSeconds?: number);
15
+ private getDefaultGasFee;
16
+ private getPolygonGasPriceParameters;
17
+ private bumpTheGasPrice;
18
+ private getFallBackMaxPriorityFeePerGas;
19
+ private getNextBaseFee;
20
+ private getLegacyTransactionGasPrice;
21
+ private estimateGasPrice;
22
+ private saveBaseFeePerGas;
23
+ private saveMaxFeePerGas;
24
+ private saveMaxPriorityFeePerGas;
25
+ private saveGasPrice;
26
+ private innerGetGasPrice;
27
+ getBaseFee(): Promise<bigint>;
28
+ getGasPrice(): Promise<GasPriceParameters>;
29
+ getMaxBaseFeePerGas(): Promise<bigint>;
30
+ private getMinMaxFeePerGas;
31
+ private getMinMaxPriorityFeePerGas;
32
+ validateGasPrice(gasPrice: GasPriceParameters): Promise<void>;
33
+ }
34
+ //# sourceMappingURL=gasPriceManager.d.ts.map