@pimlico/alto 0.0.0-main.20240607T034324 → 0.0.0-staging.20240606T093925

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 (238) hide show
  1. package/lib/cli/index.d.ts +0 -1
  2. package/lib/cli/index.js +0 -1
  3. package/lib/cli/index.js.map +1 -1
  4. package/lib/executor/executor.js +0 -6
  5. package/lib/executor/executor.js.map +1 -1
  6. package/lib/executor/executorManager.js +0 -1
  7. package/lib/executor/executorManager.js.map +1 -1
  8. package/lib/executor/utils.js +1 -3
  9. package/lib/executor/utils.js.map +1 -1
  10. package/lib/index.d.ts +5 -1
  11. package/lib/index.js +120 -1
  12. package/lib/index.js.map +1 -1
  13. package/lib/rpc/server.js +1 -2
  14. package/lib/rpc/server.js.map +1 -1
  15. package/lib/types/mempool.d.ts +1 -2
  16. package/package.json +67 -70
  17. package/esm/cli/alto.d.ts +0 -6
  18. package/esm/cli/alto.js +0 -92
  19. package/esm/cli/alto.js.map +0 -1
  20. package/esm/cli/config/bundler.d.ts +0 -391
  21. package/esm/cli/config/bundler.js +0 -132
  22. package/esm/cli/config/bundler.js.map +0 -1
  23. package/esm/cli/config/index.d.ts +0 -3
  24. package/esm/cli/config/index.js +0 -3
  25. package/esm/cli/config/index.js.map +0 -1
  26. package/esm/cli/config/options.d.ts +0 -11
  27. package/esm/cli/config/options.js +0 -336
  28. package/esm/cli/config/options.js.map +0 -1
  29. package/esm/cli/customTransport.d.ts +0 -14
  30. package/esm/cli/customTransport.js +0 -53
  31. package/esm/cli/customTransport.js.map +0 -1
  32. package/esm/cli/handler.d.ts +0 -3
  33. package/esm/cli/handler.js +0 -116
  34. package/esm/cli/handler.js.map +0 -1
  35. package/esm/cli/index.d.ts +0 -4
  36. package/esm/cli/index.js +0 -4
  37. package/esm/cli/index.js.map +0 -1
  38. package/esm/cli/instrumentation.d.ts +0 -2
  39. package/esm/cli/instrumentation.js +0 -39
  40. package/esm/cli/instrumentation.js.map +0 -1
  41. package/esm/cli/setupServer.d.ts +0 -17
  42. package/esm/cli/setupServer.js +0 -155
  43. package/esm/cli/setupServer.js.map +0 -1
  44. package/esm/cli/util.d.ts +0 -22
  45. package/esm/cli/util.js +0 -30
  46. package/esm/cli/util.js.map +0 -1
  47. package/esm/executor/executor.d.ts +0 -54
  48. package/esm/executor/executor.js +0 -643
  49. package/esm/executor/executor.js.map +0 -1
  50. package/esm/executor/executorManager.d.ts +0 -34
  51. package/esm/executor/executorManager.js +0 -402
  52. package/esm/executor/executorManager.js.map +0 -1
  53. package/esm/executor/index.d.ts +0 -5
  54. package/esm/executor/index.js +0 -5
  55. package/esm/executor/index.js.map +0 -1
  56. package/esm/executor/senderManager.d.ts +0 -17
  57. package/esm/executor/senderManager.js +0 -160
  58. package/esm/executor/senderManager.js.map +0 -1
  59. package/esm/executor/test/utils.d.ts +0 -13
  60. package/esm/executor/test/utils.js +0 -75
  61. package/esm/executor/test/utils.js.map +0 -1
  62. package/esm/executor/utils.d.ts +0 -32
  63. package/esm/executor/utils.js +0 -241
  64. package/esm/executor/utils.js.map +0 -1
  65. package/esm/index.d.ts +0 -2
  66. package/esm/index.js +0 -2
  67. package/esm/index.js.map +0 -1
  68. package/esm/mempool/index.d.ts +0 -5
  69. package/esm/mempool/index.js +0 -5
  70. package/esm/mempool/index.js.map +0 -1
  71. package/esm/mempool/mempool.d.ts +0 -64
  72. package/esm/mempool/mempool.js +0 -489
  73. package/esm/mempool/mempool.js.map +0 -1
  74. package/esm/mempool/monitoring.d.ts +0 -10
  75. package/esm/mempool/monitoring.js +0 -34
  76. package/esm/mempool/monitoring.js.map +0 -1
  77. package/esm/mempool/nullMempool.d.ts +0 -15
  78. package/esm/mempool/nullMempool.js +0 -36
  79. package/esm/mempool/nullMempool.js.map +0 -1
  80. package/esm/mempool/reputationManager.d.ts +0 -115
  81. package/esm/mempool/reputationManager.js +0 -397
  82. package/esm/mempool/reputationManager.js.map +0 -1
  83. package/esm/mempool/store.d.ts +0 -22
  84. package/esm/mempool/store.js +0 -123
  85. package/esm/mempool/store.js.map +0 -1
  86. package/esm/rpc/EntryPointSimulationsV07.d.ts +0 -58
  87. package/esm/rpc/EntryPointSimulationsV07.js +0 -407
  88. package/esm/rpc/EntryPointSimulationsV07.js.map +0 -1
  89. package/esm/rpc/ExecuteSimulator.d.ts +0 -37
  90. package/esm/rpc/ExecuteSimulator.js +0 -48
  91. package/esm/rpc/ExecuteSimulator.js.map +0 -1
  92. package/esm/rpc/gasEstimation.d.ts +0 -17
  93. package/esm/rpc/gasEstimation.js +0 -410
  94. package/esm/rpc/gasEstimation.js.map +0 -1
  95. package/esm/rpc/index.d.ts +0 -5
  96. package/esm/rpc/index.js +0 -5
  97. package/esm/rpc/index.js.map +0 -1
  98. package/esm/rpc/nonceQueuer.d.ts +0 -25
  99. package/esm/rpc/nonceQueuer.js +0 -135
  100. package/esm/rpc/nonceQueuer.js.map +0 -1
  101. package/esm/rpc/rpcHandler.d.ts +0 -64
  102. package/esm/rpc/rpcHandler.js +0 -727
  103. package/esm/rpc/rpcHandler.js.map +0 -1
  104. package/esm/rpc/server.d.ts +0 -31
  105. package/esm/rpc/server.js +0 -239
  106. package/esm/rpc/server.js.map +0 -1
  107. package/esm/rpc/validation/BundlerCollectorTracerV06.d.ts +0 -102
  108. package/esm/rpc/validation/BundlerCollectorTracerV06.js +0 -255
  109. package/esm/rpc/validation/BundlerCollectorTracerV06.js.map +0 -1
  110. package/esm/rpc/validation/BundlerCollectorTracerV07.d.ts +0 -102
  111. package/esm/rpc/validation/BundlerCollectorTracerV07.js +0 -254
  112. package/esm/rpc/validation/BundlerCollectorTracerV07.js.map +0 -1
  113. package/esm/rpc/validation/SafeValidator.d.ts +0 -35
  114. package/esm/rpc/validation/SafeValidator.js +0 -487
  115. package/esm/rpc/validation/SafeValidator.js.map +0 -1
  116. package/esm/rpc/validation/TracerResultParserV06.d.ts +0 -13
  117. package/esm/rpc/validation/TracerResultParserV06.js +0 -578
  118. package/esm/rpc/validation/TracerResultParserV06.js.map +0 -1
  119. package/esm/rpc/validation/TracerResultParserV07.d.ts +0 -33
  120. package/esm/rpc/validation/TracerResultParserV07.js +0 -557
  121. package/esm/rpc/validation/TracerResultParserV07.js.map +0 -1
  122. package/esm/rpc/validation/UnsafeValidator.d.ts +0 -63
  123. package/esm/rpc/validation/UnsafeValidator.js +0 -257
  124. package/esm/rpc/validation/UnsafeValidator.js.map +0 -1
  125. package/esm/rpc/validation/index.d.ts +0 -3
  126. package/esm/rpc/validation/index.js +0 -3
  127. package/esm/rpc/validation/index.js.map +0 -1
  128. package/esm/rpc/validation/tracer.d.ts +0 -122
  129. package/esm/rpc/validation/tracer.js +0 -82
  130. package/esm/rpc/validation/tracer.js.map +0 -1
  131. package/esm/types/contracts/BundleBulker.d.ts +0 -120
  132. package/esm/types/contracts/BundleBulker.js +0 -157
  133. package/esm/types/contracts/BundleBulker.js.map +0 -1
  134. package/esm/types/contracts/CallEngine.d.ts +0 -28
  135. package/esm/types/contracts/CallEngine.js +0 -37
  136. package/esm/types/contracts/CallEngine.js.map +0 -1
  137. package/esm/types/contracts/CodeHashGetter.d.ts +0 -37
  138. package/esm/types/contracts/CodeHashGetter.js +0 -45
  139. package/esm/types/contracts/CodeHashGetter.js.map +0 -1
  140. package/esm/types/contracts/EntryPoint.d.ts +0 -1789
  141. package/esm/types/contracts/EntryPoint.js +0 -2304
  142. package/esm/types/contracts/EntryPoint.js.map +0 -1
  143. package/esm/types/contracts/EntryPointSimulations.d.ts +0 -153
  144. package/esm/types/contracts/EntryPointSimulations.js +0 -15
  145. package/esm/types/contracts/EntryPointSimulations.js.map +0 -1
  146. package/esm/types/contracts/IOpInflator.d.ts +0 -61
  147. package/esm/types/contracts/IOpInflator.js +0 -80
  148. package/esm/types/contracts/IOpInflator.js.map +0 -1
  149. package/esm/types/contracts/IPaymaster.d.ts +0 -3
  150. package/esm/types/contracts/IPaymaster.js +0 -117
  151. package/esm/types/contracts/IPaymaster.js.map +0 -1
  152. package/esm/types/contracts/Inflator.d.ts +0 -65
  153. package/esm/types/contracts/Inflator.js +0 -84
  154. package/esm/types/contracts/Inflator.js.map +0 -1
  155. package/esm/types/contracts/PerOpInflator.d.ts +0 -176
  156. package/esm/types/contracts/PerOpInflator.js +0 -229
  157. package/esm/types/contracts/PerOpInflator.js.map +0 -1
  158. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -23
  159. package/esm/types/contracts/PimlicoEntryPointSimulations.js +0 -33
  160. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
  161. package/esm/types/contracts/SenderCreator.d.ts +0 -4
  162. package/esm/types/contracts/SenderCreator.js +0 -23
  163. package/esm/types/contracts/SenderCreator.js.map +0 -1
  164. package/esm/types/contracts/SimpleAccountFactory.d.ts +0 -57
  165. package/esm/types/contracts/SimpleAccountFactory.js +0 -76
  166. package/esm/types/contracts/SimpleAccountFactory.js.map +0 -1
  167. package/esm/types/contracts/TestOpcodesAccount.d.ts +0 -4
  168. package/esm/types/contracts/TestOpcodesAccount.js +0 -281
  169. package/esm/types/contracts/TestOpcodesAccount.js.map +0 -1
  170. package/esm/types/contracts/TestOpcodesAccountFactory.d.ts +0 -4
  171. package/esm/types/contracts/TestOpcodesAccountFactory.js +0 -23
  172. package/esm/types/contracts/TestOpcodesAccountFactory.js.map +0 -1
  173. package/esm/types/contracts/TestStorageAccount.d.ts +0 -4
  174. package/esm/types/contracts/TestStorageAccount.js +0 -313
  175. package/esm/types/contracts/TestStorageAccount.js.map +0 -1
  176. package/esm/types/contracts/index.d.ts +0 -17
  177. package/esm/types/contracts/index.js +0 -17
  178. package/esm/types/contracts/index.js.map +0 -1
  179. package/esm/types/gasPrice.d.ts +0 -110
  180. package/esm/types/gasPrice.js +0 -52
  181. package/esm/types/gasPrice.js.map +0 -1
  182. package/esm/types/index.d.ts +0 -11
  183. package/esm/types/index.js +0 -11
  184. package/esm/types/index.js.map +0 -1
  185. package/esm/types/interfaces.d.ts +0 -26
  186. package/esm/types/interfaces.js +0 -2
  187. package/esm/types/interfaces.js.map +0 -1
  188. package/esm/types/mempool.d.ts +0 -79
  189. package/esm/types/mempool.js +0 -16
  190. package/esm/types/mempool.js.map +0 -1
  191. package/esm/types/schemas.d.ts +0 -4791
  192. package/esm/types/schemas.js +0 -497
  193. package/esm/types/schemas.js.map +0 -1
  194. package/esm/types/test/validationTestErrors.d.ts +0 -3
  195. package/esm/types/test/validationTestErrors.js +0 -229
  196. package/esm/types/test/validationTestErrors.js.map +0 -1
  197. package/esm/types/utils.d.ts +0 -24
  198. package/esm/types/utils.js +0 -30
  199. package/esm/types/utils.js.map +0 -1
  200. package/esm/types/validation.d.ts +0 -14327
  201. package/esm/types/validation.js +0 -304
  202. package/esm/types/validation.js.map +0 -1
  203. package/esm/utils/bigInt.d.ts +0 -3
  204. package/esm/utils/bigInt.js +0 -9
  205. package/esm/utils/bigInt.js.map +0 -1
  206. package/esm/utils/compressionHandler.d.ts +0 -11
  207. package/esm/utils/compressionHandler.js +0 -39
  208. package/esm/utils/compressionHandler.js.map +0 -1
  209. package/esm/utils/gasPriceManager.d.ts +0 -34
  210. package/esm/utils/gasPriceManager.js +0 -338
  211. package/esm/utils/gasPriceManager.js.map +0 -1
  212. package/esm/utils/helpers.d.ts +0 -4
  213. package/esm/utils/helpers.js +0 -13
  214. package/esm/utils/helpers.js.map +0 -1
  215. package/esm/utils/index.d.ts +0 -11
  216. package/esm/utils/index.js +0 -10
  217. package/esm/utils/index.js.map +0 -1
  218. package/esm/utils/logger.d.ts +0 -6
  219. package/esm/utils/logger.js +0 -76
  220. package/esm/utils/logger.js.map +0 -1
  221. package/esm/utils/metrics.d.ts +0 -22
  222. package/esm/utils/metrics.js +0 -150
  223. package/esm/utils/metrics.js.map +0 -1
  224. package/esm/utils/rpc-reply.d.ts +0 -17
  225. package/esm/utils/rpc-reply.js +0 -41
  226. package/esm/utils/rpc-reply.js.map +0 -1
  227. package/esm/utils/test.d.ts +0 -17
  228. package/esm/utils/test.js +0 -130
  229. package/esm/utils/test.js.map +0 -1
  230. package/esm/utils/userop.d.ts +0 -49
  231. package/esm/utils/userop.js +0 -408
  232. package/esm/utils/userop.js.map +0 -1
  233. package/esm/utils/validation.d.ts +0 -65
  234. package/esm/utils/validation.js +0 -461
  235. package/esm/utils/validation.js.map +0 -1
  236. package/lib/cli/alto.d.ts +0 -6
  237. package/lib/cli/alto.js +0 -123
  238. package/lib/cli/alto.js.map +0 -1
