ox 1.0.0-beta.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/CHANGELOG.md +1143 -0
  2. package/dist/core/AbiParameters.d.ts.map +1 -1
  3. package/dist/core/AbiParameters.js +4 -1
  4. package/dist/core/AbiParameters.js.map +1 -1
  5. package/dist/core/Rlp.d.ts +27 -5
  6. package/dist/core/Rlp.d.ts.map +1 -1
  7. package/dist/core/Rlp.js +40 -4
  8. package/dist/core/Rlp.js.map +1 -1
  9. package/dist/core/RpcSchema.d.ts +1 -1
  10. package/dist/core/internal/abiParameters.d.ts.map +1 -1
  11. package/dist/core/internal/abiParameters.js +21 -3
  12. package/dist/core/internal/abiParameters.js.map +1 -1
  13. package/dist/core/internal/rpcSchemas/eth.d.ts +36 -0
  14. package/dist/core/internal/rpcSchemas/eth.d.ts.map +1 -1
  15. package/dist/erc4337/EntryPoint.d.ts +1072 -1
  16. package/dist/erc4337/EntryPoint.d.ts.map +1 -1
  17. package/dist/erc4337/EntryPoint.js +872 -0
  18. package/dist/erc4337/EntryPoint.js.map +1 -1
  19. package/dist/erc4337/RpcSchema.d.ts +2 -2
  20. package/dist/erc4337/RpcSchema.d.ts.map +1 -1
  21. package/dist/erc4337/UserOperation.d.ts +39 -10
  22. package/dist/erc4337/UserOperation.d.ts.map +1 -1
  23. package/dist/erc4337/UserOperation.js +62 -48
  24. package/dist/erc4337/UserOperation.js.map +1 -1
  25. package/dist/erc4337/UserOperationGas.d.ts +9 -5
  26. package/dist/erc4337/UserOperationGas.d.ts.map +1 -1
  27. package/dist/erc4337/UserOperationGas.js +17 -15
  28. package/dist/erc4337/UserOperationGas.js.map +1 -1
  29. package/dist/erc4337/UserOperationReceipt.d.ts +4 -4
  30. package/dist/erc4337/UserOperationReceipt.d.ts.map +1 -1
  31. package/dist/erc4337/UserOperationReceipt.js.map +1 -1
  32. package/dist/tempo/Channel.d.ts +8 -14
  33. package/dist/tempo/Channel.d.ts.map +1 -1
  34. package/dist/tempo/Channel.js +4 -8
  35. package/dist/tempo/Channel.js.map +1 -1
  36. package/dist/tempo/KeyAuthorization.d.ts +5 -5
  37. package/dist/tempo/KeyAuthorization.d.ts.map +1 -1
  38. package/dist/tempo/KeyAuthorization.js +4 -4
  39. package/dist/tempo/KeyAuthorization.js.map +1 -1
  40. package/dist/tempo/MultisigConfig.d.ts +37 -85
  41. package/dist/tempo/MultisigConfig.d.ts.map +1 -1
  42. package/dist/tempo/MultisigConfig.js +39 -83
  43. package/dist/tempo/MultisigConfig.js.map +1 -1
  44. package/dist/tempo/PoolId.d.ts +8 -7
  45. package/dist/tempo/PoolId.d.ts.map +1 -1
  46. package/dist/tempo/PoolId.js +10 -6
  47. package/dist/tempo/PoolId.js.map +1 -1
  48. package/dist/tempo/SignatureEnvelope.d.ts +32 -30
  49. package/dist/tempo/SignatureEnvelope.d.ts.map +1 -1
  50. package/dist/tempo/SignatureEnvelope.js +56 -51
  51. package/dist/tempo/SignatureEnvelope.js.map +1 -1
  52. package/dist/tempo/Transaction.d.ts +16 -5
  53. package/dist/tempo/Transaction.d.ts.map +1 -1
  54. package/dist/tempo/Transaction.js +34 -7
  55. package/dist/tempo/Transaction.js.map +1 -1
  56. package/dist/tempo/TransactionReceipt.d.ts +3 -3
  57. package/dist/tempo/TransactionReceipt.d.ts.map +1 -1
  58. package/dist/tempo/TransactionReceipt.js +8 -1
  59. package/dist/tempo/TransactionReceipt.js.map +1 -1
  60. package/dist/tempo/TransactionRequest.d.ts +15 -2
  61. package/dist/tempo/TransactionRequest.d.ts.map +1 -1
  62. package/dist/tempo/TransactionRequest.js +65 -29
  63. package/dist/tempo/TransactionRequest.js.map +1 -1
  64. package/dist/tempo/TxEnvelopeTempo.d.ts +2 -3
  65. package/dist/tempo/TxEnvelopeTempo.d.ts.map +1 -1
  66. package/dist/tempo/TxEnvelopeTempo.js +5 -6
  67. package/dist/tempo/TxEnvelopeTempo.js.map +1 -1
  68. package/dist/tempo/index.d.ts +6 -26
  69. package/dist/tempo/index.d.ts.map +1 -1
  70. package/dist/tempo/index.js +6 -26
  71. package/dist/tempo/index.js.map +1 -1
  72. package/dist/zod/Abi.d.ts +214 -0
  73. package/dist/zod/Abi.d.ts.map +1 -0
  74. package/dist/zod/Abi.js +5 -0
  75. package/dist/zod/Abi.js.map +1 -0
  76. package/dist/zod/AbiConstructor.d.ts +58 -0
  77. package/dist/zod/AbiConstructor.d.ts.map +1 -0
  78. package/dist/zod/AbiConstructor.js +18 -0
  79. package/dist/zod/AbiConstructor.js.map +1 -0
  80. package/dist/zod/AbiError.d.ts +20 -0
  81. package/dist/zod/AbiError.d.ts.map +1 -0
  82. package/dist/zod/AbiError.js +9 -0
  83. package/dist/zod/AbiError.js.map +1 -0
  84. package/dist/zod/AbiEvent.d.ts +23 -0
  85. package/dist/zod/AbiEvent.d.ts.map +1 -0
  86. package/dist/zod/AbiEvent.js +11 -0
  87. package/dist/zod/AbiEvent.js.map +1 -0
  88. package/dist/zod/AbiFallback.d.ts +16 -0
  89. package/dist/zod/AbiFallback.d.ts.map +1 -0
  90. package/dist/zod/AbiFallback.js +16 -0
  91. package/dist/zod/AbiFallback.js.map +1 -0
  92. package/dist/zod/AbiFunction.d.ts +109 -0
  93. package/dist/zod/AbiFunction.d.ts.map +1 -0
  94. package/dist/zod/AbiFunction.js +26 -0
  95. package/dist/zod/AbiFunction.js.map +1 -0
  96. package/dist/zod/AbiItem.d.ts +216 -0
  97. package/dist/zod/AbiItem.d.ts.map +1 -0
  98. package/dist/zod/AbiItem.js +26 -0
  99. package/dist/zod/AbiItem.js.map +1 -0
  100. package/dist/zod/AbiParameter.d.ts +32 -0
  101. package/dist/zod/AbiParameter.d.ts.map +1 -0
  102. package/dist/zod/AbiParameter.js +28 -0
  103. package/dist/zod/AbiParameter.js.map +1 -0
  104. package/dist/zod/AbiParameters.d.ts +30 -0
  105. package/dist/zod/AbiParameters.d.ts.map +1 -0
  106. package/dist/zod/AbiParameters.js +6 -0
  107. package/dist/zod/AbiParameters.js.map +1 -0
  108. package/dist/zod/AbiReceive.d.ts +6 -0
  109. package/dist/zod/AbiReceive.d.ts.map +1 -0
  110. package/dist/zod/AbiReceive.js +7 -0
  111. package/dist/zod/AbiReceive.js.map +1 -0
  112. package/dist/zod/RpcSchema.d.ts +1 -0
  113. package/dist/zod/RpcSchema.d.ts.map +1 -1
  114. package/dist/zod/Solidity.d.ts +15 -0
  115. package/dist/zod/Solidity.d.ts.map +1 -0
  116. package/dist/zod/Solidity.js +41 -0
  117. package/dist/zod/Solidity.js.map +1 -0
  118. package/dist/zod/TypedData.d.ts +226 -0
  119. package/dist/zod/TypedData.d.ts.map +1 -0
  120. package/dist/zod/TypedData.js +84 -0
  121. package/dist/zod/TypedData.js.map +1 -0
  122. package/dist/zod/internal/rpcSchemas/Eth.d.ts +1 -0
  123. package/dist/zod/internal/rpcSchemas/Eth.d.ts.map +1 -1
  124. package/dist/zod/internal/rpcSchemas/Eth.js +5 -0
  125. package/dist/zod/internal/rpcSchemas/Eth.js.map +1 -1
  126. package/dist/zod/tempo/AuthorizationTempo.d.ts +0 -20
  127. package/dist/zod/tempo/AuthorizationTempo.d.ts.map +1 -1
  128. package/dist/zod/tempo/KeyAuthorization.d.ts +503 -67
  129. package/dist/zod/tempo/KeyAuthorization.d.ts.map +1 -1
  130. package/dist/zod/tempo/KeyAuthorization.js +32 -15
  131. package/dist/zod/tempo/KeyAuthorization.js.map +1 -1
  132. package/dist/zod/tempo/RpcSchemaTempo.d.ts +216 -34
  133. package/dist/zod/tempo/RpcSchemaTempo.d.ts.map +1 -1
  134. package/dist/zod/tempo/SignatureEnvelope.d.ts +0 -6
  135. package/dist/zod/tempo/SignatureEnvelope.d.ts.map +1 -1
  136. package/dist/zod/tempo/SignatureEnvelope.js +0 -2
  137. package/dist/zod/tempo/SignatureEnvelope.js.map +1 -1
  138. package/dist/zod/tempo/Transaction.d.ts +1479 -333
  139. package/dist/zod/tempo/Transaction.d.ts.map +1 -1
  140. package/dist/zod/tempo/Transaction.js +65 -16
  141. package/dist/zod/tempo/Transaction.js.map +1 -1
  142. package/dist/zod/tempo/TransactionRequest.d.ts +410 -57
  143. package/dist/zod/tempo/TransactionRequest.d.ts.map +1 -1
  144. package/dist/zod/tempo/TransactionRequest.js +81 -18
  145. package/dist/zod/tempo/TransactionRequest.js.map +1 -1
  146. package/dist/zod/tempo/TxEnvelopeTempo.d.ts +225 -18
  147. package/dist/zod/tempo/TxEnvelopeTempo.d.ts.map +1 -1
  148. package/dist/zod/tempo/TxEnvelopeTempo.js +1 -1
  149. package/dist/zod/tempo/TxEnvelopeTempo.js.map +1 -1
  150. package/dist/zod/tempo/ZoneRpcAuthentication.d.ts +0 -3
  151. package/dist/zod/tempo/ZoneRpcAuthentication.d.ts.map +1 -1
  152. package/dist/zod/tempo/z.d.ts +0 -1
  153. package/dist/zod/tempo/z.d.ts.map +1 -1
  154. package/dist/zod/tempo/z.js +0 -1
  155. package/dist/zod/tempo/z.js.map +1 -1
  156. package/dist/zod/z.d.ts +12 -0
  157. package/dist/zod/z.d.ts.map +1 -1
  158. package/dist/zod/z.js +12 -0
  159. package/dist/zod/z.js.map +1 -1
  160. package/package.json +62 -11
  161. package/src/core/AbiParameters.ts +3 -1
  162. package/src/core/Rlp.ts +66 -3
  163. package/src/core/RpcSchema.ts +1 -1
  164. package/src/core/_test/AbiParameters.decode.test.ts +88 -12
  165. package/src/core/_test/AbiParameters.encode.test.ts +68 -0
  166. package/src/core/_test/Rlp.test.ts +101 -0
  167. package/src/core/internal/abiParameters.ts +21 -3
  168. package/src/core/internal/rpcSchemas/eth.ts +36 -0
  169. package/src/erc4337/EntryPoint.ts +875 -1
  170. package/src/erc4337/RpcSchema.ts +4 -2
  171. package/src/erc4337/UserOperation.ts +130 -60
  172. package/src/erc4337/UserOperationGas.ts +36 -28
  173. package/src/erc4337/UserOperationReceipt.ts +15 -7
  174. package/src/erc4337/_test/EntryPoint.test.ts +48 -0
  175. package/src/erc4337/_test/RpcSchema.test-d.ts +56 -0
  176. package/src/erc4337/_test/UserOperation.snap-d.ts +31 -0
  177. package/src/erc4337/_test/UserOperation.test.ts +221 -5
  178. package/src/erc4337/_test/UserOperationGas.test.ts +30 -1
  179. package/src/tempo/Channel.test.ts +2 -23
  180. package/src/tempo/Channel.ts +10 -22
  181. package/src/tempo/KeyAuthorization.test.ts +22 -0
  182. package/src/tempo/KeyAuthorization.ts +9 -9
  183. package/src/tempo/MultisigConfig.test.ts +54 -37
  184. package/src/tempo/MultisigConfig.ts +59 -134
  185. package/src/tempo/PoolId.test.ts +7 -41
  186. package/src/tempo/PoolId.ts +15 -10
  187. package/src/tempo/SignatureEnvelope.test.ts +118 -17
  188. package/src/tempo/SignatureEnvelope.ts +77 -72
  189. package/src/tempo/Transaction.test.ts +0 -15
  190. package/src/tempo/Transaction.ts +63 -12
  191. package/src/tempo/TransactionReceipt.test.ts +76 -0
  192. package/src/tempo/TransactionReceipt.ts +11 -5
  193. package/src/tempo/TransactionRequest.test.ts +174 -1
  194. package/src/tempo/TransactionRequest.ts +84 -32
  195. package/src/tempo/TxEnvelopeTempo.test.ts +2 -2
  196. package/src/tempo/TxEnvelopeTempo.ts +7 -7
  197. package/src/tempo/e2e.test.ts +228 -50
  198. package/src/tempo/index.ts +6 -26
  199. package/src/version.ts +1 -1
  200. package/src/zod/Abi.ts +5 -0
  201. package/src/zod/AbiConstructor.ts +24 -0
  202. package/src/zod/AbiError.ts +9 -0
  203. package/src/zod/AbiEvent.ts +11 -0
  204. package/src/zod/AbiFallback.ts +22 -0
  205. package/src/zod/AbiFunction.ts +32 -0
  206. package/src/zod/AbiItem.ts +28 -0
  207. package/src/zod/AbiParameter.ts +36 -0
  208. package/src/zod/AbiParameters.ts +7 -0
  209. package/src/zod/AbiReceive.ts +7 -0
  210. package/src/zod/Solidity.ts +83 -0
  211. package/src/zod/TypedData.ts +111 -0
  212. package/src/zod/_test/Abi.test-d.ts +46 -0
  213. package/src/zod/_test/Abi.test.ts +163 -0
  214. package/src/zod/_test/TypedData.test-d.ts +20 -0
  215. package/src/zod/_test/TypedData.test.ts +87 -0
  216. package/src/zod/_test/z.test-d.ts +6 -0
  217. package/src/zod/_test/z.test.ts +17 -0
  218. package/src/zod/internal/rpcSchemas/Eth.ts +6 -0
  219. package/src/zod/tempo/KeyAuthorization.ts +34 -15
  220. package/src/zod/tempo/SignatureEnvelope.ts +0 -2
  221. package/src/zod/tempo/Transaction.ts +84 -22
  222. package/src/zod/tempo/TransactionRequest.ts +86 -20
  223. package/src/zod/tempo/TxEnvelopeTempo.ts +1 -1
  224. package/src/zod/tempo/_test/KeyAuthorization.test.ts +53 -0
  225. package/src/zod/tempo/_test/SignatureEnvelope.test.ts +0 -2
  226. package/src/zod/tempo/_test/Transaction.test.ts +155 -0
  227. package/src/zod/tempo/_test/TransactionRequest.test.ts +44 -0
  228. package/src/zod/tempo/z.ts +0 -1
  229. package/src/zod/z.ts +12 -0
  230. package/dist/tempo/TokenId.d.ts +0 -87
  231. package/dist/tempo/TokenId.d.ts.map +0 -1
  232. package/dist/tempo/TokenId.js +0 -123
  233. package/dist/tempo/TokenId.js.map +0 -1
  234. package/dist/zod/tempo/TokenId.d.ts +0 -6
  235. package/dist/zod/tempo/TokenId.d.ts.map +0 -1
  236. package/dist/zod/tempo/TokenId.js +0 -14
  237. package/dist/zod/tempo/TokenId.js.map +0 -1
  238. package/src/CHANGELOG.md +0 -820
  239. package/src/tempo/TokenId.bench.ts +0 -36
  240. package/src/tempo/TokenId.test.ts +0 -79
  241. package/src/tempo/TokenId.ts +0 -141
  242. package/src/zod/tempo/TokenId.ts +0 -15
  243. package/src/zod/tempo/_test/TokenId.test-d.ts +0 -17
  244. package/src/zod/tempo/_test/TokenId.test.ts +0 -21
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @see https://github.com/eth-infinitism/account-abstraction/releases
5
5
  */
