viem 2.18.7 → 2.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (652) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +1 -1
  3. package/_cjs/account-abstraction/errors/bundler.js +36 -216
  4. package/_cjs/account-abstraction/errors/bundler.js.map +1 -1
  5. package/_cjs/account-abstraction/errors/userOperation.js +5 -26
  6. package/_cjs/account-abstraction/errors/userOperation.js.map +1 -1
  7. package/_cjs/accounts/index.js +3 -1
  8. package/_cjs/accounts/index.js.map +1 -1
  9. package/_cjs/accounts/privateKeyToAccount.js +4 -0
  10. package/_cjs/accounts/privateKeyToAccount.js.map +1 -1
  11. package/_cjs/accounts/toAccount.js +1 -0
  12. package/_cjs/accounts/toAccount.js.map +1 -1
  13. package/_cjs/accounts/utils/signAuthorization.js +22 -0
  14. package/_cjs/accounts/utils/signAuthorization.js.map +1 -0
  15. package/_cjs/actions/public/estimateGas.js +48 -10
  16. package/_cjs/actions/public/estimateGas.js.map +1 -1
  17. package/_cjs/actions/public/simulateContract.js.map +1 -1
  18. package/_cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
  19. package/_cjs/actions/wallet/sendTransaction.js +21 -3
  20. package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
  21. package/_cjs/actions/wallet/writeContract.js.map +1 -1
  22. package/_cjs/chains/definitions/abstractTestnet.js +26 -0
  23. package/_cjs/chains/definitions/abstractTestnet.js.map +1 -0
  24. package/_cjs/chains/definitions/b3Sepolia.js +28 -0
  25. package/_cjs/chains/definitions/b3Sepolia.js.map +1 -0
  26. package/_cjs/chains/definitions/{zkSync.js → zksync.js} +6 -5
  27. package/_cjs/chains/definitions/{zkSync.js.map → zksync.js.map} +1 -1
  28. package/_cjs/chains/definitions/{zkSyncInMemoryNode.js → zksyncInMemoryNode.js} +4 -4
  29. package/_cjs/chains/definitions/{zkSyncInMemoryNode.js.map → zksyncInMemoryNode.js.map} +1 -1
  30. package/_cjs/chains/definitions/{zkSyncLocalNode.js → zksyncLocalNode.js} +4 -4
  31. package/_cjs/chains/definitions/{zkSyncLocalNode.js.map → zksyncLocalNode.js.map} +1 -1
  32. package/_cjs/chains/definitions/{zkSyncSepoliaTestnet.js → zksyncSepoliaTestnet.js} +7 -5
  33. package/_cjs/chains/definitions/zksyncSepoliaTestnet.js.map +1 -0
  34. package/_cjs/chains/index.js +23 -17
  35. package/_cjs/chains/index.js.map +1 -1
  36. package/_cjs/errors/abi.js +32 -163
  37. package/_cjs/errors/abi.js.map +1 -1
  38. package/_cjs/errors/account.js +2 -12
  39. package/_cjs/errors/account.js.map +1 -1
  40. package/_cjs/errors/address.js +1 -6
  41. package/_cjs/errors/address.js.map +1 -1
  42. package/_cjs/errors/base.js +29 -18
  43. package/_cjs/errors/base.js.map +1 -1
  44. package/_cjs/errors/blob.js +4 -25
  45. package/_cjs/errors/blob.js.map +1 -1
  46. package/_cjs/errors/block.js +1 -7
  47. package/_cjs/errors/block.js.map +1 -1
  48. package/_cjs/errors/ccip.js +3 -18
  49. package/_cjs/errors/ccip.js.map +1 -1
  50. package/_cjs/errors/chain.js +7 -31
  51. package/_cjs/errors/chain.js.map +1 -1
  52. package/_cjs/errors/contract.js +6 -37
  53. package/_cjs/errors/contract.js.map +1 -1
  54. package/_cjs/errors/cursor.js +4 -20
  55. package/_cjs/errors/cursor.js.map +1 -1
  56. package/_cjs/errors/data.js +3 -21
  57. package/_cjs/errors/data.js.map +1 -1
  58. package/_cjs/errors/eip712.js +1 -6
  59. package/_cjs/errors/eip712.js.map +1 -1
  60. package/_cjs/errors/encoding.js +6 -34
  61. package/_cjs/errors/encoding.js.map +1 -1
  62. package/_cjs/errors/ens.js +5 -26
  63. package/_cjs/errors/ens.js.map +1 -1
  64. package/_cjs/errors/estimateGas.js +1 -6
  65. package/_cjs/errors/estimateGas.js.map +1 -1
  66. package/_cjs/errors/fee.js +5 -19
  67. package/_cjs/errors/fee.js.map +1 -1
  68. package/_cjs/errors/log.js +2 -6
  69. package/_cjs/errors/log.js.map +1 -1
  70. package/_cjs/errors/node.js +12 -75
  71. package/_cjs/errors/node.js.map +1 -1
  72. package/_cjs/errors/request.js +5 -30
  73. package/_cjs/errors/request.js.map +1 -1
  74. package/_cjs/errors/rpc.js +22 -122
  75. package/_cjs/errors/rpc.js.map +1 -1
  76. package/_cjs/errors/siwe.js +1 -7
  77. package/_cjs/errors/siwe.js.map +1 -1
  78. package/_cjs/errors/stateOverride.js +4 -12
  79. package/_cjs/errors/stateOverride.js.map +1 -1
  80. package/_cjs/errors/transaction.js +15 -63
  81. package/_cjs/errors/transaction.js.map +1 -1
  82. package/_cjs/errors/transport.js +1 -0
  83. package/_cjs/errors/transport.js.map +1 -1
  84. package/_cjs/errors/utils.js +1 -4
  85. package/_cjs/errors/utils.js.map +1 -1
  86. package/_cjs/errors/version.js +1 -1
  87. package/_cjs/experimental/eip5792/decorators/eip5792.js +2 -2
  88. package/_cjs/experimental/eip5792/decorators/eip5792.js.map +1 -1
  89. package/_cjs/experimental/eip7702/actions/signAuthorization.js +41 -0
  90. package/_cjs/experimental/eip7702/actions/signAuthorization.js.map +1 -0
  91. package/_cjs/experimental/eip7702/decorators/eip7702.js +12 -0
  92. package/_cjs/experimental/eip7702/decorators/eip7702.js.map +1 -0
  93. package/_cjs/experimental/eip7702/types/authorization.js +3 -0
  94. package/_cjs/experimental/eip7702/types/authorization.js.map +1 -0
  95. package/_cjs/experimental/eip7702/types/rpc.js +3 -0
  96. package/_cjs/experimental/eip7702/types/rpc.js.map +1 -0
  97. package/_cjs/experimental/eip7702/utils/hashAuthorization.js +23 -0
  98. package/_cjs/experimental/eip7702/utils/hashAuthorization.js.map +1 -0
  99. package/_cjs/experimental/eip7702/utils/recoverAuthorizationAddress.js +13 -0
  100. package/_cjs/experimental/eip7702/utils/recoverAuthorizationAddress.js.map +1 -0
  101. package/_cjs/experimental/eip7702/utils/serializeAuthorizationList.js +21 -0
  102. package/_cjs/experimental/eip7702/utils/serializeAuthorizationList.js.map +1 -0
  103. package/_cjs/experimental/eip7702/utils/verifyAuthorization.js +13 -0
  104. package/_cjs/experimental/eip7702/utils/verifyAuthorization.js.map +1 -0
  105. package/_cjs/experimental/erc7715/decorators/erc7715.js +2 -2
  106. package/_cjs/experimental/erc7715/decorators/erc7715.js.map +1 -1
  107. package/_cjs/experimental/index.js +22 -8
  108. package/_cjs/experimental/index.js.map +1 -1
  109. package/_cjs/index.js +7 -6
  110. package/_cjs/index.js.map +1 -1
  111. package/_cjs/op-stack/errors/withdrawal.js +2 -14
  112. package/_cjs/op-stack/errors/withdrawal.js.map +1 -1
  113. package/_cjs/utils/formatters/transaction.js +19 -0
  114. package/_cjs/utils/formatters/transaction.js.map +1 -1
  115. package/_cjs/utils/formatters/transactionRequest.js +19 -0
  116. package/_cjs/utils/formatters/transactionRequest.js.map +1 -1
  117. package/_cjs/utils/transaction/assertTransaction.js +15 -3
  118. package/_cjs/utils/transaction/assertTransaction.js.map +1 -1
  119. package/_cjs/utils/transaction/getSerializedTransactionType.js +2 -0
  120. package/_cjs/utils/transaction/getSerializedTransactionType.js.map +1 -1
  121. package/_cjs/utils/transaction/getTransactionType.js +2 -0
  122. package/_cjs/utils/transaction/getTransactionType.js.map +1 -1
  123. package/_cjs/utils/transaction/parseTransaction.js +70 -0
  124. package/_cjs/utils/transaction/parseTransaction.js.map +1 -1
  125. package/_cjs/utils/transaction/serializeTransaction.js +25 -0
  126. package/_cjs/utils/transaction/serializeTransaction.js.map +1 -1
  127. package/_cjs/zksync/chains.js +9 -7
  128. package/_cjs/zksync/chains.js.map +1 -1
  129. package/_cjs/zksync/errors/bytecode.js +3 -21
  130. package/_cjs/zksync/errors/bytecode.js.map +1 -1
  131. package/_cjs/zksync/errors/token-is-eth.js +1 -7
  132. package/_cjs/zksync/errors/token-is-eth.js.map +1 -1
  133. package/_cjs/zksync/errors/transaction.js +1 -7
  134. package/_cjs/zksync/errors/transaction.js.map +1 -1
  135. package/_cjs/zksync/index.js +9 -4
  136. package/_cjs/zksync/index.js.map +1 -1
  137. package/_cjs/zksync/utils/getEip712Domain.js +1 -1
  138. package/_cjs/zksync/utils/isEip712Transaction.js.map +1 -1
  139. package/_esm/account-abstraction/errors/bundler.js +36 -216
  140. package/_esm/account-abstraction/errors/bundler.js.map +1 -1
  141. package/_esm/account-abstraction/errors/userOperation.js +5 -26
  142. package/_esm/account-abstraction/errors/userOperation.js.map +1 -1
  143. package/_esm/accounts/index.js +1 -0
  144. package/_esm/accounts/index.js.map +1 -1
  145. package/_esm/accounts/privateKeyToAccount.js +4 -0
  146. package/_esm/accounts/privateKeyToAccount.js.map +1 -1
  147. package/_esm/accounts/toAccount.js +1 -0
  148. package/_esm/accounts/toAccount.js.map +1 -1
  149. package/_esm/accounts/utils/signAuthorization.js +22 -0
  150. package/_esm/accounts/utils/signAuthorization.js.map +1 -0
  151. package/_esm/actions/public/estimateGas.js +55 -10
  152. package/_esm/actions/public/estimateGas.js.map +1 -1
  153. package/_esm/actions/public/simulateContract.js.map +1 -1
  154. package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
  155. package/_esm/actions/wallet/sendTransaction.js +25 -3
  156. package/_esm/actions/wallet/sendTransaction.js.map +1 -1
  157. package/_esm/actions/wallet/writeContract.js.map +1 -1
  158. package/_esm/chains/definitions/abstractTestnet.js +23 -0
  159. package/_esm/chains/definitions/abstractTestnet.js.map +1 -0
  160. package/_esm/chains/definitions/b3Sepolia.js +25 -0
  161. package/_esm/chains/definitions/b3Sepolia.js.map +1 -0
  162. package/_esm/chains/definitions/{zkSync.js → zksync.js} +5 -4
  163. package/_esm/chains/definitions/{zkSync.js.map → zksync.js.map} +1 -1
  164. package/_esm/chains/definitions/{zkSyncInMemoryNode.js → zksyncInMemoryNode.js} +3 -3
  165. package/_esm/chains/definitions/{zkSyncInMemoryNode.js.map → zksyncInMemoryNode.js.map} +1 -1
  166. package/_esm/chains/definitions/{zkSyncLocalNode.js → zksyncLocalNode.js} +3 -3
  167. package/_esm/chains/definitions/{zkSyncLocalNode.js.map → zksyncLocalNode.js.map} +1 -1
  168. package/_esm/chains/definitions/{zkSyncSepoliaTestnet.js → zksyncSepoliaTestnet.js} +6 -4
  169. package/_esm/chains/definitions/{zkSyncSepoliaTestnet.js.map → zksyncSepoliaTestnet.js.map} +1 -1
  170. package/_esm/chains/index.js +14 -5
  171. package/_esm/chains/index.js.map +1 -1
  172. package/_esm/errors/abi.js +32 -163
  173. package/_esm/errors/abi.js.map +1 -1
  174. package/_esm/errors/account.js +2 -12
  175. package/_esm/errors/account.js.map +1 -1
  176. package/_esm/errors/address.js +1 -6
  177. package/_esm/errors/address.js.map +1 -1
  178. package/_esm/errors/base.js +27 -17
  179. package/_esm/errors/base.js.map +1 -1
  180. package/_esm/errors/blob.js +4 -25
  181. package/_esm/errors/blob.js.map +1 -1
  182. package/_esm/errors/block.js +1 -7
  183. package/_esm/errors/block.js.map +1 -1
  184. package/_esm/errors/ccip.js +3 -18
  185. package/_esm/errors/ccip.js.map +1 -1
  186. package/_esm/errors/chain.js +7 -31
  187. package/_esm/errors/chain.js.map +1 -1
  188. package/_esm/errors/contract.js +6 -37
  189. package/_esm/errors/contract.js.map +1 -1
  190. package/_esm/errors/cursor.js +4 -20
  191. package/_esm/errors/cursor.js.map +1 -1
  192. package/_esm/errors/data.js +3 -21
  193. package/_esm/errors/data.js.map +1 -1
  194. package/_esm/errors/eip712.js +1 -6
  195. package/_esm/errors/eip712.js.map +1 -1
  196. package/_esm/errors/encoding.js +6 -34
  197. package/_esm/errors/encoding.js.map +1 -1
  198. package/_esm/errors/ens.js +5 -26
  199. package/_esm/errors/ens.js.map +1 -1
  200. package/_esm/errors/estimateGas.js +1 -6
  201. package/_esm/errors/estimateGas.js.map +1 -1
  202. package/_esm/errors/fee.js +5 -19
  203. package/_esm/errors/fee.js.map +1 -1
  204. package/_esm/errors/log.js +2 -6
  205. package/_esm/errors/log.js.map +1 -1
  206. package/_esm/errors/node.js +12 -75
  207. package/_esm/errors/node.js.map +1 -1
  208. package/_esm/errors/request.js +5 -30
  209. package/_esm/errors/request.js.map +1 -1
  210. package/_esm/errors/rpc.js +22 -122
  211. package/_esm/errors/rpc.js.map +1 -1
  212. package/_esm/errors/siwe.js +1 -7
  213. package/_esm/errors/siwe.js.map +1 -1
  214. package/_esm/errors/stateOverride.js +4 -12
  215. package/_esm/errors/stateOverride.js.map +1 -1
  216. package/_esm/errors/transaction.js +15 -63
  217. package/_esm/errors/transaction.js.map +1 -1
  218. package/_esm/errors/transport.js +1 -0
  219. package/_esm/errors/transport.js.map +1 -1
  220. package/_esm/errors/utils.js +0 -2
  221. package/_esm/errors/utils.js.map +1 -1
  222. package/_esm/errors/version.js +1 -1
  223. package/_esm/experimental/eip5792/decorators/eip5792.js +3 -3
  224. package/_esm/experimental/eip5792/decorators/eip5792.js.map +1 -1
  225. package/_esm/experimental/eip7702/actions/signAuthorization.js +80 -0
  226. package/_esm/experimental/eip7702/actions/signAuthorization.js.map +1 -0
  227. package/_esm/experimental/eip7702/decorators/eip7702.js +24 -0
  228. package/_esm/experimental/eip7702/decorators/eip7702.js.map +1 -0
  229. package/_esm/experimental/eip7702/types/authorization.js +2 -0
  230. package/_esm/experimental/eip7702/types/authorization.js.map +1 -0
  231. package/_esm/experimental/eip7702/types/rpc.js +2 -0
  232. package/_esm/experimental/eip7702/types/rpc.js.map +1 -0
  233. package/_esm/experimental/eip7702/utils/hashAuthorization.js +23 -0
  234. package/_esm/experimental/eip7702/utils/hashAuthorization.js.map +1 -0
  235. package/_esm/experimental/eip7702/utils/recoverAuthorizationAddress.js +10 -0
  236. package/_esm/experimental/eip7702/utils/recoverAuthorizationAddress.js.map +1 -0
  237. package/_esm/experimental/eip7702/utils/serializeAuthorizationList.js +21 -0
  238. package/_esm/experimental/eip7702/utils/serializeAuthorizationList.js.map +1 -0
  239. package/_esm/experimental/eip7702/utils/verifyAuthorization.js +18 -0
  240. package/_esm/experimental/eip7702/utils/verifyAuthorization.js.map +1 -0
  241. package/_esm/experimental/erc7715/decorators/erc7715.js +3 -3
  242. package/_esm/experimental/erc7715/decorators/erc7715.js.map +1 -1
  243. package/_esm/experimental/index.js +16 -4
  244. package/_esm/experimental/index.js.map +1 -1
  245. package/_esm/index.js +1 -1
  246. package/_esm/index.js.map +1 -1
  247. package/_esm/op-stack/errors/withdrawal.js +2 -14
  248. package/_esm/op-stack/errors/withdrawal.js.map +1 -1
  249. package/_esm/utils/formatters/transaction.js +20 -0
  250. package/_esm/utils/formatters/transaction.js.map +1 -1
  251. package/_esm/utils/formatters/transactionRequest.js +20 -0
  252. package/_esm/utils/formatters/transactionRequest.js.map +1 -1
  253. package/_esm/utils/transaction/assertTransaction.js +14 -3
  254. package/_esm/utils/transaction/assertTransaction.js.map +1 -1
  255. package/_esm/utils/transaction/getSerializedTransactionType.js +2 -0
  256. package/_esm/utils/transaction/getSerializedTransactionType.js.map +1 -1
  257. package/_esm/utils/transaction/getTransactionType.js +2 -0
  258. package/_esm/utils/transaction/getTransactionType.js.map +1 -1
  259. package/_esm/utils/transaction/parseTransaction.js +71 -1
  260. package/_esm/utils/transaction/parseTransaction.js.map +1 -1
  261. package/_esm/utils/transaction/serializeTransaction.js +26 -1
  262. package/_esm/utils/transaction/serializeTransaction.js.map +1 -1
  263. package/_esm/zksync/actions/deployContract.js +1 -1
  264. package/_esm/zksync/actions/sendEip712Transaction.js +4 -4
  265. package/_esm/zksync/actions/sendTransaction.js +4 -4
  266. package/_esm/zksync/actions/signEip712Transaction.js +4 -4
  267. package/_esm/zksync/actions/signTransaction.js +4 -4
  268. package/_esm/zksync/chains.js +4 -3
  269. package/_esm/zksync/chains.js.map +1 -1
  270. package/_esm/zksync/errors/bytecode.js +3 -21
  271. package/_esm/zksync/errors/bytecode.js.map +1 -1
  272. package/_esm/zksync/errors/token-is-eth.js +1 -7
  273. package/_esm/zksync/errors/token-is-eth.js.map +1 -1
  274. package/_esm/zksync/errors/transaction.js +1 -7
  275. package/_esm/zksync/errors/transaction.js.map +1 -1
  276. package/_esm/zksync/index.js +9 -1
  277. package/_esm/zksync/index.js.map +1 -1
  278. package/_esm/zksync/utils/getEip712Domain.js +1 -1
  279. package/_esm/zksync/utils/isEip712Transaction.js.map +1 -1
  280. package/_types/account-abstraction/errors/bundler.d.ts +0 -36
  281. package/_types/account-abstraction/errors/bundler.d.ts.map +1 -1
  282. package/_types/account-abstraction/errors/userOperation.d.ts +0 -4
  283. package/_types/account-abstraction/errors/userOperation.d.ts.map +1 -1
  284. package/_types/accounts/index.d.ts +1 -0
  285. package/_types/accounts/index.d.ts.map +1 -1
  286. package/_types/accounts/privateKeyToAccount.d.ts.map +1 -1
  287. package/_types/accounts/toAccount.d.ts.map +1 -1
  288. package/_types/accounts/types.d.ts +7 -3
  289. package/_types/accounts/types.d.ts.map +1 -1
  290. package/_types/accounts/utils/signAuthorization.d.ts +20 -0
  291. package/_types/accounts/utils/signAuthorization.d.ts.map +1 -0
  292. package/_types/actions/public/estimateGas.d.ts +2 -1
  293. package/_types/actions/public/estimateGas.d.ts.map +1 -1
  294. package/_types/actions/public/simulateContract.d.ts +18 -6
  295. package/_types/actions/public/simulateContract.d.ts.map +1 -1
  296. package/_types/actions/wallet/prepareTransactionRequest.d.ts +2 -2
  297. package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
  298. package/_types/actions/wallet/sendTransaction.d.ts +2 -1
  299. package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
  300. package/_types/actions/wallet/writeContract.d.ts +3 -2
  301. package/_types/actions/wallet/writeContract.d.ts.map +1 -1
  302. package/_types/celo/chainConfig.d.ts +144 -20
  303. package/_types/celo/chainConfig.d.ts.map +1 -1
  304. package/_types/celo/formatters.d.ts +72 -10
  305. package/_types/celo/formatters.d.ts.map +1 -1
  306. package/_types/celo/serializers.d.ts +1 -1
  307. package/_types/celo/serializers.d.ts.map +1 -1
  308. package/_types/chains/definitions/{zkSyncTestnet.d.ts → abstractTestnet.d.ts} +81 -27
  309. package/_types/chains/definitions/{zkSyncLocalNode.d.ts.map → abstractTestnet.d.ts.map} +1 -1
  310. package/_types/chains/definitions/ancient8.d.ts +32 -0
  311. package/_types/chains/definitions/ancient8.d.ts.map +1 -1
  312. package/_types/chains/definitions/ancient8Sepolia.d.ts +32 -0
  313. package/_types/chains/definitions/ancient8Sepolia.d.ts.map +1 -1
  314. package/_types/chains/definitions/b3Sepolia.d.ts +35 -0
  315. package/_types/chains/definitions/b3Sepolia.d.ts.map +1 -0
  316. package/_types/chains/definitions/base.d.ts +32 -0
  317. package/_types/chains/definitions/base.d.ts.map +1 -1
  318. package/_types/chains/definitions/baseGoerli.d.ts +32 -0
  319. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  320. package/_types/chains/definitions/baseSepolia.d.ts +32 -0
  321. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  322. package/_types/chains/definitions/celo.d.ts +144 -20
  323. package/_types/chains/definitions/celo.d.ts.map +1 -1
  324. package/_types/chains/definitions/celoAlfajores.d.ts +144 -20
  325. package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
  326. package/_types/chains/definitions/dchain.d.ts +32 -0
  327. package/_types/chains/definitions/dchain.d.ts.map +1 -1
  328. package/_types/chains/definitions/dchainTestnet.d.ts +32 -0
  329. package/_types/chains/definitions/dchainTestnet.d.ts.map +1 -1
  330. package/_types/chains/definitions/fraxtal.d.ts +32 -0
  331. package/_types/chains/definitions/fraxtal.d.ts.map +1 -1
  332. package/_types/chains/definitions/fraxtalTestnet.d.ts +32 -0
  333. package/_types/chains/definitions/fraxtalTestnet.d.ts.map +1 -1
  334. package/_types/chains/definitions/funkiMainnet.d.ts +32 -0
  335. package/_types/chains/definitions/funkiMainnet.d.ts.map +1 -1
  336. package/_types/chains/definitions/funkiSepolia.d.ts +32 -0
  337. package/_types/chains/definitions/funkiSepolia.d.ts.map +1 -1
  338. package/_types/chains/definitions/lisk.d.ts +32 -0
  339. package/_types/chains/definitions/lisk.d.ts.map +1 -1
  340. package/_types/chains/definitions/liskSepolia.d.ts +32 -0
  341. package/_types/chains/definitions/liskSepolia.d.ts.map +1 -1
  342. package/_types/chains/definitions/metalL2.d.ts +32 -0
  343. package/_types/chains/definitions/metalL2.d.ts.map +1 -1
  344. package/_types/chains/definitions/modeTestnet.d.ts +32 -0
  345. package/_types/chains/definitions/modeTestnet.d.ts.map +1 -1
  346. package/_types/chains/definitions/optimism.d.ts +32 -0
  347. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  348. package/_types/chains/definitions/optimismGoerli.d.ts +32 -0
  349. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  350. package/_types/chains/definitions/optimismSepolia.d.ts +32 -0
  351. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  352. package/_types/chains/definitions/pgn.d.ts +32 -0
  353. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  354. package/_types/chains/definitions/pgnTestnet.d.ts +32 -0
  355. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  356. package/_types/chains/definitions/playfiAlbireo.d.ts +64 -10
  357. package/_types/chains/definitions/playfiAlbireo.d.ts.map +1 -1
  358. package/_types/chains/definitions/rss3.d.ts +32 -0
  359. package/_types/chains/definitions/rss3.d.ts.map +1 -1
  360. package/_types/chains/definitions/rss3Sepolia.d.ts +32 -0
  361. package/_types/chains/definitions/rss3Sepolia.d.ts.map +1 -1
  362. package/_types/chains/definitions/{zkSync.d.ts → zksync.d.ts} +69 -14
  363. package/_types/chains/definitions/{zkSync.d.ts.map → zksync.d.ts.map} +1 -1
  364. package/_types/chains/definitions/{zkSyncInMemoryNode.d.ts → zksyncInMemoryNode.d.ts} +67 -13
  365. package/_types/chains/definitions/{zkSyncInMemoryNode.d.ts.map → zksyncInMemoryNode.d.ts.map} +1 -1
  366. package/_types/chains/definitions/{zkSyncLocalNode.d.ts → zksyncLocalNode.d.ts} +67 -13
  367. package/_types/chains/definitions/{zkSyncTestnet.d.ts.map → zksyncLocalNode.d.ts.map} +1 -1
  368. package/_types/chains/definitions/{zkSyncSepoliaTestnet.d.ts → zksyncSepoliaTestnet.d.ts} +70 -14
  369. package/_types/chains/definitions/{zkSyncSepoliaTestnet.d.ts.map → zksyncSepoliaTestnet.d.ts.map} +1 -1
  370. package/_types/chains/definitions/zora.d.ts +32 -0
  371. package/_types/chains/definitions/zora.d.ts.map +1 -1
  372. package/_types/chains/definitions/zoraSepolia.d.ts +32 -0
  373. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  374. package/_types/chains/definitions/zoraTestnet.d.ts +32 -0
  375. package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
  376. package/_types/chains/index.d.ts +79 -10
  377. package/_types/chains/index.d.ts.map +1 -1
  378. package/_types/errors/abi.d.ts +0 -26
  379. package/_types/errors/abi.d.ts.map +1 -1
  380. package/_types/errors/account.d.ts +0 -2
  381. package/_types/errors/account.d.ts.map +1 -1
  382. package/_types/errors/address.d.ts +0 -1
  383. package/_types/errors/address.d.ts.map +1 -1
  384. package/_types/errors/base.d.ts +7 -1
  385. package/_types/errors/base.d.ts.map +1 -1
  386. package/_types/errors/blob.d.ts +0 -4
  387. package/_types/errors/blob.d.ts.map +1 -1
  388. package/_types/errors/block.d.ts +0 -1
  389. package/_types/errors/block.d.ts.map +1 -1
  390. package/_types/errors/ccip.d.ts +0 -3
  391. package/_types/errors/ccip.d.ts.map +1 -1
  392. package/_types/errors/chain.d.ts +0 -5
  393. package/_types/errors/chain.d.ts.map +1 -1
  394. package/_types/errors/contract.d.ts +0 -6
  395. package/_types/errors/contract.d.ts.map +1 -1
  396. package/_types/errors/cursor.d.ts +0 -3
  397. package/_types/errors/cursor.d.ts.map +1 -1
  398. package/_types/errors/data.d.ts +0 -3
  399. package/_types/errors/data.d.ts.map +1 -1
  400. package/_types/errors/eip712.d.ts +0 -1
  401. package/_types/errors/eip712.d.ts.map +1 -1
  402. package/_types/errors/encoding.d.ts +0 -5
  403. package/_types/errors/encoding.d.ts.map +1 -1
  404. package/_types/errors/ens.d.ts +0 -4
  405. package/_types/errors/ens.d.ts.map +1 -1
  406. package/_types/errors/estimateGas.d.ts +0 -1
  407. package/_types/errors/estimateGas.d.ts.map +1 -1
  408. package/_types/errors/fee.d.ts +0 -3
  409. package/_types/errors/fee.d.ts.map +1 -1
  410. package/_types/errors/log.d.ts +0 -1
  411. package/_types/errors/log.d.ts.map +1 -1
  412. package/_types/errors/node.d.ts +0 -12
  413. package/_types/errors/node.d.ts.map +1 -1
  414. package/_types/errors/request.d.ts +0 -5
  415. package/_types/errors/request.d.ts.map +1 -1
  416. package/_types/errors/rpc.d.ts +2 -22
  417. package/_types/errors/rpc.d.ts.map +1 -1
  418. package/_types/errors/siwe.d.ts +0 -1
  419. package/_types/errors/siwe.d.ts.map +1 -1
  420. package/_types/errors/stateOverride.d.ts +0 -2
  421. package/_types/errors/stateOverride.d.ts.map +1 -1
  422. package/_types/errors/transaction.d.ts +0 -10
  423. package/_types/errors/transaction.d.ts.map +1 -1
  424. package/_types/errors/transport.d.ts.map +1 -1
  425. package/_types/errors/utils.d.ts +0 -1
  426. package/_types/errors/utils.d.ts.map +1 -1
  427. package/_types/errors/version.d.ts +1 -1
  428. package/_types/experimental/eip5792/decorators/eip5792.d.ts +12 -12
  429. package/_types/experimental/eip5792/decorators/eip5792.d.ts.map +1 -1
  430. package/_types/experimental/eip7702/actions/signAuthorization.d.ts +59 -0
  431. package/_types/experimental/eip7702/actions/signAuthorization.d.ts.map +1 -0
  432. package/_types/experimental/eip7702/decorators/eip7702.d.ts +69 -0
  433. package/_types/experimental/eip7702/decorators/eip7702.d.ts.map +1 -0
  434. package/_types/experimental/eip7702/types/authorization.d.ts +24 -0
  435. package/_types/experimental/eip7702/types/authorization.d.ts.map +1 -0
  436. package/_types/experimental/eip7702/types/rpc.d.ts +12 -0
  437. package/_types/experimental/eip7702/types/rpc.d.ts.map +1 -0
  438. package/_types/experimental/eip7702/utils/hashAuthorization.d.ts +21 -0
  439. package/_types/experimental/eip7702/utils/hashAuthorization.d.ts.map +1 -0
  440. package/_types/experimental/eip7702/utils/recoverAuthorizationAddress.d.ts +26 -0
  441. package/_types/experimental/eip7702/utils/recoverAuthorizationAddress.d.ts.map +1 -0
  442. package/_types/experimental/eip7702/utils/serializeAuthorizationList.d.ts +6 -0
  443. package/_types/experimental/eip7702/utils/serializeAuthorizationList.d.ts.map +1 -0
  444. package/_types/experimental/eip7702/utils/verifyAuthorization.d.ts +21 -0
  445. package/_types/experimental/eip7702/utils/verifyAuthorization.d.ts.map +1 -0
  446. package/_types/experimental/erc7715/decorators/erc7715.d.ts +6 -6
  447. package/_types/experimental/erc7715/decorators/erc7715.d.ts.map +1 -1
  448. package/_types/experimental/index.d.ts +20 -4
  449. package/_types/experimental/index.d.ts.map +1 -1
  450. package/_types/index.d.ts +3 -3
  451. package/_types/index.d.ts.map +1 -1
  452. package/_types/op-stack/chainConfig.d.ts +32 -0
  453. package/_types/op-stack/chainConfig.d.ts.map +1 -1
  454. package/_types/op-stack/errors/withdrawal.d.ts +0 -2
  455. package/_types/op-stack/errors/withdrawal.d.ts.map +1 -1
  456. package/_types/op-stack/formatters.d.ts +32 -0
  457. package/_types/op-stack/formatters.d.ts.map +1 -1
  458. package/_types/op-stack/serializers.d.ts +1 -1
  459. package/_types/op-stack/serializers.d.ts.map +1 -1
  460. package/_types/types/rpc.d.ts +9 -4
  461. package/_types/types/rpc.d.ts.map +1 -1
  462. package/_types/types/transaction.d.ts +50 -36
  463. package/_types/types/transaction.d.ts.map +1 -1
  464. package/_types/types/utils.d.ts +0 -14
  465. package/_types/types/utils.d.ts.map +1 -1
  466. package/_types/utils/formatters/transaction.d.ts +2 -1
  467. package/_types/utils/formatters/transaction.d.ts.map +1 -1
  468. package/_types/utils/formatters/transactionRequest.d.ts +2 -1
  469. package/_types/utils/formatters/transactionRequest.d.ts.map +1 -1
  470. package/_types/utils/index.d.ts +1 -1
  471. package/_types/utils/index.d.ts.map +1 -1
  472. package/_types/utils/signature/hashMessage.d.ts +2 -2
  473. package/_types/utils/signature/hashMessage.d.ts.map +1 -1
  474. package/_types/utils/transaction/assertTransaction.d.ts +3 -1
  475. package/_types/utils/transaction/assertTransaction.d.ts.map +1 -1
  476. package/_types/utils/transaction/getSerializedTransactionType.d.ts +2 -2
  477. package/_types/utils/transaction/getSerializedTransactionType.d.ts.map +1 -1
  478. package/_types/utils/transaction/getTransactionType.d.ts +12 -5
  479. package/_types/utils/transaction/getTransactionType.d.ts.map +1 -1
  480. package/_types/utils/transaction/parseTransaction.d.ts +6 -4
  481. package/_types/utils/transaction/parseTransaction.d.ts.map +1 -1
  482. package/_types/utils/transaction/serializeTransaction.d.ts +4 -2
  483. package/_types/utils/transaction/serializeTransaction.d.ts.map +1 -1
  484. package/_types/zksync/actions/deployContract.d.ts +1 -1
  485. package/_types/zksync/actions/estimateFee.d.ts +4 -4
  486. package/_types/zksync/actions/estimateGasL1ToL2.d.ts +2 -2
  487. package/_types/zksync/actions/getAllBalances.d.ts +2 -2
  488. package/_types/zksync/actions/getBaseTokenL1Address.d.ts +2 -2
  489. package/_types/zksync/actions/getBlockDetails.d.ts +5 -5
  490. package/_types/zksync/actions/getBridgehubContractAddress.d.ts +2 -2
  491. package/_types/zksync/actions/getDefaultBridgeAddresses.d.ts +2 -2
  492. package/_types/zksync/actions/getL1BatchBlockRange.d.ts +2 -2
  493. package/_types/zksync/actions/getL1BatchDetails.d.ts +5 -5
  494. package/_types/zksync/actions/getL1BatchNumber.d.ts +2 -2
  495. package/_types/zksync/actions/getL1ChainId.d.ts +2 -2
  496. package/_types/zksync/actions/getLogProof.d.ts +2 -2
  497. package/_types/zksync/actions/getMainContractAddress.d.ts +2 -2
  498. package/_types/zksync/actions/getRawBlockTransactions.d.ts +6 -6
  499. package/_types/zksync/actions/getTestnetPaymasterAddress.d.ts +2 -2
  500. package/_types/zksync/actions/getTransactionDetails.d.ts +4 -4
  501. package/_types/zksync/actions/sendEip712Transaction.d.ts +4 -4
  502. package/_types/zksync/actions/sendTransaction.d.ts +4 -4
  503. package/_types/zksync/actions/signEip712Transaction.d.ts +4 -4
  504. package/_types/zksync/actions/signTransaction.d.ts +4 -4
  505. package/_types/zksync/chainConfig.d.ts +65 -11
  506. package/_types/zksync/chainConfig.d.ts.map +1 -1
  507. package/_types/zksync/chains.d.ts +4 -3
  508. package/_types/zksync/chains.d.ts.map +1 -1
  509. package/_types/zksync/decorators/eip712.d.ts +13 -13
  510. package/_types/zksync/decorators/publicL2.d.ts +37 -37
  511. package/_types/zksync/errors/bytecode.d.ts +0 -3
  512. package/_types/zksync/errors/bytecode.d.ts.map +1 -1
  513. package/_types/zksync/errors/token-is-eth.d.ts +0 -1
  514. package/_types/zksync/errors/token-is-eth.d.ts.map +1 -1
  515. package/_types/zksync/errors/transaction.d.ts +0 -1
  516. package/_types/zksync/errors/transaction.d.ts.map +1 -1
  517. package/_types/zksync/formatters.d.ts +75 -21
  518. package/_types/zksync/formatters.d.ts.map +1 -1
  519. package/_types/zksync/index.d.ts +77 -7
  520. package/_types/zksync/index.d.ts.map +1 -1
  521. package/_types/zksync/serializers.d.ts +2 -2
  522. package/_types/zksync/serializers.d.ts.map +1 -1
  523. package/_types/zksync/types/block.d.ts +6 -6
  524. package/_types/zksync/types/chain.d.ts +2 -2
  525. package/_types/zksync/types/eip1193.d.ts +8 -8
  526. package/_types/zksync/types/eip712.d.ts +3 -3
  527. package/_types/zksync/types/fee.d.ts +2 -2
  528. package/_types/zksync/types/log.d.ts +4 -4
  529. package/_types/zksync/types/transaction.d.ts +31 -31
  530. package/_types/zksync/utils/assertEip712Request.d.ts +2 -2
  531. package/_types/zksync/utils/assertEip712Transaction.d.ts +2 -2
  532. package/_types/zksync/utils/getEip712Domain.d.ts +2 -2
  533. package/_types/zksync/utils/isEip712Transaction.d.ts +3 -3
  534. package/_types/zksync/utils/isEip712Transaction.d.ts.map +1 -1
  535. package/account-abstraction/errors/bundler.ts +36 -48
  536. package/account-abstraction/errors/userOperation.ts +6 -6
  537. package/accounts/index.ts +6 -0
  538. package/accounts/privateKeyToAccount.ts +4 -0
  539. package/accounts/toAccount.ts +1 -0
  540. package/accounts/types.ts +11 -3
  541. package/accounts/utils/signAuthorization.ts +63 -0
  542. package/actions/public/estimateGas.ts +74 -11
  543. package/actions/public/simulateContract.ts +48 -14
  544. package/actions/wallet/prepareTransactionRequest.ts +3 -1
  545. package/actions/wallet/sendTransaction.ts +33 -4
  546. package/actions/wallet/writeContract.ts +5 -3
  547. package/chains/definitions/abstractTestnet.ts +23 -0
  548. package/chains/definitions/b3Sepolia.ts +26 -0
  549. package/chains/definitions/{zkSync.ts → zksync.ts} +4 -3
  550. package/chains/definitions/{zkSyncInMemoryNode.ts → zksyncInMemoryNode.ts} +2 -2
  551. package/chains/definitions/{zkSyncLocalNode.ts → zksyncLocalNode.ts} +2 -2
  552. package/chains/definitions/{zkSyncSepoliaTestnet.ts → zksyncSepoliaTestnet.ts} +5 -3
  553. package/chains/index.ts +115 -34
  554. package/errors/abi.ts +37 -37
  555. package/errors/account.ts +2 -2
  556. package/errors/address.ts +1 -1
  557. package/errors/base.ts +41 -22
  558. package/errors/blob.ts +4 -5
  559. package/errors/block.ts +1 -2
  560. package/errors/ccip.ts +3 -3
  561. package/errors/chain.ts +9 -10
  562. package/errors/contract.ts +6 -10
  563. package/errors/cursor.ts +5 -4
  564. package/errors/data.ts +3 -3
  565. package/errors/eip712.ts +1 -1
  566. package/errors/encoding.ts +7 -5
  567. package/errors/ens.ts +6 -5
  568. package/errors/estimateGas.ts +1 -2
  569. package/errors/fee.ts +7 -5
  570. package/errors/log.ts +3 -2
  571. package/errors/node.ts +12 -17
  572. package/errors/request.ts +5 -10
  573. package/errors/rpc.ts +29 -26
  574. package/errors/siwe.ts +1 -2
  575. package/errors/stateOverride.ts +6 -4
  576. package/errors/transaction.ts +19 -19
  577. package/errors/transport.ts +1 -0
  578. package/errors/utils.ts +0 -3
  579. package/errors/version.ts +1 -1
  580. package/experimental/eip5792/decorators/eip5792.ts +13 -13
  581. package/experimental/eip7702/actions/signAuthorization.ts +136 -0
  582. package/experimental/eip7702/decorators/eip7702.ts +86 -0
  583. package/experimental/eip7702/types/authorization.ts +30 -0
  584. package/experimental/eip7702/types/rpc.ts +12 -0
  585. package/experimental/eip7702/utils/hashAuthorization.ts +60 -0
  586. package/experimental/eip7702/utils/recoverAuthorizationAddress.ts +61 -0
  587. package/experimental/eip7702/utils/serializeAuthorizationList.ts +33 -0
  588. package/experimental/eip7702/utils/verifyAuthorization.ts +52 -0
  589. package/experimental/erc7715/decorators/erc7715.ts +7 -7
  590. package/experimental/index.ts +72 -18
  591. package/index.ts +29 -4
  592. package/op-stack/errors/withdrawal.ts +2 -3
  593. package/package.json +1 -1
  594. package/types/rpc.ts +21 -1
  595. package/types/transaction.ts +103 -54
  596. package/types/utils.ts +0 -15
  597. package/utils/formatters/transaction.ts +32 -0
  598. package/utils/formatters/transactionRequest.ts +31 -0
  599. package/utils/index.ts +1 -1
  600. package/utils/signature/hashMessage.ts +2 -2
  601. package/utils/transaction/assertTransaction.ts +24 -12
  602. package/utils/transaction/getSerializedTransactionType.ts +7 -0
  603. package/utils/transaction/getTransactionType.ts +95 -60
  604. package/utils/transaction/parseTransaction.ts +127 -0
  605. package/utils/transaction/serializeTransaction.ts +66 -0
  606. package/zksync/actions/deployContract.ts +1 -1
  607. package/zksync/actions/estimateFee.ts +4 -4
  608. package/zksync/actions/estimateGasL1ToL2.ts +2 -2
  609. package/zksync/actions/getAllBalances.ts +2 -2
  610. package/zksync/actions/getBaseTokenL1Address.ts +2 -2
  611. package/zksync/actions/getBlockDetails.ts +6 -6
  612. package/zksync/actions/getBridgehubContractAddress.ts +2 -2
  613. package/zksync/actions/getDefaultBridgeAddresses.ts +2 -2
  614. package/zksync/actions/getL1BatchBlockRange.ts +2 -2
  615. package/zksync/actions/getL1BatchDetails.ts +6 -6
  616. package/zksync/actions/getL1BatchNumber.ts +2 -2
  617. package/zksync/actions/getL1ChainId.ts +2 -2
  618. package/zksync/actions/getLogProof.ts +2 -2
  619. package/zksync/actions/getMainContractAddress.ts +2 -2
  620. package/zksync/actions/getRawBlockTransactions.ts +6 -6
  621. package/zksync/actions/getTestnetPaymasterAddress.ts +2 -2
  622. package/zksync/actions/getTransactionDetails.ts +4 -4
  623. package/zksync/actions/sendEip712Transaction.ts +4 -4
  624. package/zksync/actions/sendTransaction.ts +4 -4
  625. package/zksync/actions/signEip712Transaction.ts +4 -4
  626. package/zksync/actions/signTransaction.ts +4 -4
  627. package/zksync/chains.ts +4 -3
  628. package/zksync/decorators/eip712.ts +13 -13
  629. package/zksync/decorators/publicL2.ts +37 -37
  630. package/zksync/errors/bytecode.ts +3 -3
  631. package/zksync/errors/token-is-eth.ts +1 -2
  632. package/zksync/errors/transaction.ts +1 -2
  633. package/zksync/formatters.ts +22 -22
  634. package/zksync/index.ts +111 -32
  635. package/zksync/serializers.ts +7 -7
  636. package/zksync/types/block.ts +9 -9
  637. package/zksync/types/chain.ts +5 -5
  638. package/zksync/types/eip1193.ts +8 -8
  639. package/zksync/types/eip712.ts +3 -3
  640. package/zksync/types/fee.ts +2 -2
  641. package/zksync/types/log.ts +4 -4
  642. package/zksync/types/transaction.ts +45 -45
  643. package/zksync/utils/assertEip712Request.ts +2 -2
  644. package/zksync/utils/assertEip712Transaction.ts +4 -4
  645. package/zksync/utils/getEip712Domain.ts +9 -9
  646. package/zksync/utils/isEip712Transaction.ts +8 -3
  647. package/_cjs/chains/definitions/zkSyncSepoliaTestnet.js.map +0 -1
  648. package/_cjs/chains/definitions/zkSyncTestnet.js +0 -31
  649. package/_cjs/chains/definitions/zkSyncTestnet.js.map +0 -1
  650. package/_esm/chains/definitions/zkSyncTestnet.js +0 -29
  651. package/_esm/chains/definitions/zkSyncTestnet.js.map +0 -1
  652. package/chains/definitions/zkSyncTestnet.ts +0 -29