@@ -1,461 +0,0 @@
1
- import { EntryPointV06Abi, EntryPointV07Abi } from "../types/index.js";
2
- import { ContractFunctionExecutionError, ContractFunctionRevertedError, EstimateGasExecutionError, FeeCapTooLowError, InsufficientFundsError, IntrinsicGasTooLowError, NonceTooLowError, TransactionExecutionError, bytesToHex, concat, encodeAbiParameters, getAbiItem, getContract, serializeTransaction, toBytes, toFunctionSelector } from "viem";
3
- import * as chains from "viem/chains";
4
- import { isVersion06, toPackedUserOperation } from "./userop.js";
5
- import { minBigInt } from "./bigInt.js";
6
- export const DefaultGasOverheads = {
7
- fixed: 21000,
8
- perUserOp: 18300,
9
- perUserOpWord: 4,
10
- zeroByte: 4,
11
- nonZeroByte: 16,
12
- bundleSize: 1,
13
- sigSize: 65
14
- };
15
- /**
16
- * pack the userOperation
17
- * @param op
18
- * "false" to pack entire UserOp, for calculating the calldata cost of putting it on-chain.
19
- */
20
- export function packUserOpV06(op) {
21
- return encodeAbiParameters([
22
- {
23
- internalType: "address",
24
- name: "sender",
25
- type: "address"
26
- },
27
- {
28
- internalType: "uint256",
29
- name: "nonce",
30
- type: "uint256"
31
- },
32
- {
33
- internalType: "bytes",
34
- name: "initCode",
35
- type: "bytes"
36
- },
37
- {
38
- internalType: "bytes",
39
- name: "callData",
40
- type: "bytes"
41
- },
42
- {
43
- internalType: "uint256",
44
- name: "callGasLimit",
45
- type: "uint256"
46
- },
47
- {
48
- internalType: "uint256",
49
- name: "verificationGasLimit",
50
- type: "uint256"
51
- },
52
- {
53
- internalType: "uint256",
54
- name: "preVerificationGas",
55
- type: "uint256"
56
- },
57
- {
58
- internalType: "uint256",
59
- name: "maxFeePerGas",
60
- type: "uint256"
61
- },
62
- {
63
- internalType: "uint256",
64
- name: "maxPriorityFeePerGas",
65
- type: "uint256"
66
- },
67
- {
68
- internalType: "bytes",
69
- name: "paymasterAndData",
70
- type: "bytes"
71
- },
72
- {
73
- internalType: "bytes",
74
- name: "signature",
75
- type: "bytes"
76
- }
77
- ], [
78
- op.sender,
79
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
80
- op.initCode,
81
- op.callData,
82
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
83
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
84
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
85
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
86
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
87
- bytesToHex(new Uint8Array(op.paymasterAndData.length).fill(255)),
88
- bytesToHex(new Uint8Array(op.signature.length).fill(255))
89
- ]);
90
- }
91
- export function removeZeroBytesFromUserOp(userOpearation) {
92
- if (isVersion06(userOpearation)) {
93
- return {
94
- sender: userOpearation.sender,
95
- nonce: userOpearation.nonce,
96
- initCode: userOpearation.initCode,
97
- callData: userOpearation.callData,
98
- callGasLimit: BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
99
- verificationGasLimit: BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
100
- preVerificationGas: BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
101
- maxFeePerGas: BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
102
- maxPriorityFeePerGas: BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
103
- paymasterAndData: bytesToHex(new Uint8Array(userOpearation.paymasterAndData.length).fill(255)),
104
- signature: bytesToHex(new Uint8Array(userOpearation.signature.length).fill(255))
105
- };
106
- }
107
- const packedUserOperation = toPackedUserOperation(userOpearation);
108
- return {
109
- sender: packedUserOperation.sender,
110
- nonce: BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
111
- initCode: packedUserOperation.initCode,
112
- callData: packedUserOperation.callData,
113
- accountGasLimits: bytesToHex(new Uint8Array(32).fill(255)),
114
- preVerificationGas: BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
115
- gasFees: bytesToHex(new Uint8Array(32).fill(255)),
116
- paymasterAndData: bytesToHex(new Uint8Array(packedUserOperation.paymasterAndData.length).fill(255)),
117
- signature: bytesToHex(new Uint8Array(packedUserOperation.signature.length).fill(255))
118
- };
119
- }
120
- export function packUserOpV07(op) {
121
- return encodeAbiParameters([
122
- {
123
- internalType: "address",
124
- name: "sender",
125
- type: "address"
126
- },
127
- {
128
- internalType: "uint256",
129
- name: "nonce",
130
- type: "uint256"
131
- },
132
- {
133
- internalType: "bytes",
134
- name: "initCode",
135
- type: "bytes"
136
- },
137
- {
138
- internalType: "bytes",
139
- name: "callData",
140
- type: "bytes"
141
- },
142
- {
143
- internalType: "uint256",
144
- name: "accountGasLimits",
145
- type: "bytes32"
146
- },
147
- {
148
- internalType: "uint256",
149
- name: "preVerificationGas",
150
- type: "uint256"
151
- },
152
- {
153
- internalType: "uint256",
154
- name: "gasFees",
155
- type: "bytes32"
156
- },
157
- {
158
- internalType: "bytes",
159
- name: "paymasterAndData",
160
- type: "bytes"
161
- },
162
- {
163
- internalType: "bytes",
164
- name: "signature",
165
- type: "bytes"
166
- }
167
- ], [
168
- op.sender,
169
- op.nonce, // need non zero bytes to get better estimations for preVerificationGas
170
- op.initCode,
171
- op.callData,
172
- op.accountGasLimits, // need non zero bytes to get better estimations for preVerificationGas
173
- op.preVerificationGas, // need non zero bytes to get better estimations for preVerificationGas
174
- op.gasFees, // need non zero bytes to get better estimations for preVerificationGas
175
- op.paymasterAndData,
176
- op.signature
177
- ]);
178
- }
179
- export async function calcPreVerificationGas(publicClient, userOperation, entryPoint, chainId, chainType, gasPriceManager, validate, // when calculating preVerificationGas for validation
180
- overheads) {
181
- let preVerificationGas = calcDefaultPreVerificationGas(userOperation, overheads);
182
- if (chainId === 59140) {
183
- // linea sepolia
184
- preVerificationGas *= 2n;
185
- }
186
- else if (chainType === "op-stack") {
187
- preVerificationGas = await calcOptimismPreVerificationGas(publicClient, userOperation, entryPoint, preVerificationGas, gasPriceManager, validate);
188
- }
189
- else if (chainType === "arbitrum") {
190
- preVerificationGas = await calcArbitrumPreVerificationGas(publicClient, userOperation, entryPoint, preVerificationGas);
191
- }
192
- return preVerificationGas;
193
- }
194
- export function calcVerificationGasAndCallGasLimit(userOperation, executionResult, chainId, callDataResult) {
195
- const verificationGasLimit = ((executionResult.preOpGas - userOperation.preVerificationGas) * 3n) /
196
- 2n;
197
- let gasPrice;
198
- if (userOperation.maxPriorityFeePerGas === userOperation.maxFeePerGas) {
199
- gasPrice = userOperation.maxFeePerGas;
200
- }
201
- else {
202
- gasPrice = userOperation.maxFeePerGas;
203
- }
204
- const calculatedCallGasLimit = callDataResult?.gasUsed ??
205
- executionResult.paid / gasPrice - executionResult.preOpGas;
206
- let callGasLimit = (calculatedCallGasLimit > 9000n ? calculatedCallGasLimit : 9000n) +
207
- 21000n +
208
- 50000n;
209
- if (chainId === chains.baseGoerli.id ||
210
- chainId === chains.baseSepolia.id ||
211
- chainId === chains.base.id) {
212
- callGasLimit = (110n * callGasLimit) / 100n;
213
- }
214
- return { verificationGasLimit, callGasLimit };
215
- }
216
- /**
217
- * calculate the preVerificationGas of the given UserOperation
218
- * preVerificationGas (by definition) is the cost overhead that can't be calculated on-chain.
219
- * it is based on parameters that are defined by the Ethereum protocol for external transactions.
220
- * @param userOp filled userOp to calculate. The only possible missing fields can be the signature and preVerificationGas itself
221
- * @param overheads gas overheads to use, to override the default values
222
- */
223
- export function calcDefaultPreVerificationGas(userOperation, overheads) {
224
- const ov = { ...DefaultGasOverheads, ...(overheads ?? {}) };
225
- const p = removeZeroBytesFromUserOp(userOperation);
226
- let packed;
227
- if (isVersion06(userOperation)) {
228
- packed = toBytes(packUserOpV06(p));
229
- }
230
- else {
231
- packed = toBytes(packUserOpV07(p));
232
- }
233
- const lengthInWord = (packed.length + 31) / 32;
234
- const callDataCost = packed
235
- .map((x) => (x === 0 ? ov.zeroByte : ov.nonZeroByte))
236
- .reduce((sum, x) => sum + x);
237
- const ret = Math.round(callDataCost +
238
- ov.fixed / ov.bundleSize +
239
- ov.perUserOp +
240
- ov.perUserOpWord * lengthInWord);
241
- return BigInt(ret);
242
- }
243
- const maxUint64 = 2n ** 64n - 1n;
244
- const getL1FeeAbi = [
245
- {
246
- inputs: [
247
- {
248
- internalType: "bytes",
249
- name: "data",
250
- type: "bytes"
251
- }
252
- ],
253
- name: "getL1Fee",
254
- outputs: [
255
- {
256
- internalType: "uint256",
257
- name: "fee",
258
- type: "uint256"
259
- }
260
- ],
261
- stateMutability: "nonpayable",
262
- type: "function"
263
- },
264
- {
265
- inputs: [],
266
- name: "l1BaseFee",
267
- outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
268
- stateMutability: "view",
269
- type: "function"
270
- }
271
- ];
272
- export async function calcOptimismPreVerificationGas(publicClient, op, entryPoint, staticFee, gasPriceManager, verify) {
273
- let selector;
274
- let paramData;
275
- if (isVersion06(op)) {
276
- const randomDataUserOp = removeZeroBytesFromUserOp(op);
277
- const handleOpsAbi = getAbiItem({
278
- abi: EntryPointV06Abi,
279
- name: "handleOps"
280
- });
281
- selector = toFunctionSelector(handleOpsAbi);
282
- paramData = encodeAbiParameters(handleOpsAbi.inputs, [
283
- [randomDataUserOp],
284
- entryPoint
285
- ]);
286
- }
287
- else {
288
- const randomDataUserOp = removeZeroBytesFromUserOp(op);
289
- const handleOpsAbi = getAbiItem({
290
- abi: EntryPointV07Abi,
291
- name: "handleOps"
292
- });
293
- selector = toFunctionSelector(handleOpsAbi);
294
- paramData = encodeAbiParameters(handleOpsAbi.inputs, [
295
- [randomDataUserOp],
296
- entryPoint
297
- ]);
298
- }
299
- const data = concat([selector, paramData]);
300
- const serializedTx = serializeTransaction({
301
- to: entryPoint,
302
- chainId: publicClient.chain.id,
303
- nonce: 999999,
304
- gasLimit: maxUint64,
305
- gasPrice: maxUint64,
306
- data
307
- }, {
308
- r: "0x123451234512345123451234512345123451234512345123451234512345",
309
- s: "0x123451234512345123451234512345123451234512345123451234512345",
310
- v: 28n
311
- });
312
- const opGasPriceOracle = getContract({
313
- abi: getL1FeeAbi,
314
- address: "0x420000000000000000000000000000000000000F",
315
- client: {
316
- public: publicClient
317
- }
318
- });
319
- const { result: l1Fee } = await opGasPriceOracle.simulate.getL1Fee([
320
- serializedTx
321
- ]);
322
- if (op.maxFeePerGas <= 1n || op.maxPriorityFeePerGas <= 1n) {
323
- // if user didn't provide gasPrice values, fetch current going price rate
324
- const gasPrices = await gasPriceManager.getGasPrice();
325
- op.maxPriorityFeePerGas = gasPrices.maxPriorityFeePerGas;
326
- op.maxFeePerGas = gasPrices.maxFeePerGas;
327
- }
328
- const l2MaxFee = op.maxFeePerGas;
329
- let baseFeePerGas = 0n;
330
- if (verify) {
331
- baseFeePerGas = await gasPriceManager.getMaxBaseFeePerGas();
332
- }
333
- else {
334
- baseFeePerGas = await gasPriceManager.getBaseFee();
335
- }
336
- const l2PriorityFee = baseFeePerGas + op.maxPriorityFeePerGas;
337
- const l2price = minBigInt(l2MaxFee, l2PriorityFee);
338
- return staticFee + l1Fee / l2price;
339
- }
340
- const getArbitrumL1FeeAbi = [
341
- {
342
- inputs: [
343
- {
344
- internalType: "address",
345
- name: "to",
346
- type: "address"
347
- },
348
- {
349
- internalType: "bool",
350
- name: "contractCreation",
351
- type: "bool"
352
- },
353
- {
354
- internalType: "bytes",
355
- name: "data",
356
- type: "bytes"
357
- }
358
- ],
359
- name: "gasEstimateL1Component",
360
- outputs: [
361
- {
362
- internalType: "uint64",
363
- name: "gasEstimateForL1",
364
- type: "uint64"
365
- },
366
- {
367
- internalType: "uint256",
368
- name: "baseFee",
369
- type: "uint256"
370
- },
371
- {
372
- internalType: "uint256",
373
- name: "l1BaseFeeEstimate",
374
- type: "uint256"
375
- }
376
- ],
377
- stateMutability: "nonpayable",
378
- type: "function"
379
- }
380
- ];
381
- export async function calcArbitrumPreVerificationGas(publicClient, op, entryPoint, staticFee) {
382
- let selector;
383
- let paramData;
384
- if (isVersion06(op)) {
385
- const handleOpsAbi = getAbiItem({
386
- abi: EntryPointV06Abi,
387
- name: "handleOps"
388
- });
389
- selector = toFunctionSelector(handleOpsAbi);
390
- paramData = encodeAbiParameters(handleOpsAbi.inputs, [
391
- [removeZeroBytesFromUserOp(op)],
392
- entryPoint
393
- ]);
394
- }
395
- else {
396
- const randomDataUserOp = removeZeroBytesFromUserOp(op);
397
- const handleOpsAbi = getAbiItem({
398
- abi: EntryPointV07Abi,
399
- name: "handleOps"
400
- });
401
- selector = toFunctionSelector(handleOpsAbi);
402
- paramData = encodeAbiParameters(handleOpsAbi.inputs, [
403
- [randomDataUserOp],
404
- entryPoint
405
- ]);
406
- }
407
- const data = concat([selector, paramData]);
408
- const precompileAddress = "0x00000000000000000000000000000000000000C8";
409
- const serializedTx = serializeTransaction({
410
- to: entryPoint,
411
- chainId: publicClient.chain?.id ?? 10,
412
- nonce: 999999,
413
- gasLimit: maxUint64,
414
- gasPrice: maxUint64,
415
- data
416
- }, {
417
- r: "0x123451234512345123451234512345123451234512345123451234512345",
418
- s: "0x123451234512345123451234512345123451234512345123451234512345",
419
- v: 28n
420
- });
421
- const arbGasPriceOracle = getContract({
422
- abi: getArbitrumL1FeeAbi,
423
- address: precompileAddress,
424
- client: {
425
- public: publicClient
426
- }
427
- });
428
- const { result } = await arbGasPriceOracle.simulate.gasEstimateL1Component([
429
- entryPoint,
430
- false,
431
- serializedTx
432
- ]);
433
- return result[0] + staticFee;
434
- }
435
- export function parseViemError(err) {
436
- if (err instanceof ContractFunctionExecutionError ||
437
- err instanceof TransactionExecutionError) {
438
- const e = err.cause;
439
- if (e instanceof NonceTooLowError) {
440
- return e;
441
- }
442
- if (e instanceof FeeCapTooLowError) {
443
- return e;
444
- }
445
- if (e instanceof InsufficientFundsError) {
446
- return e;
447
- }
448
- if (e instanceof IntrinsicGasTooLowError) {
449
- return e;
450
- }
451
- if (e instanceof ContractFunctionRevertedError) {
452
- return e;
453
- }
454
- if (e instanceof EstimateGasExecutionError) {
455
- return e;
456
- }
457
- return;
458
- }
459
- return;
460
- }
461
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../utils/validation.ts"],"names":[],"mappings":"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"}
package/lib/cli/alto.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import yargs from "yargs";
2
- export declare const yarg: yargs.Argv<{}>;
3
- export declare function getAltoCli(): yargs.Argv;
4
- export declare class YargsError extends Error {
5
- }
6
- //# sourceMappingURL=alto.d.ts.map
package/lib/cli/alto.js DELETED
@@ -1,123 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.YargsError = exports.getAltoCli = exports.yarg = void 0;
30
- const sentry = __importStar(require("@sentry/node"));
31
- const dotenv_1 = __importDefault(require("dotenv"));
32
- const yargs_1 = __importDefault(require("yargs"));
33
- const helpers_1 = require("yargs/helpers");
34
- const config_1 = require("./config/index.js");
35
- const util_1 = require("./util.js");
36
- // Load environment variables from .env file
37
- if (process.env.DOTENV_CONFIG_PATH) {
38
- dotenv_1.default.config({ path: process.env.DOTENV_CONFIG_PATH });
39
- }
40
- else {
41
- dotenv_1.default.config();
42
- }
43
- if (process.env.SENTRY_DSN) {
44
- sentry.init({
45
- dsn: process.env.SENTRY_DSN,
46
- // Performance Monitoring
47
- tracesSampleRate: 1.0,
48
- // Set sampling rate for profiling - this is relative to tracesSampleRate
49
- profilesSampleRate: 1.0,
50
- environment: process.env.ENVIRONMENT
51
- });
52
- }
53
- exports.yarg = (0, yargs_1.default)(helpers_1.hideBin(process.argv));
54
- const topBanner = `🏔 Alto: TypeScript ERC-4337 Bundler.
55
- * by Pimlico, 2024`;
56
- const bottomBanner = `📖 For more information, check the our docs:
57
- * https://docs.pimlico.io/
58
- `;
59
- function getAltoCli() {
60
- const alto = exports.yarg
61
- .wrap(null)
62
- .env("ALTO")
63
- .parserConfiguration({
64
- // As of yargs v16.1.0 dot-notation breaks strictOptions()
65
- // Manually processing options is typesafe tho more verbose
66
- "dot-notation": true
67
- })
68
- .options(config_1.bundlerOptions)
69
- .group(Object.keys(config_1.bundlerOptions), "Options:")
70
- .options(config_1.compatibilityOptions)
71
- .group(Object.keys(config_1.compatibilityOptions), "Compatibility Options:")
72
- .options(config_1.serverOptions)
73
- .group(Object.keys(config_1.serverOptions), "Server Options:")
74
- .options(config_1.rpcOptions)
75
- .group(Object.keys(config_1.rpcOptions), "RPC Options:")
76
- .options(config_1.bundleCompressionOptions)
77
- .group(Object.keys(config_1.bundleCompressionOptions), "Bundle Compression Options:")
78
- .options(config_1.logOptions)
79
- .group(Object.keys(config_1.logOptions), "Logging Options:")
80
- .options(config_1.debugOptions)
81
- .group(Object.keys(config_1.debugOptions), "Debug Options:")
82
- // blank scriptName so that help text doesn't display the cli name before each command
83
- .scriptName("")
84
- .demandCommand(1)
85
- .usage(topBanner)
86
- .epilogue(bottomBanner)
87
- // Control show help behaviour below on .fail()
88
- .showHelpOnFail(false)
89
- .alias("h", "help")
90
- .alias("v", "version")
91
- .recommendCommands();
92
- // throw an error if we see an unrecognized cmd
93
- alto.recommendCommands(); //.strict()
94
- alto.config();
95
- // yargs.command and all ./cmds
96
- (0, util_1.registerCommandToYargs)(alto, config_1.bundlerCommand);
97
- return alto;
98
- }
99
- exports.getAltoCli = getAltoCli;
100
- class YargsError extends Error {
101
- }
102
- exports.YargsError = YargsError;
103
- const alto = getAltoCli();
104
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
105
- alto.fail((msg, err) => {
106
- if (msg) {
107
- // Show command help message when no command is provided
108
- if (msg.includes("Not enough non-option arguments")) {
109
- exports.yarg.showHelp();
110
- // eslint-disable-next-line no-console
111
- console.log("\n");
112
- }
113
- }
114
- const errorMessage = err !== undefined
115
- ? err instanceof YargsError
116
- ? err.message
117
- : err.stack
118
- : msg || "Unknown error";
119
- // eslint-disable-next-line no-console
120
- console.error(` × ${errorMessage}\n`);
121
- process.exit(1);
122
- }).parse();
123
- //# sourceMappingURL=alto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alto.js","sourceRoot":"","sources":["../../cli/alto.ts"],"names":[],"mappings":"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"}