6
- export type Version = '0.6' | '0.7' | '0.8'
6
+ export type Version = '0.6' | '0.7' | '0.8' | '0.9'
7
7
 
8
8
  /** EntryPoint 0.6 ABI. */
9
9
  export const abiV06 = [
@@ -2104,6 +2104,877 @@ export const abiV08 = [
2104
2104
  { stateMutability: 'payable', type: 'receive' },
2105
2105
  ] as const
2106
2106
 
2107
+ /** EntryPoint 0.9 ABI. */
2108
+ export const abiV09 = [
2109
+ { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },
2110
+ {
2111
+ inputs: [
2112
+ { internalType: 'bool', name: 'success', type: 'bool' },
2113
+ { internalType: 'bytes', name: 'ret', type: 'bytes' },
2114
+ ],
2115
+ name: 'DelegateAndRevert',
2116
+ type: 'error',
2117
+ },
2118
+ {
2119
+ inputs: [
2120
+ { internalType: 'address', name: 'account', type: 'address' },
2121
+ { internalType: 'address', name: 'withdrawAddress', type: 'address' },
2122
+ { internalType: 'uint256', name: 'amount', type: 'uint256' },
2123
+ { internalType: 'bytes', name: 'revertReason', type: 'bytes' },
2124
+ ],
2125
+ name: 'DepositWithdrawalFailed',
2126
+ type: 'error',
2127
+ },
2128
+ {
2129
+ inputs: [{ internalType: 'address', name: 'sender', type: 'address' }],
2130
+ name: 'Eip7702SenderNotDelegate',
2131
+ type: 'error',
2132
+ },
2133
+ {
2134
+ inputs: [{ internalType: 'address', name: 'sender', type: 'address' }],
2135
+ name: 'Eip7702SenderWithoutCode',
2136
+ type: 'error',
2137
+ },
2138
+ {
2139
+ inputs: [
2140
+ { internalType: 'uint256', name: 'opIndex', type: 'uint256' },
2141
+ { internalType: 'string', name: 'reason', type: 'string' },
2142
+ ],
2143
+ name: 'FailedOp',
2144
+ type: 'error',
2145
+ },
2146
+ {
2147
+ inputs: [
2148
+ { internalType: 'uint256', name: 'opIndex', type: 'uint256' },
2149
+ { internalType: 'string', name: 'reason', type: 'string' },
2150
+ { internalType: 'bytes', name: 'inner', type: 'bytes' },
2151
+ ],
2152
+ name: 'FailedOpWithRevert',
2153
+ type: 'error',
2154
+ },
2155
+ {
2156
+ inputs: [
2157
+ { internalType: 'address', name: 'beneficiary', type: 'address' },
2158
+ { internalType: 'uint256', name: 'amount', type: 'uint256' },
2159
+ { internalType: 'bytes', name: 'revertData', type: 'bytes' },
2160
+ ],
2161
+ name: 'FailedSendToBeneficiary',
2162
+ type: 'error',
2163
+ },
2164
+ {
2165
+ inputs: [
2166
+ { internalType: 'uint256', name: 'currentDeposit', type: 'uint256' },
2167
+ { internalType: 'uint256', name: 'withdrawAmount', type: 'uint256' },
2168
+ ],
2169
+ name: 'InsufficientDeposit',
2170
+ type: 'error',
2171
+ },
2172
+ { inputs: [], name: 'InternalFunction', type: 'error' },
2173
+ {
2174
+ inputs: [{ internalType: 'address', name: 'beneficiary', type: 'address' }],
2175
+ name: 'InvalidBeneficiary',
2176
+ type: 'error',
2177
+ },
2178
+ {
2179
+ inputs: [{ internalType: 'address', name: 'paymaster', type: 'address' }],
2180
+ name: 'InvalidPaymaster',
2181
+ type: 'error',
2182
+ },
2183
+ {
2184
+ inputs: [
2185
+ {
2186
+ internalType: 'uint256',
2187
+ name: 'paymasterAndDataLength',
2188
+ type: 'uint256',
2189
+ },
2190
+ ],
2191
+ name: 'InvalidPaymasterData',
2192
+ type: 'error',
2193
+ },
2194
+ {
2195
+ inputs: [
2196
+ { internalType: 'uint256', name: 'dataLength', type: 'uint256' },
2197
+ { internalType: 'uint256', name: 'pmSignatureLength', type: 'uint256' },
2198
+ ],
2199
+ name: 'InvalidPaymasterSignatureLength',
2200
+ type: 'error',
2201
+ },
2202
+ { inputs: [], name: 'InvalidShortString', type: 'error' },
2203
+ {
2204
+ inputs: [
2205
+ { internalType: 'uint256', name: 'msgValue', type: 'uint256' },
2206
+ { internalType: 'uint256', name: 'currentStake', type: 'uint256' },
2207
+ ],
2208
+ name: 'InvalidStake',
2209
+ type: 'error',
2210
+ },
2211
+ {
2212
+ inputs: [
2213
+ { internalType: 'uint256', name: 'newUnstakeDelaySec', type: 'uint256' },
2214
+ {
2215
+ internalType: 'uint256',
2216
+ name: 'currentUnstakeDelaySec',
2217
+ type: 'uint256',
2218
+ },
2219
+ ],
2220
+ name: 'InvalidUnstakeDelay',
2221
+ type: 'error',
2222
+ },
2223
+ {
2224
+ inputs: [
2225
+ { internalType: 'uint256', name: 'currentStake', type: 'uint256' },
2226
+ { internalType: 'uint256', name: 'unstakeDelaySec', type: 'uint256' },
2227
+ { internalType: 'bool', name: 'staked', type: 'bool' },
2228
+ ],
2229
+ name: 'NotStaked',
2230
+ type: 'error',
2231
+ },
2232
+ {
2233
+ inputs: [{ internalType: 'bytes', name: 'returnData', type: 'bytes' }],
2234
+ name: 'PostOpReverted',
2235
+ type: 'error',
2236
+ },
2237
+ { inputs: [], name: 'Reentrancy', type: 'error' },
2238
+ {
2239
+ inputs: [{ internalType: 'address', name: 'sender', type: 'address' }],
2240
+ name: 'SenderAddressResult',
2241
+ type: 'error',
2242
+ },
2243
+ {
2244
+ inputs: [{ internalType: 'address', name: 'aggregator', type: 'address' }],
2245
+ name: 'SignatureValidationFailed',
2246
+ type: 'error',
2247
+ },
2248
+ {
2249
+ inputs: [
2250
+ { internalType: 'uint256', name: 'withdrawTime', type: 'uint256' },
2251
+ { internalType: 'uint256', name: 'blockTimestamp', type: 'uint256' },
2252
+ ],
2253
+ name: 'StakeNotUnlocked',
2254
+ type: 'error',
2255
+ },
2256
+ {
2257
+ inputs: [
2258
+ { internalType: 'address', name: 'account', type: 'address' },
2259
+ { internalType: 'address', name: 'withdrawAddress', type: 'address' },
2260
+ { internalType: 'uint256', name: 'amount', type: 'uint256' },
2261
+ { internalType: 'bytes', name: 'revertReason', type: 'bytes' },
2262
+ ],
2263
+ name: 'StakeWithdrawalFailed',
2264
+ type: 'error',
2265
+ },
2266
+ {
2267
+ inputs: [{ internalType: 'string', name: 'str', type: 'string' }],
2268
+ name: 'StringTooLong',
2269
+ type: 'error',
2270
+ },
2271
+ {
2272
+ inputs: [
2273
+ { internalType: 'uint256', name: 'withdrawTime', type: 'uint256' },
2274
+ { internalType: 'uint256', name: 'blockTimestamp', type: 'uint256' },
2275
+ ],
2276
+ name: 'WithdrawalNotDue',
2277
+ type: 'error',
2278
+ },
2279
+ {
2280
+ anonymous: false,
2281
+ inputs: [
2282
+ {
2283
+ indexed: true,
2284
+ internalType: 'bytes32',
2285
+ name: 'userOpHash',
2286
+ type: 'bytes32',
2287
+ },
2288
+ {
2289
+ indexed: true,
2290
+ internalType: 'address',
2291
+ name: 'sender',
2292
+ type: 'address',
2293
+ },
2294
+ {
2295
+ indexed: false,
2296
+ internalType: 'address',
2297
+ name: 'factory',
2298
+ type: 'address',
2299
+ },
2300
+ {
2301
+ indexed: false,
2302
+ internalType: 'address',
2303
+ name: 'paymaster',
2304
+ type: 'address',
2305
+ },
2306
+ ],
2307
+ name: 'AccountDeployed',
2308
+ type: 'event',
2309
+ },
2310
+ { anonymous: false, inputs: [], name: 'BeforeExecution', type: 'event' },
2311
+ {
2312
+ anonymous: false,
2313
+ inputs: [
2314
+ {
2315
+ indexed: true,
2316
+ internalType: 'address',
2317
+ name: 'account',
2318
+ type: 'address',
2319
+ },
2320
+ {
2321
+ indexed: false,
2322
+ internalType: 'uint256',
2323
+ name: 'totalDeposit',
2324
+ type: 'uint256',
2325
+ },
2326
+ ],
2327
+ name: 'Deposited',
2328
+ type: 'event',
2329
+ },
2330
+ { anonymous: false, inputs: [], name: 'EIP712DomainChanged', type: 'event' },
2331
+ {
2332
+ anonymous: false,
2333
+ inputs: [
2334
+ {
2335
+ indexed: true,
2336
+ internalType: 'bytes32',
2337
+ name: 'userOpHash',
2338
+ type: 'bytes32',
2339
+ },
2340
+ {
2341
+ indexed: true,
2342
+ internalType: 'address',
2343
+ name: 'sender',
2344
+ type: 'address',
2345
+ },
2346
+ {
2347
+ indexed: true,
2348
+ internalType: 'address',
2349
+ name: 'delegate',
2350
+ type: 'address',
2351
+ },
2352
+ ],
2353
+ name: 'EIP7702AccountInitialized',
2354
+ type: 'event',
2355
+ },
2356
+ {
2357
+ anonymous: false,
2358
+ inputs: [
2359
+ {
2360
+ indexed: true,
2361
+ internalType: 'bytes32',
2362
+ name: 'userOpHash',
2363
+ type: 'bytes32',
2364
+ },
2365
+ {
2366
+ indexed: true,
2367
+ internalType: 'address',
2368
+ name: 'sender',
2369
+ type: 'address',
2370
+ },
2371
+ {
2372
+ indexed: false,
2373
+ internalType: 'address',
2374
+ name: 'unusedFactory',
2375
+ type: 'address',
2376
+ },
2377
+ ],
2378
+ name: 'IgnoredInitCode',
2379
+ type: 'event',
2380
+ },
2381
+ {
2382
+ anonymous: false,
2383
+ inputs: [
2384
+ {
2385
+ indexed: true,
2386
+ internalType: 'bytes32',
2387
+ name: 'userOpHash',
2388
+ type: 'bytes32',
2389
+ },
2390
+ {
2391
+ indexed: true,
2392
+ internalType: 'address',
2393
+ name: 'sender',
2394
+ type: 'address',
2395
+ },
2396
+ {
2397
+ indexed: false,
2398
+ internalType: 'uint256',
2399
+ name: 'nonce',
2400
+ type: 'uint256',
2401
+ },
2402
+ {
2403
+ indexed: false,
2404
+ internalType: 'bytes',
2405
+ name: 'revertReason',
2406
+ type: 'bytes',
2407
+ },
2408
+ ],
2409
+ name: 'PostOpRevertReason',
2410
+ type: 'event',
2411
+ },
2412
+ {
2413
+ anonymous: false,
2414
+ inputs: [
2415
+ {
2416
+ indexed: true,
2417
+ internalType: 'address',
2418
+ name: 'aggregator',
2419
+ type: 'address',
2420
+ },
2421
+ ],
2422
+ name: 'SignatureAggregatorChanged',
2423
+ type: 'event',
2424
+ },
2425
+ {
2426
+ anonymous: false,
2427
+ inputs: [
2428
+ {
2429
+ indexed: true,
2430
+ internalType: 'address',
2431
+ name: 'account',
2432
+ type: 'address',
2433
+ },
2434
+ {
2435
+ indexed: false,
2436
+ internalType: 'uint256',
2437
+ name: 'totalStaked',
2438
+ type: 'uint256',
2439
+ },
2440
+ {
2441
+ indexed: false,
2442
+ internalType: 'uint256',
2443
+ name: 'unstakeDelaySec',
2444
+ type: 'uint256',
2445
+ },
2446
+ ],
2447
+ name: 'StakeLocked',
2448
+ type: 'event',
2449
+ },
2450
+ {
2451
+ anonymous: false,
2452
+ inputs: [
2453
+ {
2454
+ indexed: true,
2455
+ internalType: 'address',
2456
+ name: 'account',
2457
+ type: 'address',
2458
+ },
2459
+ {
2460
+ indexed: false,
2461
+ internalType: 'uint256',
2462
+ name: 'withdrawTime',
2463
+ type: 'uint256',
2464
+ },
2465
+ ],
2466
+ name: 'StakeUnlocked',
2467
+ type: 'event',
2468
+ },
2469
+ {
2470
+ anonymous: false,
2471
+ inputs: [
2472
+ {
2473
+ indexed: true,
2474
+ internalType: 'address',
2475
+ name: 'account',
2476
+ type: 'address',
2477
+ },
2478
+ {
2479
+ indexed: false,
2480
+ internalType: 'address',
2481
+ name: 'withdrawAddress',
2482
+ type: 'address',
2483
+ },
2484
+ {
2485
+ indexed: false,
2486
+ internalType: 'uint256',
2487
+ name: 'amount',
2488
+ type: 'uint256',
2489
+ },
2490
+ ],
2491
+ name: 'StakeWithdrawn',
2492
+ type: 'event',
2493
+ },
2494
+ {
2495
+ anonymous: false,
2496
+ inputs: [
2497
+ {
2498
+ indexed: true,
2499
+ internalType: 'bytes32',
2500
+ name: 'userOpHash',
2501
+ type: 'bytes32',
2502
+ },
2503
+ {
2504
+ indexed: true,
2505
+ internalType: 'address',
2506
+ name: 'sender',
2507
+ type: 'address',
2508
+ },
2509
+ {
2510
+ indexed: true,
2511
+ internalType: 'address',
2512
+ name: 'paymaster',
2513
+ type: 'address',
2514
+ },
2515
+ {
2516
+ indexed: false,
2517
+ internalType: 'uint256',
2518
+ name: 'nonce',
2519
+ type: 'uint256',
2520
+ },
2521
+ { indexed: false, internalType: 'bool', name: 'success', type: 'bool' },
2522
+ {
2523
+ indexed: false,
2524
+ internalType: 'uint256',
2525
+ name: 'actualGasCost',
2526
+ type: 'uint256',
2527
+ },
2528
+ {
2529
+ indexed: false,
2530
+ internalType: 'uint256',
2531
+ name: 'actualGasUsed',
2532
+ type: 'uint256',
2533
+ },
2534
+ ],
2535
+ name: 'UserOperationEvent',
2536
+ type: 'event',
2537
+ },
2538
+ {
2539
+ anonymous: false,
2540
+ inputs: [
2541
+ {
2542
+ indexed: true,
2543
+ internalType: 'bytes32',
2544
+ name: 'userOpHash',
2545
+ type: 'bytes32',
2546
+ },
2547
+ {
2548
+ indexed: true,
2549
+ internalType: 'address',
2550
+ name: 'sender',
2551
+ type: 'address',
2552
+ },
2553
+ {
2554
+ indexed: false,
2555
+ internalType: 'uint256',
2556
+ name: 'nonce',
2557
+ type: 'uint256',
2558
+ },
2559
+ ],
2560
+ name: 'UserOperationPrefundTooLow',
2561
+ type: 'event',
2562
+ },
2563
+ {
2564
+ anonymous: false,
2565
+ inputs: [
2566
+ {
2567
+ indexed: true,
2568
+ internalType: 'bytes32',
2569
+ name: 'userOpHash',
2570
+ type: 'bytes32',
2571
+ },
2572
+ {
2573
+ indexed: true,
2574
+ internalType: 'address',
2575
+ name: 'sender',
2576
+ type: 'address',
2577
+ },
2578
+ {
2579
+ indexed: false,
2580
+ internalType: 'uint256',
2581
+ name: 'nonce',
2582
+ type: 'uint256',
2583
+ },
2584
+ {
2585
+ indexed: false,
2586
+ internalType: 'bytes',
2587
+ name: 'revertReason',
2588
+ type: 'bytes',
2589
+ },
2590
+ ],
2591
+ name: 'UserOperationRevertReason',
2592
+ type: 'event',
2593
+ },
2594
+ {
2595
+ anonymous: false,
2596
+ inputs: [
2597
+ {
2598
+ indexed: true,
2599
+ internalType: 'address',
2600
+ name: 'account',
2601
+ type: 'address',
2602
+ },
2603
+ {
2604
+ indexed: false,
2605
+ internalType: 'address',
2606
+ name: 'withdrawAddress',
2607
+ type: 'address',
2608
+ },
2609
+ {
2610
+ indexed: false,
2611
+ internalType: 'uint256',
2612
+ name: 'amount',
2613
+ type: 'uint256',
2614
+ },
2615
+ ],
2616
+ name: 'Withdrawn',
2617
+ type: 'event',
2618
+ },
2619
+ {
2620
+ inputs: [
2621
+ { internalType: 'uint32', name: 'unstakeDelaySec', type: 'uint32' },
2622
+ ],
2623
+ name: 'addStake',
2624
+ outputs: [],
2625
+ stateMutability: 'payable',
2626
+ type: 'function',
2627
+ },
2628
+ {
2629
+ inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
2630
+ name: 'balanceOf',
2631
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
2632
+ stateMutability: 'view',
2633
+ type: 'function',
2634
+ },
2635
+ {
2636
+ inputs: [
2637
+ { internalType: 'address', name: 'target', type: 'address' },
2638
+ { internalType: 'bytes', name: 'data', type: 'bytes' },
2639
+ ],
2640
+ name: 'delegateAndRevert',
2641
+ outputs: [],
2642
+ stateMutability: 'nonpayable',
2643
+ type: 'function',
2644
+ },
2645
+ {
2646
+ inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
2647
+ name: 'depositTo',
2648
+ outputs: [],
2649
+ stateMutability: 'payable',
2650
+ type: 'function',
2651
+ },
2652
+ {
2653
+ inputs: [],
2654
+ name: 'eip712Domain',
2655
+ outputs: [
2656
+ { internalType: 'bytes1', name: 'fields', type: 'bytes1' },
2657
+ { internalType: 'string', name: 'name', type: 'string' },
2658
+ { internalType: 'string', name: 'version', type: 'string' },
2659
+ { internalType: 'uint256', name: 'chainId', type: 'uint256' },
2660
+ { internalType: 'address', name: 'verifyingContract', type: 'address' },
2661
+ { internalType: 'bytes32', name: 'salt', type: 'bytes32' },
2662
+ { internalType: 'uint256[]', name: 'extensions', type: 'uint256[]' },
2663
+ ],
2664
+ stateMutability: 'view',
2665
+ type: 'function',
2666
+ },
2667
+ {
2668
+ inputs: [],
2669
+ name: 'getCurrentUserOpHash',
2670
+ outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
2671
+ stateMutability: 'view',
2672
+ type: 'function',
2673
+ },
2674
+ {
2675
+ inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
2676
+ name: 'getDepositInfo',
2677
+ outputs: [
2678
+ {
2679
+ components: [
2680
+ { internalType: 'uint256', name: 'deposit', type: 'uint256' },
2681
+ { internalType: 'bool', name: 'staked', type: 'bool' },
2682
+ { internalType: 'uint112', name: 'stake', type: 'uint112' },
2683
+ { internalType: 'uint32', name: 'unstakeDelaySec', type: 'uint32' },
2684
+ { internalType: 'uint48', name: 'withdrawTime', type: 'uint48' },
2685
+ ],
2686
+ internalType: 'struct IStakeManager.DepositInfo',
2687
+ name: 'info',
2688
+ type: 'tuple',
2689
+ },
2690
+ ],
2691
+ stateMutability: 'view',
2692
+ type: 'function',
2693
+ },
2694
+ {
2695
+ inputs: [],
2696
+ name: 'getDomainSeparatorV4',
2697
+ outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
2698
+ stateMutability: 'view',
2699
+ type: 'function',
2700
+ },
2701
+ {
2702
+ inputs: [
2703
+ { internalType: 'address', name: 'sender', type: 'address' },
2704
+ { internalType: 'uint192', name: 'key', type: 'uint192' },
2705
+ ],
2706
+ name: 'getNonce',
2707
+ outputs: [{ internalType: 'uint256', name: 'nonce', type: 'uint256' }],
2708
+ stateMutability: 'view',
2709
+ type: 'function',
2710
+ },
2711
+ {
2712
+ inputs: [],
2713
+ name: 'getPackedUserOpTypeHash',
2714
+ outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
2715
+ stateMutability: 'pure',
2716
+ type: 'function',
2717
+ },
2718
+ {
2719
+ inputs: [{ internalType: 'bytes', name: 'initCode', type: 'bytes' }],
2720
+ name: 'getSenderAddress',
2721
+ outputs: [],
2722
+ stateMutability: 'nonpayable',
2723
+ type: 'function',
2724
+ },
2725
+ {
2726
+ inputs: [
2727
+ {
2728
+ components: [
2729
+ { internalType: 'address', name: 'sender', type: 'address' },
2730
+ { internalType: 'uint256', name: 'nonce', type: 'uint256' },
2731
+ { internalType: 'bytes', name: 'initCode', type: 'bytes' },
2732
+ { internalType: 'bytes', name: 'callData', type: 'bytes' },
2733
+ {
2734
+ internalType: 'bytes32',
2735
+ name: 'accountGasLimits',
2736
+ type: 'bytes32',
2737
+ },
2738
+ {
2739
+ internalType: 'uint256',
2740
+ name: 'preVerificationGas',
2741
+ type: 'uint256',
2742
+ },
2743
+ { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' },
2744
+ { internalType: 'bytes', name: 'paymasterAndData', type: 'bytes' },
2745
+ { internalType: 'bytes', name: 'signature', type: 'bytes' },
2746
+ ],
2747
+ internalType: 'struct PackedUserOperation',
2748
+ name: 'userOp',
2749
+ type: 'tuple',
2750
+ },
2751
+ ],
2752
+ name: 'getUserOpHash',
2753
+ outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
2754
+ stateMutability: 'view',
2755
+ type: 'function',
2756
+ },
2757
+ {
2758
+ inputs: [
2759
+ {
2760
+ components: [
2761
+ {
2762
+ components: [
2763
+ { internalType: 'address', name: 'sender', type: 'address' },
2764
+ { internalType: 'uint256', name: 'nonce', type: 'uint256' },
2765
+ { internalType: 'bytes', name: 'initCode', type: 'bytes' },
2766
+ { internalType: 'bytes', name: 'callData', type: 'bytes' },
2767
+ {
2768
+ internalType: 'bytes32',
2769
+ name: 'accountGasLimits',
2770
+ type: 'bytes32',
2771
+ },
2772
+ {
2773
+ internalType: 'uint256',
2774
+ name: 'preVerificationGas',
2775
+ type: 'uint256',
2776
+ },
2777
+ { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' },
2778
+ {
2779
+ internalType: 'bytes',
2780
+ name: 'paymasterAndData',
2781
+ type: 'bytes',
2782
+ },
2783
+ { internalType: 'bytes', name: 'signature', type: 'bytes' },
2784
+ ],
2785
+ internalType: 'struct PackedUserOperation[]',
2786
+ name: 'userOps',
2787
+ type: 'tuple[]',
2788
+ },
2789
+ {
2790
+ internalType: 'contract IAggregator',
2791
+ name: 'aggregator',
2792
+ type: 'address',
2793
+ },
2794
+ { internalType: 'bytes', name: 'signature', type: 'bytes' },
2795
+ ],
2796
+ internalType: 'struct IEntryPoint.UserOpsPerAggregator[]',
2797
+ name: 'opsPerAggregator',
2798
+ type: 'tuple[]',
2799
+ },
2800
+ { internalType: 'address payable', name: 'beneficiary', type: 'address' },
2801
+ ],
2802
+ name: 'handleAggregatedOps',
2803
+ outputs: [],
2804
+ stateMutability: 'nonpayable',
2805
+ type: 'function',
2806
+ },
2807
+ {
2808
+ inputs: [
2809
+ {
2810
+ components: [
2811
+ { internalType: 'address', name: 'sender', type: 'address' },
2812
+ { internalType: 'uint256', name: 'nonce', type: 'uint256' },
2813
+ { internalType: 'bytes', name: 'initCode', type: 'bytes' },
2814
+ { internalType: 'bytes', name: 'callData', type: 'bytes' },
2815
+ {
2816
+ internalType: 'bytes32',
2817
+ name: 'accountGasLimits',
2818
+ type: 'bytes32',
2819
+ },
2820
+ {
2821
+ internalType: 'uint256',
2822
+ name: 'preVerificationGas',
2823
+ type: 'uint256',
2824
+ },
2825
+ { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' },
2826
+ { internalType: 'bytes', name: 'paymasterAndData', type: 'bytes' },
2827
+ { internalType: 'bytes', name: 'signature', type: 'bytes' },
2828
+ ],
2829
+ internalType: 'struct PackedUserOperation[]',
2830
+ name: 'ops',
2831
+ type: 'tuple[]',
2832
+ },
2833
+ { internalType: 'address payable', name: 'beneficiary', type: 'address' },
2834
+ ],
2835
+ name: 'handleOps',
2836
+ outputs: [],
2837
+ stateMutability: 'nonpayable',
2838
+ type: 'function',
2839
+ },
2840
+ {
2841
+ inputs: [{ internalType: 'uint192', name: 'key', type: 'uint192' }],
2842
+ name: 'incrementNonce',
2843
+ outputs: [],
2844
+ stateMutability: 'nonpayable',
2845
+ type: 'function',
2846
+ },
2847
+ {
2848
+ inputs: [
2849
+ { internalType: 'bytes', name: 'callData', type: 'bytes' },
2850
+ {
2851
+ components: [
2852
+ {
2853
+ components: [
2854
+ { internalType: 'address', name: 'sender', type: 'address' },
2855
+ { internalType: 'uint256', name: 'nonce', type: 'uint256' },
2856
+ {
2857
+ internalType: 'uint256',
2858
+ name: 'verificationGasLimit',
2859
+ type: 'uint256',
2860
+ },
2861
+ {
2862
+ internalType: 'uint256',
2863
+ name: 'callGasLimit',
2864
+ type: 'uint256',
2865
+ },
2866
+ {
2867
+ internalType: 'uint256',
2868
+ name: 'paymasterVerificationGasLimit',
2869
+ type: 'uint256',
2870
+ },
2871
+ {
2872
+ internalType: 'uint256',
2873
+ name: 'paymasterPostOpGasLimit',
2874
+ type: 'uint256',
2875
+ },
2876
+ {
2877
+ internalType: 'uint256',
2878
+ name: 'preVerificationGas',
2879
+ type: 'uint256',
2880
+ },
2881
+ { internalType: 'address', name: 'paymaster', type: 'address' },
2882
+ {
2883
+ internalType: 'uint256',
2884
+ name: 'maxFeePerGas',
2885
+ type: 'uint256',
2886
+ },
2887
+ {
2888
+ internalType: 'uint256',
2889
+ name: 'maxPriorityFeePerGas',
2890
+ type: 'uint256',
2891
+ },
2892
+ ],
2893
+ internalType: 'struct EntryPoint.MemoryUserOp',
2894
+ name: 'mUserOp',
2895
+ type: 'tuple',
2896
+ },
2897
+ { internalType: 'bytes32', name: 'userOpHash', type: 'bytes32' },
2898
+ { internalType: 'uint256', name: 'prefund', type: 'uint256' },
2899
+ { internalType: 'uint256', name: 'contextOffset', type: 'uint256' },
2900
+ { internalType: 'uint256', name: 'preOpGas', type: 'uint256' },
2901
+ ],
2902
+ internalType: 'struct EntryPoint.UserOpInfo',
2903
+ name: 'opInfo',
2904
+ type: 'tuple',
2905
+ },
2906
+ { internalType: 'bytes', name: 'context', type: 'bytes' },
2907
+ ],
2908
+ name: 'innerHandleOp',
2909
+ outputs: [
2910
+ { internalType: 'uint256', name: 'actualGasCost', type: 'uint256' },
2911
+ ],
2912
+ stateMutability: 'nonpayable',
2913
+ type: 'function',
2914
+ },
2915
+ {
2916
+ inputs: [
2917
+ { internalType: 'address', name: '', type: 'address' },
2918
+ { internalType: 'uint192', name: '', type: 'uint192' },
2919
+ ],
2920
+ name: 'nonceSequenceNumber',
2921
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
2922
+ stateMutability: 'view',
2923
+ type: 'function',
2924
+ },
2925
+ {
2926
+ inputs: [],
2927
+ name: 'senderCreator',
2928
+ outputs: [
2929
+ { internalType: 'contract ISenderCreator', name: '', type: 'address' },
2930
+ ],
2931
+ stateMutability: 'view',
2932
+ type: 'function',
2933
+ },
2934
+ {
2935
+ inputs: [{ internalType: 'bytes4', name: 'interfaceId', type: 'bytes4' }],
2936
+ name: 'supportsInterface',
2937
+ outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
2938
+ stateMutability: 'view',
2939
+ type: 'function',
2940
+ },
2941
+ {
2942
+ inputs: [],
2943
+ name: 'unlockStake',
2944
+ outputs: [],
2945
+ stateMutability: 'nonpayable',
2946
+ type: 'function',
2947
+ },
2948
+ {
2949
+ inputs: [
2950
+ {
2951
+ internalType: 'address payable',
2952
+ name: 'withdrawAddress',
2953
+ type: 'address',
2954
+ },
2955
+ ],
2956
+ name: 'withdrawStake',
2957
+ outputs: [],
2958
+ stateMutability: 'nonpayable',
2959
+ type: 'function',
2960
+ },
2961
+ {
2962
+ inputs: [
2963
+ {
2964
+ internalType: 'address payable',
2965
+ name: 'withdrawAddress',
2966
+ type: 'address',
2967
+ },
2968
+ { internalType: 'uint256', name: 'withdrawAmount', type: 'uint256' },
2969
+ ],
2970
+ name: 'withdrawTo',
2971
+ outputs: [],
2972
+ stateMutability: 'nonpayable',
2973
+ type: 'function',
2974
+ },
2975
+ { stateMutability: 'payable', type: 'receive' },
2976
+ ] as const
2977
+
2107
2978
  /** EntryPoint 0.6 address. */
2108
2979
  export const addressV06 = '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789' as const
2109
2980
 
@@ -2112,3 +2983,6 @@ export const addressV07 = '0x0000000071727De22E5E9d8BAf0edAc6f37da032' as const
2112
2983
 
2113
2984
  /** EntryPoint 0.8 address. */
2114
2985
  export const addressV08 = '0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108' as const
2986
+
2987
+ /** EntryPoint 0.9 address. */
2988
+ export const addressV09 = '0x433709009B8330FDa32311DF1C2AFA402eD8D009' as const