package/errors/node.ts CHANGED
@@ -19,8 +19,6 @@ export class ExecutionRevertedError extends BaseError {
19
19
  static code = 3
20
20
  static nodeMessage = /execution reverted/
21
21
 
22
- override name = 'ExecutionRevertedError'
23
-
24
22
  constructor({
25
23
  cause,
26
24
  message,
@@ -34,6 +32,7 @@ export class ExecutionRevertedError extends BaseError {
34
32
  }.`,
35
33
  {
36
34
  cause,
35
+ name: 'ExecutionRevertedError',
37
36
  },
38
37
  )
39
38
  }
@@ -45,7 +44,6 @@ export type FeeCapTooHighErrorType = FeeCapTooHighError & {
45
44
  export class FeeCapTooHighError extends BaseError {
46
45
  static nodeMessage =
47
46
  /max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/
48
- override name = 'FeeCapTooHigh'
49
47
  constructor({
50
48
  cause,
51
49
  maxFeePerGas,
@@ -59,6 +57,7 @@ export class FeeCapTooHighError extends BaseError {
59
57
  }) cannot be higher than the maximum allowed value (2^256-1).`,
60
58
  {
61
59
  cause,
60
+ name: 'FeeCapTooHighError',
62
61
  },
63
62
  )
64
63
  }
@@ -70,7 +69,6 @@ export type FeeCapTooLowErrorType = FeeCapTooLowError & {
70
69
  export class FeeCapTooLowError extends BaseError {
71
70
  static nodeMessage =
72
71
  /max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/
73
- override name = 'FeeCapTooLow'
74
72
  constructor({
75
73
  cause,
76
74
  maxFeePerGas,
@@ -84,6 +82,7 @@ export class FeeCapTooLowError extends BaseError {
84
82
  } gwei) cannot be lower than the block base fee.`,
85
83
  {
86
84
  cause,
85
+ name: 'FeeCapTooLowError',
87
86
  },
88
87
  )
89
88
  }
@@ -94,7 +93,6 @@ export type NonceTooHighErrorType = NonceTooHighError & {
94
93
  }
95
94
  export class NonceTooHighError extends BaseError {
96
95
  static nodeMessage = /nonce too high/
97
- override name = 'NonceTooHighError'
98
96
  constructor({
99
97
  cause,
100
98
  nonce,
@@ -103,7 +101,7 @@ export class NonceTooHighError extends BaseError {
103
101
  `Nonce provided for the transaction ${
104
102
  nonce ? `(${nonce}) ` : ''
105
103
  }is higher than the next one expected.`,
106
- { cause },
104
+ { cause, name: 'NonceTooHighError' },
107
105
  )
108
106
  }
109
107
  }
@@ -114,7 +112,6 @@ export type NonceTooLowErrorType = NonceTooLowError & {
114
112
  export class NonceTooLowError extends BaseError {
115
113
  static nodeMessage =
116
114
  /nonce too low|transaction already imported|already known/
117
- override name = 'NonceTooLowError'
118
115
  constructor({
119
116
  cause,
120
117
  nonce,
@@ -126,7 +123,7 @@ export class NonceTooLowError extends BaseError {
126
123
  }is lower than the current nonce of the account.`,
127
124
  'Try increasing the nonce or find the latest nonce with `getTransactionCount`.',
128
125
  ].join('\n'),
129
- { cause },
126
+ { cause, name: 'NonceTooLowError' },
130
127
  )
131
128
  }
132
129
  }
