@pimlico/alto 0.0.3 → 0.0.5

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 (247) hide show
  1. package/esm/cli/alto.js +0 -4
  2. package/esm/cli/alto.js.map +1 -1
  3. package/esm/cli/config/bundler.d.ts +2302 -22
  4. package/esm/cli/config/bundler.js +32 -4
  5. package/esm/cli/config/bundler.js.map +1 -1
  6. package/esm/cli/config/options.js +59 -4
  7. package/esm/cli/config/options.js.map +1 -1
  8. package/esm/cli/customTransport.js +5 -1
  9. package/esm/cli/customTransport.js.map +1 -1
  10. package/esm/cli/handler.js +39 -4
  11. package/esm/cli/handler.js.map +1 -1
  12. package/esm/cli/instrumentation.js +2 -2
  13. package/esm/cli/instrumentation.js.map +1 -1
  14. package/esm/cli/setupServer.d.ts +2 -1
  15. package/esm/cli/setupServer.js +51 -27
  16. package/esm/cli/setupServer.js.map +1 -1
  17. package/esm/executor/executor.d.ts +7 -14
  18. package/esm/executor/executor.js +139 -128
  19. package/esm/executor/executor.js.map +1 -1
  20. package/esm/executor/executorManager.d.ts +58 -4
  21. package/esm/executor/executorManager.js +206 -52
  22. package/esm/executor/executorManager.js.map +1 -1
  23. package/esm/executor/senderManager.d.ts +2 -1
  24. package/esm/executor/senderManager.js +3 -0
  25. package/esm/executor/senderManager.js.map +1 -1
  26. package/esm/executor/utilityWalletMonitor.d.ts +15 -0
  27. package/esm/executor/utilityWalletMonitor.js +38 -0
  28. package/esm/executor/utilityWalletMonitor.js.map +1 -0
  29. package/esm/executor/utils.d.ts +1 -2
  30. package/esm/executor/utils.js +49 -38
  31. package/esm/executor/utils.js.map +1 -1
  32. package/esm/handlers/compressionHandler.js.map +1 -0
  33. package/esm/handlers/eventManager.d.ts +21 -0
  34. package/esm/handlers/eventManager.js +166 -0
  35. package/esm/handlers/eventManager.js.map +1 -0
  36. package/{lib/utils → esm/handlers}/gasPriceManager.d.ts +19 -5
  37. package/esm/{utils → handlers}/gasPriceManager.js +58 -13
  38. package/esm/handlers/gasPriceManager.js.map +1 -0
  39. package/esm/handlers/index.d.ts +4 -0
  40. package/esm/handlers/index.js +4 -0
  41. package/esm/handlers/index.js.map +1 -0
  42. package/esm/mempool/index.d.ts +0 -1
  43. package/esm/mempool/index.js +0 -1
  44. package/esm/mempool/index.js.map +1 -1
  45. package/esm/mempool/mempool.d.ts +4 -2
  46. package/esm/mempool/mempool.js +70 -26
  47. package/esm/mempool/mempool.js.map +1 -1
  48. package/esm/mempool/reputationManager.js +7 -3
  49. package/esm/mempool/reputationManager.js.map +1 -1
  50. package/esm/rpc/EntryPointSimulationsV07.d.ts +7 -3
  51. package/esm/rpc/EntryPointSimulationsV07.js +12 -9
  52. package/esm/rpc/EntryPointSimulationsV07.js.map +1 -1
  53. package/esm/rpc/gasEstimation.d.ts +3 -3
  54. package/esm/rpc/gasEstimation.js +23 -14
  55. package/esm/rpc/gasEstimation.js.map +1 -1
  56. package/esm/rpc/nonceQueuer.d.ts +4 -1
  57. package/esm/rpc/nonceQueuer.js +9 -3
  58. package/esm/rpc/nonceQueuer.js.map +1 -1
  59. package/esm/rpc/rpcHandler.d.ts +53 -3
  60. package/esm/rpc/rpcHandler.js +150 -238
  61. package/esm/rpc/rpcHandler.js.map +1 -1
  62. package/esm/rpc/server.d.ts +2 -1
  63. package/esm/rpc/server.js +10 -1
  64. package/esm/rpc/server.js.map +1 -1
  65. package/esm/rpc/validation/SafeValidator.d.ts +5 -8
  66. package/esm/rpc/validation/SafeValidator.js +51 -208
  67. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  68. package/esm/rpc/validation/TracerResultParserV07.js +6 -2
  69. package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
  70. package/esm/rpc/validation/UnsafeValidator.d.ts +7 -3
  71. package/esm/rpc/validation/UnsafeValidator.js +52 -48
  72. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  73. package/esm/rpc/validation/tracer.js +1 -0
  74. package/esm/rpc/validation/tracer.js.map +1 -1
  75. package/esm/types/contracts/EntryPointSimulations.d.ts +0 -1
  76. package/esm/types/contracts/EntryPointSimulations.js +1941 -2
  77. package/esm/types/contracts/EntryPointSimulations.js.map +1 -1
  78. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  79. package/esm/types/contracts/PimlicoEntryPointSimulations.js +1 -1
  80. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  81. package/esm/types/schemas.d.ts +1029 -333
  82. package/esm/types/schemas.js +94 -20
  83. package/esm/types/schemas.js.map +1 -1
  84. package/esm/types/utils.d.ts +1 -1
  85. package/esm/types/validation.js +7 -2
  86. package/esm/types/validation.js.map +1 -1
  87. package/esm/utils/bigInt.d.ts +1 -0
  88. package/esm/utils/bigInt.js +4 -0
  89. package/esm/utils/bigInt.js.map +1 -1
  90. package/esm/utils/helpers.d.ts +1 -0
  91. package/esm/utils/helpers.js +6 -0
  92. package/esm/utils/helpers.js.map +1 -1
  93. package/esm/utils/index.d.ts +0 -3
  94. package/esm/utils/index.js +0 -3
  95. package/esm/utils/index.js.map +1 -1
  96. package/esm/utils/metrics.d.ts +4 -0
  97. package/esm/utils/metrics.js +29 -1
  98. package/esm/utils/metrics.js.map +1 -1
  99. package/esm/utils/rpc-reply.d.ts +1 -1
  100. package/esm/utils/rpc-reply.js +2 -1
  101. package/esm/utils/rpc-reply.js.map +1 -1
  102. package/esm/utils/userop.d.ts +66 -6
  103. package/esm/utils/userop.js +182 -95
  104. package/esm/utils/userop.js.map +1 -1
  105. package/esm/utils/validation.d.ts +1 -1
  106. package/esm/utils/validation.js +9 -13
  107. package/esm/utils/validation.js.map +1 -1
  108. package/lib/cli/alto.js +0 -4
  109. package/lib/cli/alto.js.map +1 -1
  110. package/lib/cli/config/bundler.d.ts +2302 -22
  111. package/lib/cli/config/bundler.js +31 -3
  112. package/lib/cli/config/bundler.js.map +1 -1
  113. package/lib/cli/config/options.js +59 -4
  114. package/lib/cli/config/options.js.map +1 -1
  115. package/lib/cli/customTransport.js +5 -1
  116. package/lib/cli/customTransport.js.map +1 -1
  117. package/lib/cli/handler.js +38 -3
  118. package/lib/cli/handler.js.map +1 -1
  119. package/lib/cli/instrumentation.js +2 -2
  120. package/lib/cli/instrumentation.js.map +1 -1
  121. package/lib/cli/setupServer.d.ts +2 -1
  122. package/lib/cli/setupServer.js +52 -28
  123. package/lib/cli/setupServer.js.map +1 -1
  124. package/lib/executor/executor.d.ts +7 -14
  125. package/lib/executor/executor.js +138 -128
  126. package/lib/executor/executor.js.map +1 -1
  127. package/lib/executor/executorManager.d.ts +58 -4
  128. package/lib/executor/executorManager.js +204 -50
  129. package/lib/executor/executorManager.js.map +1 -1
  130. package/lib/executor/senderManager.d.ts +2 -1
  131. package/lib/executor/senderManager.js +3 -0
  132. package/lib/executor/senderManager.js.map +1 -1
  133. package/lib/executor/utilityWalletMonitor.d.ts +15 -0
  134. package/lib/executor/utilityWalletMonitor.js +42 -0
  135. package/lib/executor/utilityWalletMonitor.js.map +1 -0
  136. package/lib/executor/utils.d.ts +1 -2
  137. package/lib/executor/utils.js +48 -37
  138. package/lib/executor/utils.js.map +1 -1
  139. package/lib/handlers/compressionHandler.js.map +1 -0
  140. package/lib/handlers/eventManager.d.ts +21 -0
  141. package/lib/handlers/eventManager.js +196 -0
  142. package/lib/handlers/eventManager.js.map +1 -0
  143. package/{esm/utils → lib/handlers}/gasPriceManager.d.ts +19 -5
  144. package/lib/{utils → handlers}/gasPriceManager.js +58 -13
  145. package/lib/handlers/gasPriceManager.js.map +1 -0
  146. package/lib/handlers/index.d.ts +4 -0
  147. package/lib/handlers/index.js +20 -0
  148. package/lib/handlers/index.js.map +1 -0
  149. package/lib/mempool/index.d.ts +0 -1
  150. package/lib/mempool/index.js +0 -1
  151. package/lib/mempool/index.js.map +1 -1
  152. package/lib/mempool/mempool.d.ts +4 -2
  153. package/lib/mempool/mempool.js +70 -26
  154. package/lib/mempool/mempool.js.map +1 -1
  155. package/lib/mempool/reputationManager.js +7 -3
  156. package/lib/mempool/reputationManager.js.map +1 -1
  157. package/lib/rpc/EntryPointSimulationsV07.d.ts +7 -3
  158. package/lib/rpc/EntryPointSimulationsV07.js +13 -9
  159. package/lib/rpc/EntryPointSimulationsV07.js.map +1 -1
  160. package/lib/rpc/gasEstimation.d.ts +3 -3
  161. package/lib/rpc/gasEstimation.js +23 -14
  162. package/lib/rpc/gasEstimation.js.map +1 -1
  163. package/lib/rpc/nonceQueuer.d.ts +4 -1
  164. package/lib/rpc/nonceQueuer.js +9 -3
  165. package/lib/rpc/nonceQueuer.js.map +1 -1
  166. package/lib/rpc/rpcHandler.d.ts +53 -3
  167. package/lib/rpc/rpcHandler.js +147 -258
  168. package/lib/rpc/rpcHandler.js.map +1 -1
  169. package/lib/rpc/server.d.ts +2 -1
  170. package/lib/rpc/server.js +10 -1
  171. package/lib/rpc/server.js.map +1 -1
  172. package/lib/rpc/validation/SafeValidator.d.ts +5 -8
  173. package/lib/rpc/validation/SafeValidator.js +50 -207
  174. package/lib/rpc/validation/SafeValidator.js.map +1 -1
  175. package/lib/rpc/validation/TracerResultParserV07.js +6 -2
  176. package/lib/rpc/validation/TracerResultParserV07.js.map +1 -1
  177. package/lib/rpc/validation/UnsafeValidator.d.ts +7 -3
  178. package/lib/rpc/validation/UnsafeValidator.js +52 -48
  179. package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
  180. package/lib/rpc/validation/tracer.js +1 -0
  181. package/lib/rpc/validation/tracer.js.map +1 -1
  182. package/lib/types/contracts/EntryPointSimulations.d.ts +0 -1
  183. package/lib/types/contracts/EntryPointSimulations.js +1942 -3
  184. package/lib/types/contracts/EntryPointSimulations.js.map +1 -1
  185. package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  186. package/lib/types/contracts/PimlicoEntryPointSimulations.js +2 -2
  187. package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  188. package/lib/types/schemas.d.ts +1029 -333
  189. package/lib/types/schemas.js +93 -19
  190. package/lib/types/schemas.js.map +1 -1
  191. package/lib/types/utils.d.ts +1 -1
  192. package/lib/types/validation.js +7 -2
  193. package/lib/types/validation.js.map +1 -1
  194. package/lib/utils/bigInt.d.ts +1 -0
  195. package/lib/utils/bigInt.js +6 -1
  196. package/lib/utils/bigInt.js.map +1 -1
  197. package/lib/utils/helpers.d.ts +1 -0
  198. package/lib/utils/helpers.js +8 -1
  199. package/lib/utils/helpers.js.map +1 -1
  200. package/lib/utils/index.d.ts +0 -3
  201. package/lib/utils/index.js +0 -3
  202. package/lib/utils/index.js.map +1 -1
  203. package/lib/utils/metrics.d.ts +4 -0
  204. package/lib/utils/metrics.js +29 -1
  205. package/lib/utils/metrics.js.map +1 -1
  206. package/lib/utils/rpc-reply.d.ts +1 -1
  207. package/lib/utils/rpc-reply.js +2 -1
  208. package/lib/utils/rpc-reply.js.map +1 -1
  209. package/lib/utils/userop.d.ts +66 -6
  210. package/lib/utils/userop.js +184 -95
  211. package/lib/utils/userop.js.map +1 -1
  212. package/lib/utils/validation.d.ts +1 -1
  213. package/lib/utils/validation.js +9 -36
  214. package/lib/utils/validation.js.map +1 -1
  215. package/package.json +16 -14
  216. package/esm/executor/test/utils.d.ts +0 -13
  217. package/esm/executor/test/utils.js +0 -75
  218. package/esm/executor/test/utils.js.map +0 -1
  219. package/esm/mempool/nullMempool.d.ts +0 -15
  220. package/esm/mempool/nullMempool.js +0 -36
  221. package/esm/mempool/nullMempool.js.map +0 -1
  222. package/esm/types/test/validationTestErrors.d.ts +0 -3
  223. package/esm/types/test/validationTestErrors.js +0 -229
  224. package/esm/types/test/validationTestErrors.js.map +0 -1
  225. package/esm/utils/compressionHandler.js.map +0 -1
  226. package/esm/utils/gasPriceManager.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/lib/executor/test/utils.d.ts +0 -13
  231. package/lib/executor/test/utils.js +0 -81
  232. package/lib/executor/test/utils.js.map +0 -1
  233. package/lib/mempool/nullMempool.d.ts +0 -15
  234. package/lib/mempool/nullMempool.js +0 -40
  235. package/lib/mempool/nullMempool.js.map +0 -1
  236. package/lib/types/test/validationTestErrors.d.ts +0 -3
  237. package/lib/types/test/validationTestErrors.js +0 -232
  238. package/lib/types/test/validationTestErrors.js.map +0 -1
  239. package/lib/utils/compressionHandler.js.map +0 -1
  240. package/lib/utils/gasPriceManager.js.map +0 -1
  241. package/lib/utils/test.d.ts +0 -17
  242. package/lib/utils/test.js +0 -161
  243. package/lib/utils/test.js.map +0 -1
  244. /package/esm/{utils → handlers}/compressionHandler.d.ts +0 -0
  245. /package/esm/{utils → handlers}/compressionHandler.js +0 -0
  246. /package/lib/{utils → handlers}/compressionHandler.d.ts +0 -0
  247. /package/lib/{utils → handlers}/compressionHandler.js +0 -0