@@ -136,7 +133,6 @@ export type NonceMaxValueErrorType = NonceMaxValueError & {
136
133
  }
137
134
  export class NonceMaxValueError extends BaseError {
138
135
  static nodeMessage = /nonce has max value/
139
- override name = 'NonceMaxValueError'
140
136
  constructor({
141
137
  cause,
142
138
  nonce,
@@ -145,7 +141,7 @@ export class NonceMaxValueError extends BaseError {
145
141
  `Nonce provided for the transaction ${
146
142
  nonce ? `(${nonce}) ` : ''
147
143
  }exceeds the maximum allowed nonce.`,
148
- { cause },
144
+ { cause, name: 'NonceMaxValueError' },
149
145
  )
150
146
  }
151
147
  }
@@ -155,7 +151,6 @@ export type InsufficientFundsErrorType = InsufficientFundsError & {
155
151
  }
156
152
  export class InsufficientFundsError extends BaseError {
157
153
  static nodeMessage = /insufficient funds/
158
- override name = 'InsufficientFundsError'
159
154
  constructor({ cause }: { cause?: BaseError | undefined } = {}) {
160
155
  super(
161
156
  [
@@ -173,6 +168,7 @@ export class InsufficientFundsError extends BaseError {
173
168
  ' - `gas fee` is the gas fee,',
174
169
  ' - `value` is the amount of ether to send to the recipient.',
175
170
  ],
171
+ name: 'InsufficientFundsError',
176
172
  },
177
173
  )
178
174
  }
@@ -183,7 +179,6 @@ export type IntrinsicGasTooHighErrorType = IntrinsicGasTooHighError & {
183
179
  }
184
180
  export class IntrinsicGasTooHighError extends BaseError {
185
181
  static nodeMessage = /intrinsic gas too high|gas limit reached/
186
- override name = 'IntrinsicGasTooHighError'
187
182
  constructor({
188
183
  cause,
189
184
  gas,
@@ -194,6 +189,7 @@ export class IntrinsicGasTooHighError extends BaseError {
194
189
  }provided for the transaction exceeds the limit allowed for the block.`,
195
190
  {
196
191
  cause,
192
+ name: 'IntrinsicGasTooHighError',
197
193
  },
198
194
  )
199
195
  }
@@ -204,7 +200,6 @@ export type IntrinsicGasTooLowErrorType = IntrinsicGasTooLowError & {
204
200
  }
205
201
  export class IntrinsicGasTooLowError extends BaseError {
206
202
  static nodeMessage = /intrinsic gas too low/
207
- override name = 'IntrinsicGasTooLowError'
208
203
  constructor({
209
204
  cause,
210
205
  gas,
@@ -215,6 +210,7 @@ export class IntrinsicGasTooLowError extends BaseError {
215
210
  }provided for the transaction is too low.`,
216
211
  {
217
212
  cause,
213
+ name: 'IntrinsicGasTooLowError',
218
214
  },
219
215
  )
220
216
  }
@@ -226,10 +222,10 @@ export type TransactionTypeNotSupportedErrorType =
226
222
  }
227
223
  export class TransactionTypeNotSupportedError extends BaseError {
228
224
  static nodeMessage = /transaction type not valid/
229
- override name = 'TransactionTypeNotSupportedError'
230
225
  constructor({ cause }: { cause?: BaseError | undefined }) {
231
226
  super('The transaction type is not supported for this chain.', {
232
227
  cause,
228
+ name: 'TransactionTypeNotSupportedError',
233
229
  })
234
230
  }
235
231
  }
@@ -240,7 +236,6 @@ export type TipAboveFeeCapErrorType = TipAboveFeeCapError & {
240
236
  export class TipAboveFeeCapError extends BaseError {
241
237
  static nodeMessage =
242
238
  /max priority fee per gas higher than max fee per gas|tip higher than fee cap/
243
- override name = 'TipAboveFeeCapError'
244
239
  constructor({
245
240
  cause,
246
241
  maxPriorityFeePerGas,
@@ -262,6 +257,7 @@ export class TipAboveFeeCapError extends BaseError {
262
257
  ].join('\n'),
263
258
  {
264
259
  cause,
260
+ name: 'TipAboveFeeCapError',
265
261
  },
266
262
  )
267
263
  }
@@ -271,11 +267,10 @@ export type UnknownNodeErrorType = UnknownNodeError & {
271
267
  name: 'UnknownNodeError'
272
268
  }
273
269
  export class UnknownNodeError extends BaseError {
274
- override name = 'UnknownNodeError'
275
-
276
270
  constructor({ cause }: { cause?: BaseError | undefined }) {
277
271
  super(`An error occurred while executing: ${cause?.shortMessage}`, {
278
272
  cause,
273
+ name: 'UnknownNodeError',
279
274
  })
280
275
  }
281
276
  }
package/errors/request.ts CHANGED
@@ -7,8 +7,6 @@ export type HttpRequestErrorType = HttpRequestError & {
7
7
  name: 'HttpRequestError'
8
8
  }
9
9
  export class HttpRequestError extends BaseError {
10
- override name = 'HttpRequestError'
11
-
12
10
  body?: { [x: string]: unknown } | { [y: string]: unknown }[] | undefined
13
11
  headers?: Headers | undefined
14
12
  status?: number | undefined
@@ -37,6 +35,7 @@ export class HttpRequestError extends BaseError {
37
35
  `URL: ${getUrl(url)}`,
38
36
  body && `Request body: ${stringify(body)}`,
39
37
  ].filter(Boolean) as string[],
38
+ name: 'HttpRequestError',
40
39
  })
41
40
  this.body = body
42
41
  this.headers = headers
@@ -49,8 +48,6 @@ export type WebSocketRequestErrorType = WebSocketRequestError & {
49
48
  name: 'WebSocketRequestError'
50
49
  }
51
50
  export class WebSocketRequestError extends BaseError {
52
- override name = 'WebSocketRequestError'
53
-
54
51
  constructor({
55
52
  body,
56
53
  cause,
@@ -69,6 +66,7 @@ export class WebSocketRequestError extends BaseError {
69
66
  `URL: ${getUrl(url)}`,
70
67
  body && `Request body: ${stringify(body)}`,
71
68
  ].filter(Boolean) as string[],
69
+ name: 'WebSocketRequestError',
72
70
  })
73
71
  }
74
72
  }
@@ -77,8 +75,6 @@ export type RpcRequestErrorType = RpcRequestError & {
77
75
  name: 'RpcRequestError'
78
76
  }
79
77
  export class RpcRequestError extends BaseError {
80
- override name = 'RpcRequestError'
81
-
82
78
  code: number
83
79
 
84
80
  constructor({
@@ -94,6 +90,7 @@ export class RpcRequestError extends BaseError {
94
90
  cause: error as any,
95
91
  details: error.message,
96
92
  metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],
93
+ name: 'RpcRequestError',
97
94
  })
98
95
  this.code = error.code
99
96
  }
@@ -103,8 +100,6 @@ export type SocketClosedErrorType = SocketClosedError & {
103
100
  name: 'SocketClosedError'
104
101
  }
105
102
  export class SocketClosedError extends BaseError {
106
- override name = 'SocketClosedError'
107
-
108
103
  constructor({
109
104
  url,
110
105
  }: {
@@ -112,6 +107,7 @@ export class SocketClosedError extends BaseError {
112
107
  } = {}) {
113
108
  super('The socket has been closed.', {
114
109
  metaMessages: [url && `URL: ${getUrl(url)}`].filter(Boolean) as string[],
110
+ name: 'SocketClosedError',
115
111
  })
116
112
  }
117
113
  }
@@ -120,8 +116,6 @@ export type TimeoutErrorType = TimeoutError & {
120
116
  name: 'TimeoutError'
121
117
  }
122
118
  export class TimeoutError extends BaseError {
123
- override name = 'TimeoutError'
124
-
125
119
  constructor({
126
120
  body,
127
121
  url,
@@ -132,6 +126,7 @@ export class TimeoutError extends BaseError {
132
126
  super('The request took too long to respond.', {
133
127
  details: 'The request timed out.',
134
128
  metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],
129
+ name: 'TimeoutError',
135
130
  })
136
131
  }
137
132
  }
package/errors/rpc.ts CHANGED
@@ -24,6 +24,7 @@ type RpcErrorOptions<code extends number = RpcErrorCode> = {
24
24
  code?: code | (number & {}) | undefined
25
25
  docsPath?: string | undefined
26
26
  metaMessages?: string[] | undefined
27
+ name?: string | undefined
27
28
  shortMessage: string
28
29
  }
29
30
 
@@ -34,21 +35,26 @@ type RpcErrorOptions<code extends number = RpcErrorCode> = {
34
35
  */
35
36
  export type RpcErrorType = RpcError & { name: 'RpcError' }
36
37
  export class RpcError<code_ extends number = RpcErrorCode> extends BaseError {
37
- override name = 'RpcError'
38
-
39
38
  code: code_ | (number & {})
40
39
 
41
40
  constructor(
42
41
  cause: Error,
43
- { code, docsPath, metaMessages, shortMessage }: RpcErrorOptions<code_>,
42
+ {
43
+ code,
44
+ docsPath,
45
+ metaMessages,
46
+ name,
47
+ shortMessage,
48
+ }: RpcErrorOptions<code_>,
44
49
  ) {
45
50
  super(shortMessage, {
46
51
  cause,
47
52
  docsPath,
48
53
  metaMessages:
49
54
  metaMessages || (cause as { metaMessages?: string[] })?.metaMessages,
55
+ name: name || 'RpcError',
50
56
  })
51
- this.name = cause.name
57
+ this.name = name || cause.name
52
58
  this.code = (
53
59
  cause instanceof RpcRequestError ? cause.code : code ?? unknownErrorCode
54
60
  ) as code_
@@ -74,8 +80,6 @@ export type ProviderRpcErrorType = ProviderRpcError & {
74
80
  export class ProviderRpcError<
75
81
  T = undefined,
76
82
  > extends RpcError<ProviderRpcErrorCode> {
77
- override name = 'ProviderRpcError'
78
-
79
83
  data?: T | undefined
80
84
 
81
85
  constructor(
@@ -102,12 +106,12 @@ export type ParseRpcErrorType = ParseRpcError & {
102
106
  name: 'ParseRpcError'
103
107
  }
104
108
  export class ParseRpcError extends RpcError {
105
- override name = 'ParseRpcError'
106
109
  static code = -32700 as const
107
110
 
108
111
  constructor(cause: Error) {
109
112
  super(cause, {
110
113
  code: ParseRpcError.code,
114
+ name: 'ParseRpcError',
111
115
  shortMessage:
112
116
  'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',
113
117
  })
@@ -124,12 +128,12 @@ export type InvalidRequestRpcErrorType = InvalidRequestRpcError & {
124
128
  name: 'InvalidRequestRpcError'
125
129
  }
126
130
  export class InvalidRequestRpcError extends RpcError {
127
- override name = 'InvalidRequestRpcError'
128
131
  static code = -32600 as const
129
132
 
130
133
  constructor(cause: Error) {
131
134
  super(cause, {
132
135
  code: InvalidRequestRpcError.code,
136
+ name: 'InvalidRequestRpcError',
133
137
  shortMessage: 'JSON is not a valid request object.',
134
138
  })
135
139
  }
@@ -145,12 +149,12 @@ export type MethodNotFoundRpcErrorType = MethodNotFoundRpcError & {
145
149
  name: 'MethodNotFoundRpcError'
146
150
  }
147
151
  export class MethodNotFoundRpcError extends RpcError {
148
- override name = 'MethodNotFoundRpcError'
149
152
  static code = -32601 as const
150
153
 
151
154
  constructor(cause: Error, { method }: { method?: string } = {}) {
152
155
  super(cause, {
153
156
  code: MethodNotFoundRpcError.code,
157
+ name: 'MethodNotFoundRpcError',
154
158
  shortMessage: `The method${method ? ` "${method}"` : ''} does not exist / is not available.`,
155
159
  })
156
160
  }
@@ -166,12 +170,12 @@ export type InvalidParamsRpcErrorType = InvalidParamsRpcError & {
166
170
  name: 'InvalidParamsRpcError'
167
171
  }
168
172
  export class InvalidParamsRpcError extends RpcError {
169
- override name = 'InvalidParamsRpcError'
170
173
  static code = -32602 as const
171
174
 
172
175
  constructor(cause: Error) {
173
176
  super(cause, {
174
177
  code: InvalidParamsRpcError.code,
178
+ name: 'InvalidParamsRpcError',
175
179
  shortMessage: [
176
180
  'Invalid parameters were provided to the RPC method.',
177
181
  'Double check you have provided the correct parameters.',
@@ -190,12 +194,12 @@ export type InternalRpcErrorType = InternalRpcError & {
190
194
  name: 'InternalRpcError'
191
195
  }
192
196
  export class InternalRpcError extends RpcError {
193
- override name = 'InternalRpcError'
194
197
  static code = -32603 as const
195
198
 
196
199
  constructor(cause: Error) {
197
200
  super(cause, {
198
201
  code: InternalRpcError.code,
202
+ name: 'InternalRpcError',
199
203
  shortMessage: 'An internal error was received.',
200
204
  })
201
205
  }
@@ -211,12 +215,12 @@ export type InvalidInputRpcErrorType = InvalidInputRpcError & {
211
215
  name: 'InvalidInputRpcError'
212
216
  }
213
217
  export class InvalidInputRpcError extends RpcError {
214
- override name = 'InvalidInputRpcError'
215
218
  static code = -32000 as const
216
219
 
217
220
  constructor(cause: Error) {
218
221
  super(cause, {
219
222
  code: InvalidInputRpcError.code,
223
+ name: 'InvalidInputRpcError',
220
224
  shortMessage: [
221
225
  'Missing or invalid parameters.',
222
226
  'Double check you have provided the correct parameters.',
@@ -232,7 +236,6 @@ export class InvalidInputRpcError extends RpcError {
232
236
  */
233
237
  export type ResourceNotFoundRpcErrorType = ResourceNotFoundRpcError & {
234
238
  code: -32001
235
- name: 'ResourceNotFoundRpcError'
236
239
  }
237
240
  export class ResourceNotFoundRpcError extends RpcError {
238
241
  override name = 'ResourceNotFoundRpcError'
@@ -241,6 +244,7 @@ export class ResourceNotFoundRpcError extends RpcError {
241
244
  constructor(cause: Error) {
242
245
  super(cause, {
243
246
  code: ResourceNotFoundRpcError.code,
247
+ name: 'ResourceNotFoundRpcError',
244
248
  shortMessage: 'Requested resource not found.',
245
249
  })
246
250
  }
@@ -256,12 +260,12 @@ export type ResourceUnavailableRpcErrorType = ResourceUnavailableRpcError & {
256
260
  name: 'ResourceUnavailableRpcError'
257
261
  }
258
262
  export class ResourceUnavailableRpcError extends RpcError {
259
- override name = 'ResourceUnavailableRpcError'
260
263
  static code = -32002 as const
261
264
 
262
265
  constructor(cause: Error) {
263
266
  super(cause, {
264
267
  code: ResourceUnavailableRpcError.code,
268
+ name: 'ResourceUnavailableRpcError',
265
269
  shortMessage: 'Requested resource not available.',
266
270
  })
267
271
  }
@@ -277,12 +281,12 @@ export type TransactionRejectedRpcErrorType = TransactionRejectedRpcError & {
277
281
  name: 'TransactionRejectedRpcError'
278
282
  }
279
283
  export class TransactionRejectedRpcError extends RpcError {
280
- override name = 'TransactionRejectedRpcError'
281
284
  static code = -32003 as const
282
285
 
283
286
  constructor(cause: Error) {
284
287
  super(cause, {
285
288
  code: TransactionRejectedRpcError.code,
289
+ name: 'TransactionRejectedRpcError',
286
290
  shortMessage: 'Transaction creation failed.',
287
291
  })
288
292
  }
@@ -298,12 +302,12 @@ export type MethodNotSupportedRpcErrorType = MethodNotSupportedRpcError & {
298
302
  name: 'MethodNotSupportedRpcError'
299
303
  }
300
304
  export class MethodNotSupportedRpcError extends RpcError {
301
- override name = 'MethodNotSupportedRpcError'
302
305
  static code = -32004 as const
303
306
 
304
307
  constructor(cause: Error, { method }: { method?: string } = {}) {
305
308
  super(cause, {
306
309
  code: MethodNotSupportedRpcError.code,
310
+ name: 'MethodNotSupportedRpcError',
307
311
  shortMessage: `Method${method ? ` "${method}"` : ''} is not implemented.`,
308
312
  })
309
313
  }
@@ -319,12 +323,12 @@ export type LimitExceededRpcErrorType = LimitExceededRpcError & {
319
323
  name: 'LimitExceededRpcError'
320
324
  }
321
325
  export class LimitExceededRpcError extends RpcError {
322
- override name = 'LimitExceededRpcError'
323
326
  static code = -32005 as const
324
327
 
325
328
  constructor(cause: Error) {
326
329
  super(cause, {
327
330
  code: LimitExceededRpcError.code,
331
+ name: 'LimitExceededRpcError',
328
332
  shortMessage: 'Request exceeds defined limit.',
329
333
  })
330
334
  }
@@ -341,12 +345,12 @@ export type JsonRpcVersionUnsupportedErrorType =
341
345
  name: 'JsonRpcVersionUnsupportedError'
342
346
  }
343
347
  export class JsonRpcVersionUnsupportedError extends RpcError {
344
- override name = 'JsonRpcVersionUnsupportedError'
345
348
  static code = -32006 as const
346
349
 
347
350
  constructor(cause: Error) {
348
351
  super(cause, {
349
352
  code: JsonRpcVersionUnsupportedError.code,
353
+ name: 'JsonRpcVersionUnsupportedError',
350
354
  shortMessage: 'Version of JSON-RPC protocol is not supported.',
351
355
  })
352
356
  }
@@ -362,12 +366,12 @@ export type UserRejectedRequestErrorType = UserRejectedRequestError & {
362
366
  name: 'UserRejectedRequestError'
363
367
  }
364
368
  export class UserRejectedRequestError extends ProviderRpcError {
365
- override name = 'UserRejectedRequestError'
366
369
  static code = 4001 as const
367
370
 
368
371
  constructor(cause: Error) {
369
372
  super(cause, {
370
373
  code: UserRejectedRequestError.code,
374
+ name: 'UserRejectedRequestError',
371
375
  shortMessage: 'User rejected the request.',
372
376
  })
373
377
  }
@@ -383,12 +387,12 @@ export type UnauthorizedProviderErrorType = UnauthorizedProviderError & {
383
387
  name: 'UnauthorizedProviderError'
384
388
  }
385
389
  export class UnauthorizedProviderError extends ProviderRpcError {
386
- override name = 'UnauthorizedProviderError'
387
390
  static code = 4100 as const
388
391
 
389
392
  constructor(cause: Error) {
390
393
  super(cause, {
391
394
  code: UnauthorizedProviderError.code,
395
+ name: 'UnauthorizedProviderError',
392
396
  shortMessage:
393
397
  'The requested method and/or account has not been authorized by the user.',
394
398
  })
@@ -406,12 +410,12 @@ export type UnsupportedProviderMethodErrorType =
406
410
  name: 'UnsupportedProviderMethodError'
407
411
  }
408
412
  export class UnsupportedProviderMethodError extends ProviderRpcError {
409
- override name = 'UnsupportedProviderMethodError'
410
413
  static code = 4200 as const
411
414
 
412
415
  constructor(cause: Error, { method }: { method?: string } = {}) {
413
416
  super(cause, {
414
417
  code: UnsupportedProviderMethodError.code,
418
+ name: 'UnsupportedProviderMethodError',
415
419
  shortMessage: `The Provider does not support the requested method${method ? ` " ${method}"` : ''}.`,
416
420
  })
417
421
  }
@@ -427,12 +431,12 @@ export type ProviderDisconnectedErrorType = ProviderDisconnectedError & {
427
431
  name: 'ProviderDisconnectedError'
428
432
  }
429
433
  export class ProviderDisconnectedError extends ProviderRpcError {
430
- override name = 'ProviderDisconnectedError'
431
434
  static code = 4900 as const
432
435
 
433
436
  constructor(cause: Error) {
434
437
  super(cause, {
435
438
  code: ProviderDisconnectedError.code,
439
+ name: 'ProviderDisconnectedError',
436
440
  shortMessage: 'The Provider is disconnected from all chains.',
437
441
  })
438
442
  }
@@ -448,12 +452,12 @@ export type ChainDisconnectedErrorType = ChainDisconnectedError & {
448
452
  name: 'ChainDisconnectedError'
449
453
  }
450
454
  export class ChainDisconnectedError extends ProviderRpcError {
451
- override name = 'ChainDisconnectedError'
452
455
  static code = 4901 as const
453
456
 
454
457
  constructor(cause: Error) {
455
458
  super(cause, {
456
459
  code: ChainDisconnectedError.code,
460
+ name: 'ChainDisconnectedError',
457
461
  shortMessage: 'The Provider is not connected to the requested chain.',
458
462
  })
459
463
  }
@@ -469,12 +473,12 @@ export type SwitchChainErrorType = SwitchChainError & {
469
473
  name: 'SwitchChainError'
470
474
  }
471
475
  export class SwitchChainError extends ProviderRpcError {
472
- override name = 'SwitchChainError'
473
476
  static code = 4902 as const
474
477
 
475
478
  constructor(cause: Error) {
476
479
  super(cause, {
477
480
  code: SwitchChainError.code,
481
+ name: 'SwitchChainError',
478
482
  shortMessage: 'An error occurred when attempting to switch chain.',
479
483
  })
480
484
  }
@@ -487,10 +491,9 @@ export type UnknownRpcErrorType = UnknownRpcError & {
487
491
  name: 'UnknownRpcError'
488
492
  }
489
493
  export class UnknownRpcError extends RpcError {
490
- override name = 'UnknownRpcError'
491
-
492
494
  constructor(cause: Error) {
493
495
  super(cause, {
496
+ name: 'UnknownRpcError',
494
497
  shortMessage: 'An unknown RPC error occurred.',
495
498
  })
496
499
  }
package/errors/siwe.ts CHANGED
@@ -4,7 +4,6 @@ export type SiweInvalidMessageFieldErrorType = SiweInvalidMessageFieldError & {
4
4
  name: 'SiweInvalidMessageFieldError'
5
5
  }
6
6
  export class SiweInvalidMessageFieldError extends BaseError {
7
- override name = 'SiweInvalidMessageFieldError'
8
7
  constructor(parameters: {
9
8
  docsPath?: string | undefined
10
9
  field: string
@@ -13,8 +12,8 @@ export class SiweInvalidMessageFieldError extends BaseError {
13
12
  const { docsPath, field, metaMessages } = parameters
14
13
  super(`Invalid Sign-In with Ethereum message field "${field}".`, {
15
14
  docsPath,
16
- docsSlug: 'TODO',
17
15
  metaMessages,
16
+ name: 'SiweInvalidMessageFieldError',
18
17
  })
19
18
  }
20
19
  }
@@ -6,9 +6,10 @@ export type AccountStateConflictErrorType = AccountStateConflictError & {
6
6
  }
7
7
 
8
8
  export class AccountStateConflictError extends BaseError {
9
- override name = 'AccountStateConflictError'
10
9
  constructor({ address }: { address: string }) {
11
- super(`State for account "${address}" is set multiple times.`)
10
+ super(`State for account "${address}" is set multiple times.`, {
11
+ name: 'AccountStateConflictError',
12
+ })
12
13
  }
13
14
  }
14
15
 
@@ -17,9 +18,10 @@ export type StateAssignmentConflictErrorType = StateAssignmentConflictError & {
17
18
  }
18
19
 
19
20
  export class StateAssignmentConflictError extends BaseError {
20
- override name = 'StateAssignmentConflictError'
21
21
  constructor() {
22
- super('state and stateDiff are set on the same account.')
22
+ super('state and stateDiff are set on the same account.', {
23
+ name: 'StateAssignmentConflictError',
24
+ })
23
25
  }
24
26
  }
25
27