@@ -10,6 +10,1945 @@ export const EntryPointV06SimulationsAbi = [
10
10
  type: "error"
11
11
  }
12
12
  ];
13
- export const EntryPointV07SimulationsAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "addStake", "inputs": [{ "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "depositTo", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "deposits", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "deposit", "type": "uint256", "internalType": "uint256" }, { "name": "staked", "type": "bool", "internalType": "bool" }, { "name": "stake", "type": "uint112", "internalType": "uint112" }, { "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }, { "name": "withdrawTime", "type": "uint48", "internalType": "uint48" }], "stateMutability": "view" }, { "type": "function", "name": "getDepositInfo", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [{ "name": "info", "type": "tuple", "internalType": "struct IStakeManager.DepositInfo", "components": [{ "name": "deposit", "type": "uint256", "internalType": "uint256" }, { "name": "staked", "type": "bool", "internalType": "bool" }, { "name": "stake", "type": "uint112", "internalType": "uint112" }, { "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }, { "name": "withdrawTime", "type": "uint48", "internalType": "uint48" }] }], "stateMutability": "view" }, { "type": "function", "name": "getNonce", "inputs": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "key", "type": "uint192", "internalType": "uint192" }], "outputs": [{ "name": "nonce", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "getUserOpHash", "inputs": [{ "name": "userOp", "type": "tuple", "internalType": "struct PackedUserOperation", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "incrementNonce", "inputs": [{ "name": "key", "type": "uint192", "internalType": "uint192" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "innerHandleOp", "inputs": [{ "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "opInfo", "type": "tuple", "internalType": "struct EntryPoint.UserOpInfo", "components": [{ "name": "mUserOp", "type": "tuple", "internalType": "struct EntryPoint.MemoryUserOp", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "verificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "callGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterVerificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterPostOpGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "paymaster", "type": "address", "internalType": "address" }, { "name": "maxFeePerGas", "type": "uint256", "internalType": "uint256" }, { "name": "maxPriorityFeePerGas", "type": "uint256", "internalType": "uint256" }] }, { "name": "userOpHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "prefund", "type": "uint256", "internalType": "uint256" }, { "name": "contextOffset", "type": "uint256", "internalType": "uint256" }, { "name": "preOpGas", "type": "uint256", "internalType": "uint256" }] }, { "name": "context", "type": "bytes", "internalType": "bytes" }, { "name": "preGas", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "actualGasCost", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterPostOpGasLimit", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "nonceSequenceNumber", "inputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint192", "internalType": "uint192" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "simulateCallData", "inputs": [{ "name": "op", "type": "tuple", "internalType": "struct PackedUserOperation", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "target", "type": "address", "internalType": "address" }, { "name": "targetCallData", "type": "bytes", "internalType": "bytes" }], "outputs": [{ "name": "", "type": "tuple", "internalType": "struct IEntryPointSimulations.TargetCallResult", "components": [{ "name": "gasUsed", "type": "uint256", "internalType": "uint256" }, { "name": "success", "type": "bool", "internalType": "bool" }, { "name": "returnData", "type": "bytes", "internalType": "bytes" }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateCallDataBulk", "inputs": [{ "name": "ops", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "targets", "type": "address[]", "internalType": "address[]" }, { "name": "targetCallData", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "tuple[]", "internalType": "struct IEntryPointSimulations.TargetCallResult[]", "components": [{ "name": "gasUsed", "type": "uint256", "internalType": "uint256" }, { "name": "success", "type": "bool", "internalType": "bool" }, { "name": "returnData", "type": "bytes", "internalType": "bytes" }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateCallDataLast", "inputs": [{ "name": "ops", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "targets", "type": "address[]", "internalType": "address[]" }, { "name": "targetCallData", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "tuple", "internalType": "struct IEntryPointSimulations.TargetCallResult", "components": [{ "name": "gasUsed", "type": "uint256", "internalType": "uint256" }, { "name": "success", "type": "bool", "internalType": "bool" }, { "name": "returnData", "type": "bytes", "internalType": "bytes" }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateHandleOp", "inputs": [{ "name": "op", "type": "tuple", "internalType": "struct PackedUserOperation", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "tuple", "internalType": "struct IEntryPointSimulations.ExecutionResult", "components": [{ "name": "preOpGas", "type": "uint256", "internalType": "uint256" }, { "name": "paid", "type": "uint256", "internalType": "uint256" }, { "name": "accountValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterVerificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterPostOpGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "targetSuccess", "type": "bool", "internalType": "bool" }, { "name": "targetResult", "type": "bytes", "internalType": "bytes" }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateHandleOpBulk", "inputs": [{ "name": "ops", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "tuple[]", "internalType": "struct IEntryPointSimulations.ExecutionResult[]", "components": [{ "name": "preOpGas", "type": "uint256", "internalType": "uint256" }, { "name": "paid", "type": "uint256", "internalType": "uint256" }, { "name": "accountValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterVerificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterPostOpGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "targetSuccess", "type": "bool", "internalType": "bool" }, { "name": "targetResult", "type": "bytes", "internalType": "bytes" }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateHandleOpLast", "inputs": [{ "name": "ops", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "tuple", "internalType": "struct IEntryPointSimulations.ExecutionResult", "components": [{ "name": "preOpGas", "type": "uint256", "internalType": "uint256" }, { "name": "paid", "type": "uint256", "internalType": "uint256" }, { "name": "accountValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterVerificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterPostOpGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "targetSuccess", "type": "bool", "internalType": "bool" }, { "name": "targetResult", "type": "bytes", "internalType": "bytes" }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateValidation", "inputs": [{ "name": "userOp", "type": "tuple", "internalType": "struct PackedUserOperation", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "tuple", "internalType": "struct IEntryPointSimulations.ValidationResult", "components": [{ "name": "returnInfo", "type": "tuple", "internalType": "struct IEntryPoint.ReturnInfo", "components": [{ "name": "preOpGas", "type": "uint256", "internalType": "uint256" }, { "name": "prefund", "type": "uint256", "internalType": "uint256" }, { "name": "accountValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterContext", "type": "bytes", "internalType": "bytes" }] }, { "name": "senderInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "factoryInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "paymasterInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "aggregatorInfo", "type": "tuple", "internalType": "struct IEntryPoint.AggregatorStakeInfo", "components": [{ "name": "aggregator", "type": "address", "internalType": "address" }, { "name": "stakeInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }] }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateValidationBulk", "inputs": [{ "name": "userOps", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "tuple[]", "internalType": "struct IEntryPointSimulations.ValidationResult[]", "components": [{ "name": "returnInfo", "type": "tuple", "internalType": "struct IEntryPoint.ReturnInfo", "components": [{ "name": "preOpGas", "type": "uint256", "internalType": "uint256" }, { "name": "prefund", "type": "uint256", "internalType": "uint256" }, { "name": "accountValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterContext", "type": "bytes", "internalType": "bytes" }] }, { "name": "senderInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "factoryInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "paymasterInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "aggregatorInfo", "type": "tuple", "internalType": "struct IEntryPoint.AggregatorStakeInfo", "components": [{ "name": "aggregator", "type": "address", "internalType": "address" }, { "name": "stakeInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }] }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateValidationLast", "inputs": [{ "name": "userOps", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "tuple", "internalType": "struct IEntryPointSimulations.ValidationResult", "components": [{ "name": "returnInfo", "type": "tuple", "internalType": "struct IEntryPoint.ReturnInfo", "components": [{ "name": "preOpGas", "type": "uint256", "internalType": "uint256" }, { "name": "prefund", "type": "uint256", "internalType": "uint256" }, { "name": "accountValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterContext", "type": "bytes", "internalType": "bytes" }] }, { "name": "senderInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "factoryInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "paymasterInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "aggregatorInfo", "type": "tuple", "internalType": "struct IEntryPoint.AggregatorStakeInfo", "components": [{ "name": "aggregator", "type": "address", "internalType": "address" }, { "name": "stakeInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }] }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "unlockStake", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawStake", "inputs": [{ "name": "withdrawAddress", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawTo", "inputs": [{ "name": "withdrawAddress", "type": "address", "internalType": "address payable" }, { "name": "withdrawAmount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "AccountDeployed", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "factory", "type": "address", "indexed": false, "internalType": "address" }, { "name": "paymaster", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "BeforeExecution", "inputs": [], "anonymous": false }, { "type": "event", "name": "Deposited", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "totalDeposit", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "PostOpRevertReason", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "revertReason", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "SignatureAggregatorChanged", "inputs": [{ "name": "aggregator", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "StakeLocked", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "totalStaked", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "StakeUnlocked", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "withdrawTime", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "StakeWithdrawn", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "withdrawAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "UserOperationEvent", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "paymaster", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "success", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "actualGasCost", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "actualGasUsed", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "UserOperationPrefundTooLow", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "UserOperationRevertReason", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "revertReason", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "Withdrawn", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "withdrawAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "FailedOp", "inputs": [{ "name": "opIndex", "type": "uint256", "internalType": "uint256" }, { "name": "reason", "type": "string", "internalType": "string" }] }, { "type": "error", "name": "FailedOpWithRevert", "inputs": [{ "name": "opIndex", "type": "uint256", "internalType": "uint256" }, { "name": "reason", "type": "string", "internalType": "string" }, { "name": "inner", "type": "bytes", "internalType": "bytes" }] }, { "type": "error", "name": "PostOpReverted", "inputs": [{ "name": "returnData", "type": "bytes", "internalType": "bytes" }] }, { "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] }, { "type": "error", "name": "SenderAddressResult", "inputs": [{ "name": "sender", "type": "address", "internalType": "address" }] }, { "type": "error", "name": "SignatureValidationFailed", "inputs": [{ "name": "aggregator", "type": "address", "internalType": "address" }] }];
14
- export const EntryPointV07SimulationsBytecode = "0x60a060405260405162000012906200009d565b604051809103906000f0801580156200002f573d6000803e3d6000fd5b506001600160a01b0390811660805260408051808201825260008082528251808401909352808352602080840191825282018390529051600380546001600160a01b031916919094161790925551600455516005553480156200009157600080fd5b506001600255620000ab565b610233806200519583390190565b6080516150d1620000c4600039600050506150d16000f3fe60806040526004361061016d5760003560e01c806370a08231116100cb578063bb9fe6bf1161007f578063c5f996e611610059578063c5f996e6146105b9578063dbed18e0146105d9578063fc7e286d146105f957600080fd5b8063bb9fe6bf14610557578063c23a5cea1461056c578063c3bce0091461058c57600080fd5b8063850aaf62116100b0578063850aaf62146105045780639b249f6914610524578063b760faf91461054457600080fd5b806370a08231146104a1578063765e827f146104e457600080fd5b8063205c28781161012257806335567e1a1161010757806335567e1a146102905780635287ce12146103255780635895273b1461047457600080fd5b8063205c28781461025057806322cdde4c1461027057600080fd5b80630396cb60116101535780630396cb60146101e55780630bd28e3b146101f85780631b2e01b81461021857600080fd5b806242dc531461018257806301ffc9a7146101b557600080fd5b3661017d5761017b336106cb565b005b600080fd5b34801561018e57600080fd5b506101a261019d36600461420a565b6106ec565b6040519081526020015b60405180910390f35b3480156101c157600080fd5b506101d56101d03660046142ca565b6108b5565b60405190151581526020016101ac565b61017b6101f336600461430c565b610a32565b34801561020457600080fd5b5061017b61021336600461435a565b610dc8565b34801561022457600080fd5b506101a2610233366004614375565b600160209081526000928352604080842090915290825290205481565b34801561025c57600080fd5b5061017b61026b3660046143aa565b610e10565b34801561027c57600080fd5b506101a261028b3660046143ef565b610fba565b34801561029c57600080fd5b506101a26102ab366004614375565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020908152604080832077ffffffffffffffffffffffffffffffffffffffffffffffff8516845290915290819020549082901b7fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000161792915050565b34801561033157600080fd5b50610412610340366004614424565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525073ffffffffffffffffffffffffffffffffffffffff1660009081526020818152604091829020825160a0810184528154815260019091015460ff811615159282019290925261010082046dffffffffffffffffffffffffffff16928101929092526f01000000000000000000000000000000810463ffffffff166060830152730100000000000000000000000000000000000000900465ffffffffffff16608082015290565b6040516101ac9190600060a082019050825182526020830151151560208301526dffffffffffffffffffffffffffff604084015116604083015263ffffffff606084015116606083015265ffffffffffff608084015116608083015292915050565b34801561048057600080fd5b5061049461048f3660046143ef565b610ffc565b6040516101ac91906144af565b3480156104ad57600080fd5b506101a26104bc366004614424565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b3480156104f057600080fd5b5061017b6104ff366004614543565b6110f1565b34801561051057600080fd5b5061017b61051f36600461459a565b61126e565b34801561053057600080fd5b5061017b61053f3660046145ef565b611313565b61017b610552366004614424565b6106cb565b34801561056357600080fd5b5061017b6113fe565b34801561057857600080fd5b5061017b610587366004614424565b6115de565b34801561059857600080fd5b506105ac6105a73660046143ef565b6118cb565b6040516101ac9190614631565b3480156105c557600080fd5b5061017b6105d4366004614711565b611bcf565b3480156105e557600080fd5b5061017b6105f4366004614543565b611cb5565b34801561060557600080fd5b50610681610614366004614424565b6000602081905290815260409020805460019091015460ff81169061010081046dffffffffffffffffffffffffffff16906f01000000000000000000000000000000810463ffffffff1690730100000000000000000000000000000000000000900465ffffffffffff1685565b6040805195865293151560208601526dffffffffffffffffffffffffffff9092169284019290925263ffffffff909116606083015265ffffffffffff16608082015260a0016101ac565b60015b60058110156106df576001016106ce565b6106e882612161565b5050565b6000805a9050333014610760576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c7900000000000000000060448201526064015b60405180910390fd5b8451606081015160a082015181016127100160405a603f028161078557610785614773565b0410156107b6577fdeaddead0000000000000000000000000000000000000000000000000000000060005260206000fd5b8751600090156108575760006107d3846000015160008c866121b7565b9050806108555760006107e76108006121cf565b80519091501561084f57846000015173ffffffffffffffffffffffffffffffffffffffff168a602001517f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a2018760200151846040516108469291906147a2565b60405180910390a35b60019250505b505b600088608001515a86030190506108a7828a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506121fb915050565b9a9950505050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f60fc6b6e00000000000000000000000000000000000000000000000000000000148061094857507fffffffff0000000000000000000000000000000000000000000000000000000082167f915074d800000000000000000000000000000000000000000000000000000000145b8061099457507fffffffff0000000000000000000000000000000000000000000000000000000082167fcf28ef9700000000000000000000000000000000000000000000000000000000145b806109e057507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e84f02100000000000000000000000000000000000000000000000000000000145b80610a2c57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33600090815260208190526040902063ffffffff8216610aae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152606401610757565b600181015463ffffffff6f0100000000000000000000000000000090910481169083161015610b39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606401610757565b6001810154600090610b6190349061010090046dffffffffffffffffffffffffffff166147ea565b905060008111610bcd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152606401610757565b6dffffffffffffffffffffffffffff811115610c45576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152606401610757565b6040805160a08101825283548152600160208083018281526dffffffffffffffffffffffffffff86811685870190815263ffffffff8a811660608801818152600060808a0181815233808352828a52918c90209a518b55965199909801805494519151965165ffffffffffff16730100000000000000000000000000000000000000027fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff979094166f0100000000000000000000000000000002969096167fffffffffffffff00000000000000000000ffffffffffffffffffffffffffffff91909516610100027fffffffffffffffffffffffffffffffffff0000000000000000000000000000ff991515999099167fffffffffffffffffffffffffffffffffff00000000000000000000000000000090941693909317979097179190911691909117179055835185815290810192909252917fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01910160405180910390a2505050565b33600090815260016020908152604080832077ffffffffffffffffffffffffffffffffffffffffffffffff851684529091528120805491610e08836147fd565b919050555050565b3360009081526020819052604090208054821115610e8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606401610757565b8054610e97908390614835565b81556040805173ffffffffffffffffffffffffffffffffffffffff851681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb910160405180910390a260008373ffffffffffffffffffffffffffffffffffffffff168360405160006040518083038185875af1925050503d8060008114610f44576040519150601f19603f3d011682016040523d82523d6000602084013e610f49565b606091505b5050905080610fb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152606401610757565b50505050565b6000610fc582612423565b6040805160208101929092523090820152466060820152608001604051602081830303815290604052805190602001209050919050565b6110376040518060c0016040528060008152602001600081526020016000815260200160008152602001600015158152602001606081525090565b61103f61243c565b611047613dfc565b6110508361247d565b60008061105f600086856125f0565b9150915060006110716000878661284f565b90506040518060c00160405280856080015181526020018281526020018481526020018381526020016000151581526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152509450505050506110ec6001600255565b919050565b6110f961243c565b8160008167ffffffffffffffff81111561111557611115613fa8565b60405190808252806020026020018201604052801561114e57816020015b61113b613dfc565b8152602001906001900390816111335790505b50905060005b828110156111c757600082828151811061117057611170614848565b602002602001015190506000806111ab848a8a8781811061119357611193614848565b90506020028101906111a59190614877565b856125f0565b915091506111bc8483836000612c25565b505050600101611154565b506040516000907fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972908290a160005b83811015611251576112458188888481811061121457611214614848565b90506020028101906112269190614877565b85848151811061123857611238614848565b602002602001015161284f565b909101906001016111f6565b5061125c8482612e7a565b5050506112696001600255565b505050565b6000808473ffffffffffffffffffffffffffffffffffffffff1684846040516112989291906148b5565b600060405180830381855af49150503d80600081146112d3576040519150601f19603f3d011682016040523d82523d6000602084013e6112d8565b606091505b509150915081816040517f994105540000000000000000000000000000000000000000000000000000000081526004016107579291906148c5565b600061133460065473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1663570e1a3684846040518363ffffffff1660e01b815260040161136e929190614929565b6020604051808303816000875af115801561138d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b1919061493d565b6040517f6ca7b80600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152909150602401610757565b336000908152602081905260408120600181015490916f0100000000000000000000000000000090910463ffffffff169003611496576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152606401610757565b600181015460ff16611504576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152606401610757565b600181015460009061152f906f01000000000000000000000000000000900463ffffffff164261495a565b6001830180547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001673010000000000000000000000000000000000000065ffffffffffff84169081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169190911790915560405190815290915033907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a906020015b60405180910390a25050565b336000908152602081905260409020600181015461010090046dffffffffffffffffffffffffffff168061166e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152606401610757565b6001820154730100000000000000000000000000000000000000900465ffffffffffff166116f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152606401610757565b60018201544273010000000000000000000000000000000000000090910465ffffffffffff161115611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152606401610757565b6001820180547fffffffffffffff000000000000000000000000000000000000000000000000ff1690556040805173ffffffffffffffffffffffffffffffffffffffff851681526020810183905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda3910160405180910390a260008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461185b576040519150601f19603f3d011682016040523d82523d6000602084013e611860565b606091505b5050905080610fb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152606401610757565b6118d3613eae565b6118db613dfc565b6118e48361247d565b6000806118f3600086856125f0565b845160e001516040805180820182526000808252602080830182815273ffffffffffffffffffffffffffffffffffffffff95861683528282528483206001908101546dffffffffffffffffffffffffffff6101008083048216885263ffffffff6f010000000000000000000000000000009384900481169095528e51518951808b018b5288815280880189815291909b1688528787528988209094015490810490911689520490911690528351808501909452818452830152939550919350903660006119c360408b018b614980565b9092509050600060148210156119da5760006119f5565b6119e86014600084866149e5565b6119f191614a0f565b60601c5b6040805180820182526000808252602080830182815273ffffffffffffffffffffffffffffffffffffffff86168352908290529290206001015461010081046dffffffffffffffffffffffffffff1682526f01000000000000000000000000000000900463ffffffff169091529091509350505050600085905060006040518060a001604052808960800151815260200189604001518152602001888152602001878152602001611aa78a6060015190565b905260408051808201825260035473ffffffffffffffffffffffffffffffffffffffff908116825282518084019093526004548352600554602084810191909152820192909252919250831615801590611b18575060018373ffffffffffffffffffffffffffffffffffffffff1614155b15611b9c5760408051808201825273ffffffffffffffffffffffffffffffffffffffff851680825282518084018452600080825260208083018281529382528181529490206001015461010081046dffffffffffffffffffffffffffff1682526f01000000000000000000000000000000900463ffffffff16909152909182015290505b6040805160a081018252928352602083019590955293810192909252506060810192909252608082015295945050505050565b611bd7613dfc565b611be08561247d565b611bec600086836125f0565b5060009050606073ffffffffffffffffffffffffffffffffffffffff861615611c7f578573ffffffffffffffffffffffffffffffffffffffff168585604051611c369291906148b5565b6000604051808303816000865af19150503d8060008114611c73576040519150601f19603f3d011682016040523d82523d6000602084013e611c78565b606091505b5090925090505b81816040517fd12c41340000000000000000000000000000000000000000000000000000000081526004016107579291906148c5565b611cbd61243c565b816000805b82811015611eaf5736868683818110611cdd57611cdd614848565b9050602002810190611cef9190614a57565b9050366000611cfe8380614a8b565b90925090506000611d156040850160208601614424565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73ffffffffffffffffffffffffffffffffffffffff821601611db6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393620696e76616c69642061676772656761746f720000000000000000006044820152606401610757565b73ffffffffffffffffffffffffffffffffffffffff811615611e935773ffffffffffffffffffffffffffffffffffffffff8116632dd811338484611dfd6040890189614980565b6040518563ffffffff1660e01b8152600401611e1c9493929190614c43565b60006040518083038186803b158015611e3457600080fd5b505afa925050508015611e45575060015b611e93576040517f86a9f75000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610757565b611e9d82876147ea565b95505060019093019250611cc2915050565b5060008167ffffffffffffffff811115611ecb57611ecb613fa8565b604051908082528060200260200182016040528015611f0457816020015b611ef1613dfc565b815260200190600190039081611ee95790505b5090506000805b84811015611fe15736888883818110611f2657611f26614848565b9050602002810190611f389190614a57565b9050366000611f478380614a8b565b90925090506000611f5e6040850160208601614424565b90508160005b81811015611fcf576000898981518110611f8057611f80614848565b60200260200101519050600080611fa38b89898781811061119357611193614848565b91509150611fb384838389612c25565b8a611fbd816147fd565b9b505060019093019250611f64915050565b505060019094019350611f0b92505050565b506040517fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f97290600090a150600080805b8581101561211c573689898381811061202c5761202c614848565b905060200281019061203e9190614a57565b90506120506040820160208301614424565b73ffffffffffffffffffffffffffffffffffffffff167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d60405160405180910390a236600061209f8380614a8b565b90925090508060005b8181101561210b576120ea888585848181106120c6576120c6614848565b90506020028101906120d89190614877565b8b8b8151811061123857611238614848565b6120f490886147ea565b965087612100816147fd565b9850506001016120a8565b505060019093019250612011915050565b506040516000907f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d908290a26121528682612e7a565b50505050506112696001600255565b600061216d8234612fc1565b90508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4826040516115d291815260200190565b6000806000845160208601878987f195945050505050565b60603d828111156121dd5750815b604051602082018101604052818152816000602083013e9392505050565b6000805a85519091506000908161221182613001565b60e083015190915073ffffffffffffffffffffffffffffffffffffffff811661223d5782519350612338565b80935060008851111561233857868202955060028a600281111561226357612263614cfa565b146123385760a08301516040517f7c627b2100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831691637c627b21916122c5908e908d908c908990600401614d29565b600060405180830381600088803b1580156122df57600080fd5b5087f1935050505080156122f1575060015b6123385760006123026108006121cf565b9050806040517fad7954bc0000000000000000000000000000000000000000000000000000000081526004016107579190614d8c565b5a60a0840151606085015160808c01519288039990990198019088038082111561236b576064600a828403020498909801975b505060408901518783029650868110156123e05760028b600281111561239357612393614cfa565b036123b6578096506123a48a613033565b6123b18a6000898b61308f565b612415565b7fdeadaa510000000000000000000000000000000000000000000000000000000060005260206000fd5b8681036123ed8682612fc1565b506000808d600281111561240357612403614cfa565b1490506124128c828b8d61308f565b50505b505050505050949350505050565b600061242e82613117565b805190602001209050919050565b6002805403612477576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028055565b61257d6040517fd69400000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b1660228201527f01000000000000000000000000000000000000000000000000000000000000006036820152600090603701604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00181529190528051602090910120600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905550565b60006125ae61258f6040840184614980565b61259c6020860186614424565b6125a960e0870187614980565b6131dc565b905080516000146106e8576000816040517f220266b60000000000000000000000000000000000000000000000000000000081526004016107579291906147a2565b60008060005a845190915061260586826132c5565b61260e86610fba565b6020860152604081015161012082015161010083015160a08401516080850151606086015160c0870151861717171717176effffffffffffffffffffffffffffff8111156126b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606401610757565b60006126e78460c081015160a08201516080830151606084015160408501516101009095015194010101010290565b90506126f68a8a8a8487613410565b965061270a84600001518560200151613651565b61277957896040517f220266b6000000000000000000000000000000000000000000000000000000008152600401610757918152604060208201819052601a908201527f4141323520696e76616c6964206163636f756e74206e6f6e6365000000000000606082015260800190565b825a860311156127ee57896040517f220266b6000000000000000000000000000000000000000000000000000000008152600401610757918152604060208201819052601e908201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606082015260800190565b60e084015160609073ffffffffffffffffffffffffffffffffffffffff16156128225761281d8b8b8b856136ac565b975090505b604089018290528060608a015260a08a01355a870301896080018181525050505050505050935093915050565b6000805a90506000612862846060015190565b604051909150600090368261287a60608a018a614980565b915091506060600082600381111561289157843591505b507f72288ed1000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016129d15760008b8b602001516040516024016128f4929190614d9f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8dd7712f000000000000000000000000000000000000000000000000000000001790525190915030906242dc53906129879084908f908d90602401614e85565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050925050612a48565b3073ffffffffffffffffffffffffffffffffffffffff166242dc5385858d8b604051602401612a039493929190614ec5565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505091505b602060008351602085016000305af19550600051985084604052505050505080612c1b5760003d80602003612a835760206000803e60005191505b507fdeaddead000000000000000000000000000000000000000000000000000000008103612b1657876040517f220266b6000000000000000000000000000000000000000000000000000000008152600401610757918152604060208201819052600f908201527f41413935206f7574206f66206761730000000000000000000000000000000000606082015260800190565b7fdeadaa51000000000000000000000000000000000000000000000000000000008103612b8057600086608001515a612b4f9087614835565b612b5991906147ea565b6040880151909150612b6a88613033565b612b77886000838561308f565b9550612c199050565b8551805160208089015192015173ffffffffffffffffffffffffffffffffffffffff90911691907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f479290612bd46108006121cf565b604051612be29291906147a2565b60405180910390a3600086608001515a612bfc9087614835565b612c0691906147ea565b9050612c1560028886846121fb565b9550505b505b5050509392505050565b600080612c3185613903565b915091508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612cd357856040517f220266b60000000000000000000000000000000000000000000000000000000081526004016107579181526040602082018190526014908201527f41413234207369676e6174757265206572726f72000000000000000000000000606082015260800190565b8015612d4457856040517f220266b60000000000000000000000000000000000000000000000000000000081526004016107579181526040602082018190526017908201527f414132322065787069726564206f72206e6f7420647565000000000000000000606082015260800190565b6000612d4f85613903565b9250905073ffffffffffffffffffffffffffffffffffffffff811615612dda57866040517f220266b60000000000000000000000000000000000000000000000000000000081526004016107579181526040602082018190526014908201527f41413334207369676e6174757265206572726f72000000000000000000000000606082015260800190565b8115612e7157866040517f220266b60000000000000000000000000000000000000000000000000000000081526004016107579181526040602082018190526021908201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560608201527f6500000000000000000000000000000000000000000000000000000000000000608082015260a00190565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612ef7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152606401610757565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612f51576040519150601f19603f3d011682016040523d82523d6000602084013e612f56565b606091505b5050905080611269576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152606401610757565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548290612ff59085906147ea565b91829055509392505050565b6101008101516101208201516000919080820361301f575092915050565b61302b82488301613956565b949350505050565b805180516020808401519281015160405190815273ffffffffffffffffffffffffffffffffffffffff90921692917f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e910160405180910390a350565b835160e0810151815160208088015193015160405173ffffffffffffffffffffffffffffffffffffffff9384169492909316927f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f916131099189908990899093845291151560208401526040830152606082015260800190565b60405180910390a450505050565b60608135602083013560006131376131326040870187614980565b61396e565b9050600061314b6131326060880188614980565b9050608086013560a087013560c0880135600061316e61313260e08c018c614980565b6040805173ffffffffffffffffffffffffffffffffffffffff9a909a1660208b015289810198909852606089019690965250608087019390935260a086019190915260c085015260e08401526101008084019190915281518084039091018152610120909201905292915050565b606084158015613201575073ffffffffffffffffffffffffffffffffffffffff84163b155b15613240575060408051808201909152601981527f41413230206163636f756e74206e6f74206465706c6f7965640000000000000060208201526132bc565b601482106132ab57600061325760148285876149e5565b61326091614a0f565b60601c9050803b6000036132a957505060408051808201909152601b81527f41413330207061796d6173746572206e6f74206465706c6f796564000000000060208201526132bc565b505b506040805160208101909152600081525b95945050505050565b6132d26020830183614424565b73ffffffffffffffffffffffffffffffffffffffff168152602082810135908201526fffffffffffffffffffffffffffffffff6080808401358281166060850152811c604084015260a084013560c0808501919091528401359182166101008401521c61012082015236600061334b60e0850185614980565b909250905080156133f55760348110156133c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152606401610757565b6133cb8282613981565b60a0860152608085015273ffffffffffffffffffffffffffffffffffffffff1660e0840152610fb4565b600060e084018190526080840181905260a084015250505050565b825180516000919061342f888761342a60408b018b614980565b6139f2565b60e0820151600073ffffffffffffffffffffffffffffffffffffffff821661348d5773ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205487811161348657808803613489565b60005b9150505b60208801516040517f19822f7c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516916319822f7c9189916134e9918e91908790600401614efc565b60206040518083038160008887f193505050508015613543575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261354091810190614f21565b60015b61358757896135536108006121cf565b6040517f65c8fd4d000000000000000000000000000000000000000000000000000000008152600401610757929190614f3a565b945073ffffffffffffffffffffffffffffffffffffffff82166136445773ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902080548089111561363e578b6040517f220266b60000000000000000000000000000000000000000000000000000000081526004016107579181526040602082018190526017908201527f41413231206469646e2774207061792070726566756e64000000000000000000606082015260800190565b88900390555b5050505095945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020908152604080832084821c808552925282208054849167ffffffffffffffff831691908561369e836147fd565b909155501495945050505050565b60606000805a855160e081015173ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020805493945091929091908781101561375b578a6040517f220266b6000000000000000000000000000000000000000000000000000000008152600401610757918152604060208201819052601e908201527f41413331207061796d6173746572206465706f73697420746f6f206c6f770000606082015260800190565b87810382600001819055506000846080015190508373ffffffffffffffffffffffffffffffffffffffff166352b7512c828d8d602001518d6040518563ffffffff1660e01b81526004016137b193929190614efc565b60006040518083038160008887f19350505050801561381057506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261380d9190810190614f87565b60015b613854578b6138206108006121cf565b6040517f65c8fd4d000000000000000000000000000000000000000000000000000000008152600401610757929190615008565b9098509650805a870311156138f4578b6040517f220266b60000000000000000000000000000000000000000000000000000000081526004016107579181526040602082018190526027908201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760608201527f61734c696d697400000000000000000000000000000000000000000000000000608082015260a00190565b50505050505094509492505050565b6000808260000361391957506000928392509050565b600061392484613d7e565b9050806040015165ffffffffffff1642118061394b5750806020015165ffffffffffff1642105b905194909350915050565b60008183106139655781613967565b825b9392505050565b6000604051828085833790209392505050565b6000808061399260148286886149e5565b61399b91614a0f565b60601c6139ac6024601487896149e5565b6139b591615055565b60801c6139c660346024888a6149e5565b6139cf91615055565b9194506fffffffffffffffffffffffffffffffff16925060801c90509250925092565b8015610fb45782515173ffffffffffffffffffffffffffffffffffffffff81163b15613a8357846040517f220266b6000000000000000000000000000000000000000000000000000000008152600401610757918152604060208201819052601f908201527f414131302073656e64657220616c726561647920636f6e737472756374656400606082015260800190565b6000613aa460065473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1663570e1a3686600001516040015186866040518463ffffffff1660e01b8152600401613ae7929190614929565b60206040518083038160008887f1158015613b06573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613b2b919061493d565b905073ffffffffffffffffffffffffffffffffffffffff8116613bb357856040517f220266b6000000000000000000000000000000000000000000000000000000008152600401610757918152604060208201819052601b908201527f4141313320696e6974436f6465206661696c6564206f72204f4f470000000000606082015260800190565b8173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613c5057856040517f220266b600000000000000000000000000000000000000000000000000000000815260040161075791815260406020808301829052908201527f4141313420696e6974436f6465206d7573742072657475726e2073656e646572606082015260800190565b8073ffffffffffffffffffffffffffffffffffffffff163b600003613cd957856040517f220266b600000000000000000000000000000000000000000000000000000000815260040161075791815260406020808301829052908201527f4141313520696e6974436f6465206d757374206372656174652073656e646572606082015260800190565b6000613ce860148286886149e5565b613cf191614a0f565b60601c90508273ffffffffffffffffffffffffffffffffffffffff1686602001517fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d83896000015160e00151604051613d6d92919073ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b60405180910390a350505050505050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003613dba575065ffffffffffff5b6040805160608101825273ffffffffffffffffffffffffffffffffffffffff909316835260d09490941c602083015265ffffffffffff16928101929092525090565b6040518060a00160405280613e89604051806101400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b8152602001600080191681526020016000815260200160008152602001600081525090565b6040518060a00160405280613eeb6040518060a0016040528060008152602001600081526020016000815260200160008152602001606081525090565b8152602001613f0d604051806040016040528060008152602001600081525090565b8152602001613f2f604051806040016040528060008152602001600081525090565b8152602001613f51604051806040016040528060008152602001600081525090565b8152602001613f5e613f63565b905290565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001613f5e604051806040016040528060008152602001600081525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715613ffa57613ffa613fa8565b60405290565b604051610140810167ffffffffffffffff81118282101715613ffa57613ffa613fa8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561406b5761406b613fa8565b604052919050565b600067ffffffffffffffff82111561408d5761408d613fa8565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b73ffffffffffffffffffffffffffffffffffffffff811681146140db57600080fd5b50565b80356110ec816140b9565b60008183036101c08112156140fd57600080fd5b614105613fd7565b91506101408082121561411757600080fd5b61411f614000565b915061412a846140de565b82526020840135602083015260408401356040830152606084013560608301526080840135608083015260a084013560a083015260c084013560c083015261417460e085016140de565b60e0830152610100848101359083015261012080850135908301529082528201356020820152610160820135604082015261018082013560608201526101a0909101356080820152919050565b60008083601f8401126141d357600080fd5b50813567ffffffffffffffff8111156141eb57600080fd5b60208301915083602082850101111561420357600080fd5b9250929050565b600080600080610200858703121561422157600080fd5b843567ffffffffffffffff8082111561423957600080fd5b818701915087601f83011261424d57600080fd5b813561426061425b82614073565b614024565b81815289602083860101111561427557600080fd5b81602085016020830137600060208383010152809750505061429a88602089016140e9565b94506101e08701359150808211156142b157600080fd5b506142be878288016141c1565b95989497509550505050565b6000602082840312156142dc57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461396757600080fd5b60006020828403121561431e57600080fd5b813563ffffffff8116811461396757600080fd5b803577ffffffffffffffffffffffffffffffffffffffffffffffff811681146110ec57600080fd5b60006020828403121561436c57600080fd5b61396782614332565b6000806040838503121561438857600080fd5b8235614393816140b9565b91506143a160208401614332565b90509250929050565b600080604083850312156143bd57600080fd5b82356143c8816140b9565b946020939093013593505050565b600061012082840312156143e957600080fd5b50919050565b60006020828403121561440157600080fd5b813567ffffffffffffffff81111561441857600080fd5b61302b848285016143d6565b60006020828403121561443657600080fd5b8135613967816140b9565b60005b8381101561445c578181015183820152602001614444565b50506000910152565b6000815180845261447d816020860160208601614441565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152815160208201526020820151604082015260408201516060820152606082015160808201526080820151151560a0820152600060a083015160c08084015261302b60e0840182614465565b60008083601f84011261451057600080fd5b50813567ffffffffffffffff81111561452857600080fd5b6020830191508360208260051b850101111561420357600080fd5b60008060006040848603121561455857600080fd5b833567ffffffffffffffff81111561456f57600080fd5b61457b868287016144fe565b909450925050602084013561458f816140b9565b809150509250925092565b6000806000604084860312156145af57600080fd5b83356145ba816140b9565b9250602084013567ffffffffffffffff8111156145d657600080fd5b6145e2868287016141c1565b9497909650939450505050565b6000806020838503121561460257600080fd5b823567ffffffffffffffff81111561461957600080fd5b614625858286016141c1565b90969095509350505050565b602080825282516101408383015280516101608401529081015161018083015260408101516101a083015260608101516101c08301526080015160a06101e0830152600090614684610200840182614465565b905060208401516146a2604085018280518252602090810151910152565b506040840151805160808581019190915260209182015160a08601526060860151805160c087015282015160e0860152850151805173ffffffffffffffffffffffffffffffffffffffff1661010086015280820151805161012087015290910151610140850152509392505050565b6000806000806060858703121561472757600080fd5b843567ffffffffffffffff8082111561473f57600080fd5b61474b888389016143d6565b95506020870135915061475d826140b9565b909350604086013590808211156142b157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b82815260406020820152600061302b6040830184614465565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610a2c57610a2c6147bb565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361482e5761482e6147bb565b5060010190565b81810381811115610a2c57610a2c6147bb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18336030181126148ab57600080fd5b9190910192915050565b8183823760009101908152919050565b821515815260406020820152600061302b6040830184614465565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061302b6020830184866148e0565b60006020828403121561494f57600080fd5b8151613967816140b9565b65ffffffffffff818116838216019080821115614979576149796147bb565b5092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126149b557600080fd5b83018035915067ffffffffffffffff8211156149d057600080fd5b60200191503681900382131561420357600080fd5b600080858511156149f557600080fd5b83861115614a0257600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015614a4f5780818660140360031b1b83161692505b505092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18336030181126148ab57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614ac057600080fd5b83018035915067ffffffffffffffff821115614adb57600080fd5b6020019150600581901b360382131561420357600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614b2857600080fd5b830160208101925035905067ffffffffffffffff811115614b4857600080fd5b80360382131561420357600080fd5b6000610120614b8384614b69856140de565b73ffffffffffffffffffffffffffffffffffffffff169052565b60208301356020850152614b9a6040840184614af3565b826040870152614bad83870182846148e0565b92505050614bbe6060840184614af3565b8583036060870152614bd18382846148e0565b925050506080830135608085015260a083013560a085015260c083013560c0850152614c0060e0840184614af3565b85830360e0870152614c138382846148e0565b92505050610100614c2681850185614af3565b86840383880152614c388482846148e0565b979650505050505050565b6040808252810184905260006060600586901b830181019083018783805b89811015614ce3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18c3603018112614cc1578283fd5b614ccd868d8301614b57565b9550506020938401939290920191600101614c61565b505050508281036020840152614c388185876148e0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060038610614d62577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b85825260806020830152614d796080830186614465565b6040830194909452506060015292915050565b6020815260006139676020830184614465565b604081526000614db26040830185614b57565b90508260208301529392505050565b8051805173ffffffffffffffffffffffffffffffffffffffff1683526020810151602084015260408101516040840152606081015160608401526080810151608084015260a081015160a084015260c081015160c084015260e0810151614e4060e085018273ffffffffffffffffffffffffffffffffffffffff169052565b5061010081810151908401526101209081015190830152602081015161014083015260408101516101608301526060810151610180830152608001516101a090910152565b6000610200808352614e9981840187614465565b9050614ea86020840186614dc1565b8281036101e0840152614ebb8185614465565b9695505050505050565b6000610200808352614eda81840187896148e0565b9050614ee96020840186614dc1565b8281036101e0840152614c388185614465565b606081526000614f0f6060830186614b57565b60208301949094525060400152919050565b600060208284031215614f3357600080fd5b5051919050565b82815260606020820152600d60608201527f4141323320726576657274656400000000000000000000000000000000000000608082015260a06040820152600061302b60a0830184614465565b60008060408385031215614f9a57600080fd5b825167ffffffffffffffff811115614fb157600080fd5b8301601f81018513614fc257600080fd5b8051614fd061425b82614073565b818152866020838501011115614fe557600080fd5b614ff6826020830160208601614441565b60209590950151949694955050505050565b82815260606020820152600d60608201527f4141333320726576657274656400000000000000000000000000000000000000608082015260a06040820152600061302b60a0830184614465565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008135818116916010851015614a4f5760109490940360031b84901b169092169291505056fea264697066735822122022e02178dc569768380168e9e3ea80c02f334e22212a424c7e3d8b24376c948964736f6c63430008170033608060405234801561001057600080fd5b50610213806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063570e1a3614610030575b600080fd5b61004361003e3660046100f9565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60008061007c601482858761016b565b61008591610195565b60601c90506000610099846014818861016b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525084519495509360209350849250905082850182875af190506000519350806100f057600093505b50505092915050565b6000806020838503121561010c57600080fd5b823567ffffffffffffffff8082111561012457600080fd5b818501915085601f83011261013857600080fd5b81358181111561014757600080fd5b86602082850101111561015957600080fd5b60209290920196919550909350505050565b6000808585111561017b57600080fd5b8386111561018857600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156101d55780818660140360031b1b83161692505b50509291505056fea2646970667358221220f4eeea3c52e568afe7af0cb6d22e9eba322f25189228e2d96485c8f1d485112464736f6c63430008170033";
13
+ export const EntryPointV07SimulationsAbi = [
14
+ {
15
+ type: "constructor",
16
+ inputs: [],
17
+ stateMutability: "nonpayable"
18
+ },
19
+ {
20
+ type: "receive",
21
+ stateMutability: "payable"
22
+ },
23
+ {
24
+ type: "function",
25
+ name: "addStake",
26
+ inputs: [
27
+ {
28
+ name: "unstakeDelaySec",
29
+ type: "uint32",
30
+ internalType: "uint32"
31
+ }
32
+ ],
33
+ outputs: [],
34
+ stateMutability: "payable"
35
+ },
36
+ {
37
+ type: "function",
38
+ name: "balanceOf",
39
+ inputs: [
40
+ {
41
+ name: "account",
42
+ type: "address",
43
+ internalType: "address"
44
+ }
45
+ ],
46
+ outputs: [
47
+ {
48
+ name: "",
49
+ type: "uint256",
50
+ internalType: "uint256"
51
+ }
52
+ ],
53
+ stateMutability: "view"
54
+ },
55
+ {
56
+ type: "function",
57
+ name: "depositTo",
58
+ inputs: [
59
+ {
60
+ name: "account",
61
+ type: "address",
62
+ internalType: "address"
63
+ }
64
+ ],
65
+ outputs: [],
66
+ stateMutability: "payable"
67
+ },
68
+ {
69
+ type: "function",
70
+ name: "deposits",
71
+ inputs: [
72
+ {
73
+ name: "",
74
+ type: "address",
75
+ internalType: "address"
76
+ }
77
+ ],
78
+ outputs: [
79
+ {
80
+ name: "deposit",
81
+ type: "uint256",
82
+ internalType: "uint256"
83
+ },
84
+ {
85
+ name: "staked",
86
+ type: "bool",
87
+ internalType: "bool"
88
+ },
89
+ {
90
+ name: "stake",
91
+ type: "uint112",
92
+ internalType: "uint112"
93
+ },
94
+ {
95
+ name: "unstakeDelaySec",
96
+ type: "uint32",
97
+ internalType: "uint32"
98
+ },
99
+ {
100
+ name: "withdrawTime",
101
+ type: "uint48",
102
+ internalType: "uint48"
103
+ }
104
+ ],
105
+ stateMutability: "view"
106
+ },
107
+ {
108
+ type: "function",
109
+ name: "getDepositInfo",
110
+ inputs: [
111
+ {
112
+ name: "account",
113
+ type: "address",
114
+ internalType: "address"
115
+ }
116
+ ],
117
+ outputs: [
118
+ {
119
+ name: "info",
120
+ type: "tuple",
121
+ internalType: "struct IStakeManager.DepositInfo",
122
+ components: [
123
+ {
124
+ name: "deposit",
125
+ type: "uint256",
126
+ internalType: "uint256"
127
+ },
128
+ {
129
+ name: "staked",
130
+ type: "bool",
131
+ internalType: "bool"
132
+ },
133
+ {
134
+ name: "stake",
135
+ type: "uint112",
136
+ internalType: "uint112"
137
+ },
138
+ {
139
+ name: "unstakeDelaySec",
140
+ type: "uint32",
141
+ internalType: "uint32"
142
+ },
143
+ {
144
+ name: "withdrawTime",
145
+ type: "uint48",
146
+ internalType: "uint48"
147
+ }
148
+ ]
149
+ }
150
+ ],
151
+ stateMutability: "view"
152
+ },
153
+ {
154
+ type: "function",
155
+ name: "getNonce",
156
+ inputs: [
157
+ {
158
+ name: "sender",
159
+ type: "address",
160
+ internalType: "address"
161
+ },
162
+ {
163
+ name: "key",
164
+ type: "uint192",
165
+ internalType: "uint192"
166
+ }
167
+ ],
168
+ outputs: [
169
+ {
170
+ name: "nonce",
171
+ type: "uint256",
172
+ internalType: "uint256"
173
+ }
174
+ ],
175
+ stateMutability: "view"
176
+ },
177
+ {
178
+ type: "function",
179
+ name: "getUserOpHash",
180
+ inputs: [
181
+ {
182
+ name: "userOp",
183
+ type: "tuple",
184
+ internalType: "struct PackedUserOperation",
185
+ components: [
186
+ {
187
+ name: "sender",
188
+ type: "address",
189
+ internalType: "address"
190
+ },
191
+ {
192
+ name: "nonce",
193
+ type: "uint256",
194
+ internalType: "uint256"
195
+ },
196
+ {
197
+ name: "initCode",
198
+ type: "bytes",
199
+ internalType: "bytes"
200
+ },
201
+ {
202
+ name: "callData",
203
+ type: "bytes",
204
+ internalType: "bytes"
205
+ },
206
+ {
207
+ name: "accountGasLimits",
208
+ type: "bytes32",
209
+ internalType: "bytes32"
210
+ },
211
+ {
212
+ name: "preVerificationGas",
213
+ type: "uint256",
214
+ internalType: "uint256"
215
+ },
216
+ {
217
+ name: "gasFees",
218
+ type: "bytes32",
219
+ internalType: "bytes32"
220
+ },
221
+ {
222
+ name: "paymasterAndData",
223
+ type: "bytes",
224
+ internalType: "bytes"
225
+ },
226
+ {
227
+ name: "signature",
228
+ type: "bytes",
229
+ internalType: "bytes"
230
+ }
231
+ ]
232
+ }
233
+ ],
234
+ outputs: [
235
+ {
236
+ name: "",
237
+ type: "bytes32",
238
+ internalType: "bytes32"
239
+ }
240
+ ],
241
+ stateMutability: "view"
242
+ },
243
+ {
244
+ type: "function",
245
+ name: "incrementNonce",
246
+ inputs: [
247
+ {
248
+ name: "key",
249
+ type: "uint192",
250
+ internalType: "uint192"
251
+ }
252
+ ],
253
+ outputs: [],
254
+ stateMutability: "nonpayable"
255
+ },
256
+ {
257
+ type: "function",
258
+ name: "innerHandleOp",
259
+ inputs: [
260
+ {
261
+ name: "callData",
262
+ type: "bytes",
263
+ internalType: "bytes"
264
+ },
265
+ {
266
+ name: "opInfo",
267
+ type: "tuple",
268
+ internalType: "struct EntryPoint.UserOpInfo",
269
+ components: [
270
+ {
271
+ name: "mUserOp",
272
+ type: "tuple",
273
+ internalType: "struct EntryPoint.MemoryUserOp",
274
+ components: [
275
+ {
276
+ name: "sender",
277
+ type: "address",
278
+ internalType: "address"
279
+ },
280
+ {
281
+ name: "nonce",
282
+ type: "uint256",
283
+ internalType: "uint256"
284
+ },
285
+ {
286
+ name: "verificationGasLimit",
287
+ type: "uint256",
288
+ internalType: "uint256"
289
+ },
290
+ {
291
+ name: "callGasLimit",
292
+ type: "uint256",
293
+ internalType: "uint256"
294
+ },
295
+ {
296
+ name: "paymasterVerificationGasLimit",
297
+ type: "uint256",
298
+ internalType: "uint256"
299
+ },
300
+ {
301
+ name: "paymasterPostOpGasLimit",
302
+ type: "uint256",
303
+ internalType: "uint256"
304
+ },
305
+ {
306
+ name: "preVerificationGas",
307
+ type: "uint256",
308
+ internalType: "uint256"
309
+ },
310
+ {
311
+ name: "paymaster",
312
+ type: "address",
313
+ internalType: "address"
314
+ },
315
+ {
316
+ name: "maxFeePerGas",
317
+ type: "uint256",
318
+ internalType: "uint256"
319
+ },
320
+ {
321
+ name: "maxPriorityFeePerGas",
322
+ type: "uint256",
323
+ internalType: "uint256"
324
+ }
325
+ ]
326
+ },
327
+ {
328
+ name: "userOpHash",
329
+ type: "bytes32",
330
+ internalType: "bytes32"
331
+ },
332
+ {
333
+ name: "prefund",
334
+ type: "uint256",
335
+ internalType: "uint256"
336
+ },
337
+ {
338
+ name: "contextOffset",
339
+ type: "uint256",
340
+ internalType: "uint256"
341
+ },
342
+ {
343
+ name: "preOpGas",
344
+ type: "uint256",
345
+ internalType: "uint256"
346
+ }
347
+ ]
348
+ },
349
+ {
350
+ name: "context",
351
+ type: "bytes",
352
+ internalType: "bytes"
353
+ },
354
+ {
355
+ name: "preGas",
356
+ type: "uint256",
357
+ internalType: "uint256"
358
+ }
359
+ ],
360
+ outputs: [
361
+ {
362
+ name: "actualGasCost",
363
+ type: "uint256",
364
+ internalType: "uint256"
365
+ },
366
+ {
367
+ name: "paymasterPostOpGasLimit",
368
+ type: "uint256",
369
+ internalType: "uint256"
370
+ }
371
+ ],
372
+ stateMutability: "nonpayable"
373
+ },
374
+ {
375
+ type: "function",
376
+ name: "nonceSequenceNumber",
377
+ inputs: [
378
+ {
379
+ name: "",
380
+ type: "address",
381
+ internalType: "address"
382
+ },
383
+ {
384
+ name: "",
385
+ type: "uint192",
386
+ internalType: "uint192"
387
+ }
388
+ ],
389
+ outputs: [
390
+ {
391
+ name: "",
392
+ type: "uint256",
393
+ internalType: "uint256"
394
+ }
395
+ ],
396
+ stateMutability: "view"
397
+ },
398
+ {
399
+ type: "function",
400
+ name: "simulateCallData",
401
+ inputs: [
402
+ {
403
+ name: "op",
404
+ type: "tuple",
405
+ internalType: "struct PackedUserOperation",
406
+ components: [
407
+ {
408
+ name: "sender",
409
+ type: "address",
410
+ internalType: "address"
411
+ },
412
+ {
413
+ name: "nonce",
414
+ type: "uint256",
415
+ internalType: "uint256"
416
+ },
417
+ {
418
+ name: "initCode",
419
+ type: "bytes",
420
+ internalType: "bytes"
421
+ },
422
+ {
423
+ name: "callData",
424
+ type: "bytes",
425
+ internalType: "bytes"
426
+ },
427
+ {
428
+ name: "accountGasLimits",
429
+ type: "bytes32",
430
+ internalType: "bytes32"
431
+ },
432
+ {
433
+ name: "preVerificationGas",
434
+ type: "uint256",
435
+ internalType: "uint256"
436
+ },
437
+ {
438
+ name: "gasFees",
439
+ type: "bytes32",
440
+ internalType: "bytes32"
441
+ },
442
+ {
443
+ name: "paymasterAndData",
444
+ type: "bytes",
445
+ internalType: "bytes"
446
+ },
447
+ {
448
+ name: "signature",
449
+ type: "bytes",
450
+ internalType: "bytes"
451
+ }
452
+ ]
453
+ },
454
+ {
455
+ name: "target",
456
+ type: "address",
457
+ internalType: "address"
458
+ },
459
+ {
460
+ name: "targetCallData",
461
+ type: "bytes",
462
+ internalType: "bytes"
463
+ }
464
+ ],
465
+ outputs: [
466
+ {
467
+ name: "",
468
+ type: "tuple",
469
+ internalType: "struct IEntryPointSimulations.TargetCallResult",
470
+ components: [
471
+ {
472
+ name: "gasUsed",
473
+ type: "uint256",
474
+ internalType: "uint256"
475
+ },
476
+ {
477
+ name: "success",
478
+ type: "bool",
479
+ internalType: "bool"
480
+ },
481
+ {
482
+ name: "returnData",
483
+ type: "bytes",
484
+ internalType: "bytes"
485
+ }
486
+ ]
487
+ }
488
+ ],
489
+ stateMutability: "nonpayable"
490
+ },
491
+ {
492
+ type: "function",
493
+ name: "simulateCallDataBulk",
494
+ inputs: [
495
+ {
496
+ name: "ops",
497
+ type: "tuple[]",
498
+ internalType: "struct PackedUserOperation[]",
499
+ components: [
500
+ {
501
+ name: "sender",
502
+ type: "address",
503
+ internalType: "address"
504
+ },
505
+ {
506
+ name: "nonce",
507
+ type: "uint256",
508
+ internalType: "uint256"
509
+ },
510
+ {
511
+ name: "initCode",
512
+ type: "bytes",
513
+ internalType: "bytes"
514
+ },
515
+ {
516
+ name: "callData",
517
+ type: "bytes",
518
+ internalType: "bytes"
519
+ },
520
+ {
521
+ name: "accountGasLimits",
522
+ type: "bytes32",
523
+ internalType: "bytes32"
524
+ },
525
+ {
526
+ name: "preVerificationGas",
527
+ type: "uint256",
528
+ internalType: "uint256"
529
+ },
530
+ {
531
+ name: "gasFees",
532
+ type: "bytes32",
533
+ internalType: "bytes32"
534
+ },
535
+ {
536
+ name: "paymasterAndData",
537
+ type: "bytes",
538
+ internalType: "bytes"
539
+ },
540
+ {
541
+ name: "signature",
542
+ type: "bytes",
543
+ internalType: "bytes"
544
+ }
545
+ ]
546
+ },
547
+ {
548
+ name: "targets",
549
+ type: "address[]",
550
+ internalType: "address[]"
551
+ },
552
+ {
553
+ name: "targetCallData",
554
+ type: "bytes[]",
555
+ internalType: "bytes[]"
556
+ }
557
+ ],
558
+ outputs: [
559
+ {
560
+ name: "",
561
+ type: "tuple[]",
562
+ internalType: "struct IEntryPointSimulations.TargetCallResult[]",
563
+ components: [
564
+ {
565
+ name: "gasUsed",
566
+ type: "uint256",
567
+ internalType: "uint256"
568
+ },
569
+ {
570
+ name: "success",
571
+ type: "bool",
572
+ internalType: "bool"
573
+ },
574
+ {
575
+ name: "returnData",
576
+ type: "bytes",
577
+ internalType: "bytes"
578
+ }
579
+ ]
580
+ }
581
+ ],
582
+ stateMutability: "nonpayable"
583
+ },
584
+ {
585
+ type: "function",
586
+ name: "simulateCallDataLast",
587
+ inputs: [
588
+ {
589
+ name: "ops",
590
+ type: "tuple[]",
591
+ internalType: "struct PackedUserOperation[]",
592
+ components: [
593
+ {
594
+ name: "sender",
595
+ type: "address",
596
+ internalType: "address"
597
+ },
598
+ {
599
+ name: "nonce",
600
+ type: "uint256",
601
+ internalType: "uint256"
602
+ },
603
+ {
604
+ name: "initCode",
605
+ type: "bytes",
606
+ internalType: "bytes"
607
+ },
608
+ {
609
+ name: "callData",
610
+ type: "bytes",
611
+ internalType: "bytes"
612
+ },
613
+ {
614
+ name: "accountGasLimits",
615
+ type: "bytes32",
616
+ internalType: "bytes32"
617
+ },
618
+ {
619
+ name: "preVerificationGas",
620
+ type: "uint256",
621
+ internalType: "uint256"
622
+ },
623
+ {
624
+ name: "gasFees",
625
+ type: "bytes32",
626
+ internalType: "bytes32"
627
+ },
628
+ {
629
+ name: "paymasterAndData",
630
+ type: "bytes",
631
+ internalType: "bytes"
632
+ },
633
+ {
634
+ name: "signature",
635
+ type: "bytes",
636
+ internalType: "bytes"
637
+ }
638
+ ]
639
+ },
640
+ {
641
+ name: "targets",
642
+ type: "address[]",
643
+ internalType: "address[]"
644
+ },
645
+ {
646
+ name: "targetCallData",
647
+ type: "bytes[]",
648
+ internalType: "bytes[]"
649
+ }
650
+ ],
651
+ outputs: [
652
+ {
653
+ name: "",
654
+ type: "tuple",
655
+ internalType: "struct IEntryPointSimulations.TargetCallResult",
656
+ components: [
657
+ {
658
+ name: "gasUsed",
659
+ type: "uint256",
660
+ internalType: "uint256"
661
+ },
662
+ {
663
+ name: "success",
664
+ type: "bool",
665
+ internalType: "bool"
666
+ },
667
+ {
668
+ name: "returnData",
669
+ type: "bytes",
670
+ internalType: "bytes"
671
+ }
672
+ ]
673
+ }
674
+ ],
675
+ stateMutability: "nonpayable"
676
+ },
677
+ {
678
+ type: "function",
679
+ name: "simulateHandleOp",
680
+ inputs: [
681
+ {
682
+ name: "op",
683
+ type: "tuple",
684
+ internalType: "struct PackedUserOperation",
685
+ components: [
686
+ {
687
+ name: "sender",
688
+ type: "address",
689
+ internalType: "address"
690
+ },
691
+ {
692
+ name: "nonce",
693
+ type: "uint256",
694
+ internalType: "uint256"
695
+ },
696
+ {
697
+ name: "initCode",
698
+ type: "bytes",
699
+ internalType: "bytes"
700
+ },
701
+ {
702
+ name: "callData",
703
+ type: "bytes",
704
+ internalType: "bytes"
705
+ },
706
+ {
707
+ name: "accountGasLimits",
708
+ type: "bytes32",
709
+ internalType: "bytes32"
710
+ },
711
+ {
712
+ name: "preVerificationGas",
713
+ type: "uint256",
714
+ internalType: "uint256"
715
+ },
716
+ {
717
+ name: "gasFees",
718
+ type: "bytes32",
719
+ internalType: "bytes32"
720
+ },
721
+ {
722
+ name: "paymasterAndData",
723
+ type: "bytes",
724
+ internalType: "bytes"
725
+ },
726
+ {
727
+ name: "signature",
728
+ type: "bytes",
729
+ internalType: "bytes"
730
+ }
731
+ ]
732
+ }
733
+ ],
734
+ outputs: [
735
+ {
736
+ name: "",
737
+ type: "tuple",
738
+ internalType: "struct IEntryPointSimulations.ExecutionResult",
739
+ components: [
740
+ {
741
+ name: "preOpGas",
742
+ type: "uint256",
743
+ internalType: "uint256"
744
+ },
745
+ {
746
+ name: "paid",
747
+ type: "uint256",
748
+ internalType: "uint256"
749
+ },
750
+ {
751
+ name: "accountValidationData",
752
+ type: "uint256",
753
+ internalType: "uint256"
754
+ },
755
+ {
756
+ name: "paymasterValidationData",
757
+ type: "uint256",
758
+ internalType: "uint256"
759
+ },
760
+ {
761
+ name: "paymasterVerificationGasLimit",
762
+ type: "uint256",
763
+ internalType: "uint256"
764
+ },
765
+ {
766
+ name: "paymasterPostOpGasLimit",
767
+ type: "uint256",
768
+ internalType: "uint256"
769
+ },
770
+ {
771
+ name: "targetSuccess",
772
+ type: "bool",
773
+ internalType: "bool"
774
+ },
775
+ {
776
+ name: "targetResult",
777
+ type: "bytes",
778
+ internalType: "bytes"
779
+ }
780
+ ]
781
+ }
782
+ ],
783
+ stateMutability: "nonpayable"
784
+ },
785
+ {
786
+ type: "function",
787
+ name: "simulateHandleOpBulk",
788
+ inputs: [
789
+ {
790
+ name: "ops",
791
+ type: "tuple[]",
792
+ internalType: "struct PackedUserOperation[]",
793
+ components: [
794
+ {
795
+ name: "sender",
796
+ type: "address",
797
+ internalType: "address"
798
+ },
799
+ {
800
+ name: "nonce",
801
+ type: "uint256",
802
+ internalType: "uint256"
803
+ },
804
+ {
805
+ name: "initCode",
806
+ type: "bytes",
807
+ internalType: "bytes"
808
+ },
809
+ {
810
+ name: "callData",
811
+ type: "bytes",
812
+ internalType: "bytes"
813
+ },
814
+ {
815
+ name: "accountGasLimits",
816
+ type: "bytes32",
817
+ internalType: "bytes32"
818
+ },
819
+ {
820
+ name: "preVerificationGas",
821
+ type: "uint256",
822
+ internalType: "uint256"
823
+ },
824
+ {
825
+ name: "gasFees",
826
+ type: "bytes32",
827
+ internalType: "bytes32"
828
+ },
829
+ {
830
+ name: "paymasterAndData",
831
+ type: "bytes",
832
+ internalType: "bytes"
833
+ },
834
+ {
835
+ name: "signature",
836
+ type: "bytes",
837
+ internalType: "bytes"
838
+ }
839
+ ]
840
+ }
841
+ ],
842
+ outputs: [
843
+ {
844
+ name: "",
845
+ type: "tuple[]",
846
+ internalType: "struct IEntryPointSimulations.ExecutionResult[]",
847
+ components: [
848
+ {
849
+ name: "preOpGas",
850
+ type: "uint256",
851
+ internalType: "uint256"
852
+ },
853
+ {
854
+ name: "paid",
855
+ type: "uint256",
856
+ internalType: "uint256"
857
+ },
858
+ {
859
+ name: "accountValidationData",
860
+ type: "uint256",
861
+ internalType: "uint256"
862
+ },
863
+ {
864
+ name: "paymasterValidationData",
865
+ type: "uint256",
866
+ internalType: "uint256"
867
+ },
868
+ {
869
+ name: "paymasterVerificationGasLimit",
870
+ type: "uint256",
871
+ internalType: "uint256"
872
+ },
873
+ {
874
+ name: "paymasterPostOpGasLimit",
875
+ type: "uint256",
876
+ internalType: "uint256"
877
+ },
878
+ {
879
+ name: "targetSuccess",
880
+ type: "bool",
881
+ internalType: "bool"
882
+ },
883
+ {
884
+ name: "targetResult",
885
+ type: "bytes",
886
+ internalType: "bytes"
887
+ }
888
+ ]
889
+ }
890
+ ],
891
+ stateMutability: "nonpayable"
892
+ },
893
+ {
894
+ type: "function",
895
+ name: "simulateHandleOpLast",
896
+ inputs: [
897
+ {
898
+ name: "ops",
899
+ type: "tuple[]",
900
+ internalType: "struct PackedUserOperation[]",
901
+ components: [
902
+ {
903
+ name: "sender",
904
+ type: "address",
905
+ internalType: "address"
906
+ },
907
+ {
908
+ name: "nonce",
909
+ type: "uint256",
910
+ internalType: "uint256"
911
+ },
912
+ {
913
+ name: "initCode",
914
+ type: "bytes",
915
+ internalType: "bytes"
916
+ },
917
+ {
918
+ name: "callData",
919
+ type: "bytes",
920
+ internalType: "bytes"
921
+ },
922
+ {
923
+ name: "accountGasLimits",
924
+ type: "bytes32",
925
+ internalType: "bytes32"
926
+ },
927
+ {
928
+ name: "preVerificationGas",
929
+ type: "uint256",
930
+ internalType: "uint256"
931
+ },
932
+ {
933
+ name: "gasFees",
934
+ type: "bytes32",
935
+ internalType: "bytes32"
936
+ },
937
+ {
938
+ name: "paymasterAndData",
939
+ type: "bytes",
940
+ internalType: "bytes"
941
+ },
942
+ {
943
+ name: "signature",
944
+ type: "bytes",
945
+ internalType: "bytes"
946
+ }
947
+ ]
948
+ }
949
+ ],
950
+ outputs: [
951
+ {
952
+ name: "",
953
+ type: "tuple",
954
+ internalType: "struct IEntryPointSimulations.ExecutionResult",
955
+ components: [
956
+ {
957
+ name: "preOpGas",
958
+ type: "uint256",
959
+ internalType: "uint256"
960
+ },
961
+ {
962
+ name: "paid",
963
+ type: "uint256",
964
+ internalType: "uint256"
965
+ },
966
+ {
967
+ name: "accountValidationData",
968
+ type: "uint256",
969
+ internalType: "uint256"
970
+ },
971
+ {
972
+ name: "paymasterValidationData",
973
+ type: "uint256",
974
+ internalType: "uint256"
975
+ },
976
+ {
977
+ name: "paymasterVerificationGasLimit",
978
+ type: "uint256",
979
+ internalType: "uint256"
980
+ },
981
+ {
982
+ name: "paymasterPostOpGasLimit",
983
+ type: "uint256",
984
+ internalType: "uint256"
985
+ },
986
+ {
987
+ name: "targetSuccess",
988
+ type: "bool",
989
+ internalType: "bool"
990
+ },
991
+ {
992
+ name: "targetResult",
993
+ type: "bytes",
994
+ internalType: "bytes"
995
+ }
996
+ ]
997
+ }
998
+ ],
999
+ stateMutability: "nonpayable"
1000
+ },
1001
+ {
1002
+ type: "function",
1003
+ name: "simulateValidation",
1004
+ inputs: [
1005
+ {
1006
+ name: "userOp",
1007
+ type: "tuple",
1008
+ internalType: "struct PackedUserOperation",
1009
+ components: [
1010
+ {
1011
+ name: "sender",
1012
+ type: "address",
1013
+ internalType: "address"
1014
+ },
1015
+ {
1016
+ name: "nonce",
1017
+ type: "uint256",
1018
+ internalType: "uint256"
1019
+ },
1020
+ {
1021
+ name: "initCode",
1022
+ type: "bytes",
1023
+ internalType: "bytes"
1024
+ },
1025
+ {
1026
+ name: "callData",
1027
+ type: "bytes",
1028
+ internalType: "bytes"
1029
+ },
1030
+ {
1031
+ name: "accountGasLimits",
1032
+ type: "bytes32",
1033
+ internalType: "bytes32"
1034
+ },
1035
+ {
1036
+ name: "preVerificationGas",
1037
+ type: "uint256",
1038
+ internalType: "uint256"
1039
+ },
1040
+ {
1041
+ name: "gasFees",
1042
+ type: "bytes32",
1043
+ internalType: "bytes32"
1044
+ },
1045
+ {
1046
+ name: "paymasterAndData",
1047
+ type: "bytes",
1048
+ internalType: "bytes"
1049
+ },
1050
+ {
1051
+ name: "signature",
1052
+ type: "bytes",
1053
+ internalType: "bytes"
1054
+ }
1055
+ ]
1056
+ }
1057
+ ],
1058
+ outputs: [
1059
+ {
1060
+ name: "",
1061
+ type: "tuple",
1062
+ internalType: "struct IEntryPointSimulations.ValidationResult",
1063
+ components: [
1064
+ {
1065
+ name: "returnInfo",
1066
+ type: "tuple",
1067
+ internalType: "struct IEntryPoint.ReturnInfo",
1068
+ components: [
1069
+ {
1070
+ name: "preOpGas",
1071
+ type: "uint256",
1072
+ internalType: "uint256"
1073
+ },
1074
+ {
1075
+ name: "prefund",
1076
+ type: "uint256",
1077
+ internalType: "uint256"
1078
+ },
1079
+ {
1080
+ name: "accountValidationData",
1081
+ type: "uint256",
1082
+ internalType: "uint256"
1083
+ },
1084
+ {
1085
+ name: "paymasterValidationData",
1086
+ type: "uint256",
1087
+ internalType: "uint256"
1088
+ },
1089
+ {
1090
+ name: "paymasterContext",
1091
+ type: "bytes",
1092
+ internalType: "bytes"
1093
+ }
1094
+ ]
1095
+ },
1096
+ {
1097
+ name: "senderInfo",
1098
+ type: "tuple",
1099
+ internalType: "struct IStakeManager.StakeInfo",
1100
+ components: [
1101
+ {
1102
+ name: "stake",
1103
+ type: "uint256",
1104
+ internalType: "uint256"
1105
+ },
1106
+ {
1107
+ name: "unstakeDelaySec",
1108
+ type: "uint256",
1109
+ internalType: "uint256"
1110
+ }
1111
+ ]
1112
+ },
1113
+ {
1114
+ name: "factoryInfo",
1115
+ type: "tuple",
1116
+ internalType: "struct IStakeManager.StakeInfo",
1117
+ components: [
1118
+ {
1119
+ name: "stake",
1120
+ type: "uint256",
1121
+ internalType: "uint256"
1122
+ },
1123
+ {
1124
+ name: "unstakeDelaySec",
1125
+ type: "uint256",
1126
+ internalType: "uint256"
1127
+ }
1128
+ ]
1129
+ },
1130
+ {
1131
+ name: "paymasterInfo",
1132
+ type: "tuple",
1133
+ internalType: "struct IStakeManager.StakeInfo",
1134
+ components: [
1135
+ {
1136
+ name: "stake",
1137
+ type: "uint256",
1138
+ internalType: "uint256"
1139
+ },
1140
+ {
1141
+ name: "unstakeDelaySec",
1142
+ type: "uint256",
1143
+ internalType: "uint256"
1144
+ }
1145
+ ]
1146
+ },
1147
+ {
1148
+ name: "aggregatorInfo",
1149
+ type: "tuple",
1150
+ internalType: "struct IEntryPoint.AggregatorStakeInfo",
1151
+ components: [
1152
+ {
1153
+ name: "aggregator",
1154
+ type: "address",
1155
+ internalType: "address"
1156
+ },
1157
+ {
1158
+ name: "stakeInfo",
1159
+ type: "tuple",
1160
+ internalType: "struct IStakeManager.StakeInfo",
1161
+ components: [
1162
+ {
1163
+ name: "stake",
1164
+ type: "uint256",
1165
+ internalType: "uint256"
1166
+ },
1167
+ {
1168
+ name: "unstakeDelaySec",
1169
+ type: "uint256",
1170
+ internalType: "uint256"
1171
+ }
1172
+ ]
1173
+ }
1174
+ ]
1175
+ }
1176
+ ]
1177
+ }
1178
+ ],
1179
+ stateMutability: "nonpayable"
1180
+ },
1181
+ {
1182
+ type: "function",
1183
+ name: "simulateValidationBulk",
1184
+ inputs: [
1185
+ {
1186
+ name: "userOps",
1187
+ type: "tuple[]",
1188
+ internalType: "struct PackedUserOperation[]",
1189
+ components: [
1190
+ {
1191
+ name: "sender",
1192
+ type: "address",
1193
+ internalType: "address"
1194
+ },
1195
+ {
1196
+ name: "nonce",
1197
+ type: "uint256",
1198
+ internalType: "uint256"
1199
+ },
1200
+ {
1201
+ name: "initCode",
1202
+ type: "bytes",
1203
+ internalType: "bytes"
1204
+ },
1205
+ {
1206
+ name: "callData",
1207
+ type: "bytes",
1208
+ internalType: "bytes"
1209
+ },
1210
+ {
1211
+ name: "accountGasLimits",
1212
+ type: "bytes32",
1213
+ internalType: "bytes32"
1214
+ },
1215
+ {
1216
+ name: "preVerificationGas",
1217
+ type: "uint256",
1218
+ internalType: "uint256"
1219
+ },
1220
+ {
1221
+ name: "gasFees",
1222
+ type: "bytes32",
1223
+ internalType: "bytes32"
1224
+ },
1225
+ {
1226
+ name: "paymasterAndData",
1227
+ type: "bytes",
1228
+ internalType: "bytes"
1229
+ },
1230
+ {
1231
+ name: "signature",
1232
+ type: "bytes",
1233
+ internalType: "bytes"
1234
+ }
1235
+ ]
1236
+ }
1237
+ ],
1238
+ outputs: [
1239
+ {
1240
+ name: "",
1241
+ type: "tuple[]",
1242
+ internalType: "struct IEntryPointSimulations.ValidationResult[]",
1243
+ components: [
1244
+ {
1245
+ name: "returnInfo",
1246
+ type: "tuple",
1247
+ internalType: "struct IEntryPoint.ReturnInfo",
1248
+ components: [
1249
+ {
1250
+ name: "preOpGas",
1251
+ type: "uint256",
1252
+ internalType: "uint256"
1253
+ },
1254
+ {
1255
+ name: "prefund",
1256
+ type: "uint256",
1257
+ internalType: "uint256"
1258
+ },
1259
+ {
1260
+ name: "accountValidationData",
1261
+ type: "uint256",
1262
+ internalType: "uint256"
1263
+ },
1264
+ {
1265
+ name: "paymasterValidationData",
1266
+ type: "uint256",
1267
+ internalType: "uint256"
1268
+ },
1269
+ {
1270
+ name: "paymasterContext",
1271
+ type: "bytes",
1272
+ internalType: "bytes"
1273
+ }
1274
+ ]
1275
+ },
1276
+ {
1277
+ name: "senderInfo",
1278
+ type: "tuple",
1279
+ internalType: "struct IStakeManager.StakeInfo",
1280
+ components: [
1281
+ {
1282
+ name: "stake",
1283
+ type: "uint256",
1284
+ internalType: "uint256"
1285
+ },
1286
+ {
1287
+ name: "unstakeDelaySec",
1288
+ type: "uint256",
1289
+ internalType: "uint256"
1290
+ }
1291
+ ]
1292
+ },
1293
+ {
1294
+ name: "factoryInfo",
1295
+ type: "tuple",
1296
+ internalType: "struct IStakeManager.StakeInfo",
1297
+ components: [
1298
+ {
1299
+ name: "stake",
1300
+ type: "uint256",
1301
+ internalType: "uint256"
1302
+ },
1303
+ {
1304
+ name: "unstakeDelaySec",
1305
+ type: "uint256",
1306
+ internalType: "uint256"
1307
+ }
1308
+ ]
1309
+ },
1310
+ {
1311
+ name: "paymasterInfo",
1312
+ type: "tuple",
1313
+ internalType: "struct IStakeManager.StakeInfo",
1314
+ components: [
1315
+ {
1316
+ name: "stake",
1317
+ type: "uint256",
1318
+ internalType: "uint256"
1319
+ },
1320
+ {
1321
+ name: "unstakeDelaySec",
1322
+ type: "uint256",
1323
+ internalType: "uint256"
1324
+ }
1325
+ ]
1326
+ },
1327
+ {
1328
+ name: "aggregatorInfo",
1329
+ type: "tuple",
1330
+ internalType: "struct IEntryPoint.AggregatorStakeInfo",
1331
+ components: [
1332
+ {
1333
+ name: "aggregator",
1334
+ type: "address",
1335
+ internalType: "address"
1336
+ },
1337
+ {
1338
+ name: "stakeInfo",
1339
+ type: "tuple",
1340
+ internalType: "struct IStakeManager.StakeInfo",
1341
+ components: [
1342
+ {
1343
+ name: "stake",
1344
+ type: "uint256",
1345
+ internalType: "uint256"
1346
+ },
1347
+ {
1348
+ name: "unstakeDelaySec",
1349
+ type: "uint256",
1350
+ internalType: "uint256"
1351
+ }
1352
+ ]
1353
+ }
1354
+ ]
1355
+ }
1356
+ ]
1357
+ }
1358
+ ],
1359
+ stateMutability: "nonpayable"
1360
+ },
1361
+ {
1362
+ type: "function",
1363
+ name: "simulateValidationLast",
1364
+ inputs: [
1365
+ {
1366
+ name: "userOps",
1367
+ type: "tuple[]",
1368
+ internalType: "struct PackedUserOperation[]",
1369
+ components: [
1370
+ {
1371
+ name: "sender",
1372
+ type: "address",
1373
+ internalType: "address"
1374
+ },
1375
+ {
1376
+ name: "nonce",
1377
+ type: "uint256",
1378
+ internalType: "uint256"
1379
+ },
1380
+ {
1381
+ name: "initCode",
1382
+ type: "bytes",
1383
+ internalType: "bytes"
1384
+ },
1385
+ {
1386
+ name: "callData",
1387
+ type: "bytes",
1388
+ internalType: "bytes"
1389
+ },
1390
+ {
1391
+ name: "accountGasLimits",
1392
+ type: "bytes32",
1393
+ internalType: "bytes32"
1394
+ },
1395
+ {
1396
+ name: "preVerificationGas",
1397
+ type: "uint256",
1398
+ internalType: "uint256"
1399
+ },
1400
+ {
1401
+ name: "gasFees",
1402
+ type: "bytes32",
1403
+ internalType: "bytes32"
1404
+ },
1405
+ {
1406
+ name: "paymasterAndData",
1407
+ type: "bytes",
1408
+ internalType: "bytes"
1409
+ },
1410
+ {
1411
+ name: "signature",
1412
+ type: "bytes",
1413
+ internalType: "bytes"
1414
+ }
1415
+ ]
1416
+ }
1417
+ ],
1418
+ outputs: [
1419
+ {
1420
+ name: "",
1421
+ type: "tuple",
1422
+ internalType: "struct IEntryPointSimulations.ValidationResult",
1423
+ components: [
1424
+ {
1425
+ name: "returnInfo",
1426
+ type: "tuple",
1427
+ internalType: "struct IEntryPoint.ReturnInfo",
1428
+ components: [
1429
+ {
1430
+ name: "preOpGas",
1431
+ type: "uint256",
1432
+ internalType: "uint256"
1433
+ },
1434
+ {
1435
+ name: "prefund",
1436
+ type: "uint256",
1437
+ internalType: "uint256"
1438
+ },
1439
+ {
1440
+ name: "accountValidationData",
1441
+ type: "uint256",
1442
+ internalType: "uint256"
1443
+ },
1444
+ {
1445
+ name: "paymasterValidationData",
1446
+ type: "uint256",
1447
+ internalType: "uint256"
1448
+ },
1449
+ {
1450
+ name: "paymasterContext",
1451
+ type: "bytes",
1452
+ internalType: "bytes"
1453
+ }
1454
+ ]
1455
+ },
1456
+ {
1457
+ name: "senderInfo",
1458
+ type: "tuple",
1459
+ internalType: "struct IStakeManager.StakeInfo",
1460
+ components: [
1461
+ {
1462
+ name: "stake",
1463
+ type: "uint256",
1464
+ internalType: "uint256"
1465
+ },
1466
+ {
1467
+ name: "unstakeDelaySec",
1468
+ type: "uint256",
1469
+ internalType: "uint256"
1470
+ }
1471
+ ]
1472
+ },
1473
+ {
1474
+ name: "factoryInfo",
1475
+ type: "tuple",
1476
+ internalType: "struct IStakeManager.StakeInfo",
1477
+ components: [
1478
+ {
1479
+ name: "stake",
1480
+ type: "uint256",
1481
+ internalType: "uint256"
1482
+ },
1483
+ {
1484
+ name: "unstakeDelaySec",
1485
+ type: "uint256",
1486
+ internalType: "uint256"
1487
+ }
1488
+ ]
1489
+ },
1490
+ {
1491
+ name: "paymasterInfo",
1492
+ type: "tuple",
1493
+ internalType: "struct IStakeManager.StakeInfo",
1494
+ components: [
1495
+ {
1496
+ name: "stake",
1497
+ type: "uint256",
1498
+ internalType: "uint256"
1499
+ },
1500
+ {
1501
+ name: "unstakeDelaySec",
1502
+ type: "uint256",
1503
+ internalType: "uint256"
1504
+ }
1505
+ ]
1506
+ },
1507
+ {
1508
+ name: "aggregatorInfo",
1509
+ type: "tuple",
1510
+ internalType: "struct IEntryPoint.AggregatorStakeInfo",
1511
+ components: [
1512
+ {
1513
+ name: "aggregator",
1514
+ type: "address",
1515
+ internalType: "address"
1516
+ },
1517
+ {
1518
+ name: "stakeInfo",
1519
+ type: "tuple",
1520
+ internalType: "struct IStakeManager.StakeInfo",
1521
+ components: [
1522
+ {
1523
+ name: "stake",
1524
+ type: "uint256",
1525
+ internalType: "uint256"
1526
+ },
1527
+ {
1528
+ name: "unstakeDelaySec",
1529
+ type: "uint256",
1530
+ internalType: "uint256"
1531
+ }
1532
+ ]
1533
+ }
1534
+ ]
1535
+ }
1536
+ ]
1537
+ }
1538
+ ],
1539
+ stateMutability: "nonpayable"
1540
+ },
1541
+ {
1542
+ type: "function",
1543
+ name: "unlockStake",
1544
+ inputs: [],
1545
+ outputs: [],
1546
+ stateMutability: "nonpayable"
1547
+ },
1548
+ {
1549
+ type: "function",
1550
+ name: "withdrawStake",
1551
+ inputs: [
1552
+ {
1553
+ name: "withdrawAddress",
1554
+ type: "address",
1555
+ internalType: "address payable"
1556
+ }
1557
+ ],
1558
+ outputs: [],
1559
+ stateMutability: "nonpayable"
1560
+ },
1561
+ {
1562
+ type: "function",
1563
+ name: "withdrawTo",
1564
+ inputs: [
1565
+ {
1566
+ name: "withdrawAddress",
1567
+ type: "address",
1568
+ internalType: "address payable"
1569
+ },
1570
+ {
1571
+ name: "withdrawAmount",
1572
+ type: "uint256",
1573
+ internalType: "uint256"
1574
+ }
1575
+ ],
1576
+ outputs: [],
1577
+ stateMutability: "nonpayable"
1578
+ },
1579
+ {
1580
+ type: "event",
1581
+ name: "AccountDeployed",
1582
+ inputs: [
1583
+ {
1584
+ name: "userOpHash",
1585
+ type: "bytes32",
1586
+ indexed: true,
1587
+ internalType: "bytes32"
1588
+ },
1589
+ {
1590
+ name: "sender",
1591
+ type: "address",
1592
+ indexed: true,
1593
+ internalType: "address"
1594
+ },
1595
+ {
1596
+ name: "factory",
1597
+ type: "address",
1598
+ indexed: false,
1599
+ internalType: "address"
1600
+ },
1601
+ {
1602
+ name: "paymaster",
1603
+ type: "address",
1604
+ indexed: false,
1605
+ internalType: "address"
1606
+ }
1607
+ ],
1608
+ anonymous: false
1609
+ },
1610
+ {
1611
+ type: "event",
1612
+ name: "BeforeExecution",
1613
+ inputs: [],
1614
+ anonymous: false
1615
+ },
1616
+ {
1617
+ type: "event",
1618
+ name: "Deposited",
1619
+ inputs: [
1620
+ {
1621
+ name: "account",
1622
+ type: "address",
1623
+ indexed: true,
1624
+ internalType: "address"
1625
+ },
1626
+ {
1627
+ name: "totalDeposit",
1628
+ type: "uint256",
1629
+ indexed: false,
1630
+ internalType: "uint256"
1631
+ }
1632
+ ],
1633
+ anonymous: false
1634
+ },
1635
+ {
1636
+ type: "event",
1637
+ name: "PostOpRevertReason",
1638
+ inputs: [
1639
+ {
1640
+ name: "userOpHash",
1641
+ type: "bytes32",
1642
+ indexed: true,
1643
+ internalType: "bytes32"
1644
+ },
1645
+ {
1646
+ name: "sender",
1647
+ type: "address",
1648
+ indexed: true,
1649
+ internalType: "address"
1650
+ },
1651
+ {
1652
+ name: "nonce",
1653
+ type: "uint256",
1654
+ indexed: false,
1655
+ internalType: "uint256"
1656
+ },
1657
+ {
1658
+ name: "revertReason",
1659
+ type: "bytes",
1660
+ indexed: false,
1661
+ internalType: "bytes"
1662
+ }
1663
+ ],
1664
+ anonymous: false
1665
+ },
1666
+ {
1667
+ type: "event",
1668
+ name: "SignatureAggregatorChanged",
1669
+ inputs: [
1670
+ {
1671
+ name: "aggregator",
1672
+ type: "address",
1673
+ indexed: true,
1674
+ internalType: "address"
1675
+ }
1676
+ ],
1677
+ anonymous: false
1678
+ },
1679
+ {
1680
+ type: "event",
1681
+ name: "StakeLocked",
1682
+ inputs: [
1683
+ {
1684
+ name: "account",
1685
+ type: "address",
1686
+ indexed: true,
1687
+ internalType: "address"
1688
+ },
1689
+ {
1690
+ name: "totalStaked",
1691
+ type: "uint256",
1692
+ indexed: false,
1693
+ internalType: "uint256"
1694
+ },
1695
+ {
1696
+ name: "unstakeDelaySec",
1697
+ type: "uint256",
1698
+ indexed: false,
1699
+ internalType: "uint256"
1700
+ }
1701
+ ],
1702
+ anonymous: false
1703
+ },
1704
+ {
1705
+ type: "event",
1706
+ name: "StakeUnlocked",
1707
+ inputs: [
1708
+ {
1709
+ name: "account",
1710
+ type: "address",
1711
+ indexed: true,
1712
+ internalType: "address"
1713
+ },
1714
+ {
1715
+ name: "withdrawTime",
1716
+ type: "uint256",
1717
+ indexed: false,
1718
+ internalType: "uint256"
1719
+ }
1720
+ ],
1721
+ anonymous: false
1722
+ },
1723
+ {
1724
+ type: "event",
1725
+ name: "StakeWithdrawn",
1726
+ inputs: [
1727
+ {
1728
+ name: "account",
1729
+ type: "address",
1730
+ indexed: true,
1731
+ internalType: "address"
1732
+ },
1733
+ {
1734
+ name: "withdrawAddress",
1735
+ type: "address",
1736
+ indexed: false,
1737
+ internalType: "address"
1738
+ },
1739
+ {
1740
+ name: "amount",
1741
+ type: "uint256",
1742
+ indexed: false,
1743
+ internalType: "uint256"
1744
+ }
1745
+ ],
1746
+ anonymous: false
1747
+ },
1748
+ {
1749
+ type: "event",
1750
+ name: "UserOperationEvent",
1751
+ inputs: [
1752
+ {
1753
+ name: "userOpHash",
1754
+ type: "bytes32",
1755
+ indexed: true,
1756
+ internalType: "bytes32"
1757
+ },
1758
+ {
1759
+ name: "sender",
1760
+ type: "address",
1761
+ indexed: true,
1762
+ internalType: "address"
1763
+ },
1764
+ {
1765
+ name: "paymaster",
1766
+ type: "address",
1767
+ indexed: true,
1768
+ internalType: "address"
1769
+ },
1770
+ {
1771
+ name: "nonce",
1772
+ type: "uint256",
1773
+ indexed: false,
1774
+ internalType: "uint256"
1775
+ },
1776
+ {
1777
+ name: "success",
1778
+ type: "bool",
1779
+ indexed: false,
1780
+ internalType: "bool"
1781
+ },
1782
+ {
1783
+ name: "actualGasCost",
1784
+ type: "uint256",
1785
+ indexed: false,
1786
+ internalType: "uint256"
1787
+ },
1788
+ {
1789
+ name: "actualGasUsed",
1790
+ type: "uint256",
1791
+ indexed: false,
1792
+ internalType: "uint256"
1793
+ }
1794
+ ],
1795
+ anonymous: false
1796
+ },
1797
+ {
1798
+ type: "event",
1799
+ name: "UserOperationPrefundTooLow",
1800
+ inputs: [
1801
+ {
1802
+ name: "userOpHash",
1803
+ type: "bytes32",
1804
+ indexed: true,
1805
+ internalType: "bytes32"
1806
+ },
1807
+ {
1808
+ name: "sender",
1809
+ type: "address",
1810
+ indexed: true,
1811
+ internalType: "address"
1812
+ },
1813
+ {
1814
+ name: "nonce",
1815
+ type: "uint256",
1816
+ indexed: false,
1817
+ internalType: "uint256"
1818
+ }
1819
+ ],
1820
+ anonymous: false
1821
+ },
1822
+ {
1823
+ type: "event",
1824
+ name: "UserOperationRevertReason",
1825
+ inputs: [
1826
+ {
1827
+ name: "userOpHash",
1828
+ type: "bytes32",
1829
+ indexed: true,
1830
+ internalType: "bytes32"
1831
+ },
1832
+ {
1833
+ name: "sender",
1834
+ type: "address",
1835
+ indexed: true,
1836
+ internalType: "address"
1837
+ },
1838
+ {
1839
+ name: "nonce",
1840
+ type: "uint256",
1841
+ indexed: false,
1842
+ internalType: "uint256"
1843
+ },
1844
+ {
1845
+ name: "revertReason",
1846
+ type: "bytes",
1847
+ indexed: false,
1848
+ internalType: "bytes"
1849
+ }
1850
+ ],
1851
+ anonymous: false
1852
+ },
1853
+ {
1854
+ type: "event",
1855
+ name: "Withdrawn",
1856
+ inputs: [
1857
+ {
1858
+ name: "account",
1859
+ type: "address",
1860
+ indexed: true,
1861
+ internalType: "address"
1862
+ },
1863
+ {
1864
+ name: "withdrawAddress",
1865
+ type: "address",
1866
+ indexed: false,
1867
+ internalType: "address"
1868
+ },
1869
+ {
1870
+ name: "amount",
1871
+ type: "uint256",
1872
+ indexed: false,
1873
+ internalType: "uint256"
1874
+ }
1875
+ ],
1876
+ anonymous: false
1877
+ },
1878
+ {
1879
+ type: "error",
1880
+ name: "FailedOp",
1881
+ inputs: [
1882
+ {
1883
+ name: "opIndex",
1884
+ type: "uint256",
1885
+ internalType: "uint256"
1886
+ },
1887
+ {
1888
+ name: "reason",
1889
+ type: "string",
1890
+ internalType: "string"
1891
+ }
1892
+ ]
1893
+ },
1894
+ {
1895
+ type: "error",
1896
+ name: "FailedOpWithRevert",
1897
+ inputs: [
1898
+ {
1899
+ name: "opIndex",
1900
+ type: "uint256",
1901
+ internalType: "uint256"
1902
+ },
1903
+ {
1904
+ name: "reason",
1905
+ type: "string",
1906
+ internalType: "string"
1907
+ },
1908
+ {
1909
+ name: "inner",
1910
+ type: "bytes",
1911
+ internalType: "bytes"
1912
+ }
1913
+ ]
1914
+ },
1915
+ {
1916
+ type: "error",
1917
+ name: "PostOpReverted",
1918
+ inputs: [
1919
+ {
1920
+ name: "returnData",
1921
+ type: "bytes",
1922
+ internalType: "bytes"
1923
+ }
1924
+ ]
1925
+ },
1926
+ {
1927
+ type: "error",
1928
+ name: "ReentrancyGuardReentrantCall",
1929
+ inputs: []
1930
+ },
1931
+ {
1932
+ type: "error",
1933
+ name: "SenderAddressResult",
1934
+ inputs: [
1935
+ {
1936
+ name: "sender",
1937
+ type: "address",
1938
+ internalType: "address"
1939
+ }
1940
+ ]
1941
+ },
1942
+ {
1943
+ type: "error",
1944
+ name: "SignatureValidationFailed",
1945
+ inputs: [
1946
+ {
1947
+ name: "aggregator",
1948
+ type: "address",
1949
+ internalType: "address"
1950
+ }
1951
+ ]
1952
+ }
1953
+ ];
15
1954
  //# sourceMappingURL=EntryPointSimulations.js.map