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
@@ -0,0 +1,33 @@
1
+ import type { ErrorType } from '../../../errors/utils.js'
2
+ import { toHex } from '../../../utils/encoding/toHex.js'
3
+ import { toYParitySignatureArray } from '../../../utils/transaction/serializeTransaction.js'
4
+ import type {
5
+ AuthorizationList,
6
+ SerializedAuthorizationList,
7
+ } from '../types/authorization.js'
8
+
9
+ export type SerializeAuthorizationListReturnType = SerializedAuthorizationList
10
+
11
+ export type SerializeAuthorizationListErrorType = ErrorType
12
+
13
+ /*
14
+ * Serializes an EIP-7702 authorization list.
15
+ */
16
+ export function serializeAuthorizationList(
17
+ authorizationList?: AuthorizationList<number, true> | undefined,
18
+ ): SerializeAuthorizationListReturnType {
19
+ if (!authorizationList || authorizationList.length === 0) return []
20
+
21
+ const serializedAuthorizationList = []
22
+ for (const authorization of authorizationList) {
23
+ const { contractAddress, chainId, nonce, ...signature } = authorization
24
+ serializedAuthorizationList.push([
25
+ toHex(chainId),
26
+ contractAddress,
27
+ [nonce ? toHex(nonce) : '0x'],
28
+ ...toYParitySignatureArray({}, signature),
29
+ ])
30
+ }
31
+
32
+ return serializedAuthorizationList as {} as SerializeAuthorizationListReturnType
33
+ }
@@ -0,0 +1,52 @@
1
+ import type { Address } from 'abitype'
2
+
3
+ import type { ErrorType } from '../../../errors/utils.js'
4
+ import {
5
+ type GetAddressErrorType,
6
+ getAddress,
7
+ } from '../../../utils/address/getAddress.js'
8
+ import {
9
+ type IsAddressEqualErrorType,
10
+ isAddressEqual,
11
+ } from '../../../utils/address/isAddressEqual.js'
12
+ import {
13
+ type RecoverAuthorizationAddressErrorType,
14
+ type RecoverAuthorizationAddressParameters,
15
+ recoverAuthorizationAddress,
16
+ } from './recoverAuthorizationAddress.js'
17
+
18
+ export type VerifyAuthorizationParameters =
19
+ RecoverAuthorizationAddressParameters & {
20
+ /** The address that signed the Authorization object. */
21
+ address: Address
22
+ }
23
+
24
+ export type VerifyAuthorizationReturnType = boolean
25
+
26
+ export type VerifyAuthorizationErrorType =
27
+ | IsAddressEqualErrorType
28
+ | GetAddressErrorType
29
+ | RecoverAuthorizationAddressErrorType
30
+ | ErrorType
31
+
32
+ /**
33
+ * Verify that an Authorization object was signed by the provided address.
34
+ *
35
+ * - Docs {@link https://viem.sh/docs/utilities/verifyAuthorization}
36
+ *
37
+ * @param parameters - {@link VerifyAuthorizationParameters}
38
+ * @returns Whether or not the signature is valid. {@link VerifyAuthorizationReturnType}
39
+ */
40
+ export async function verifyAuthorization({
41
+ address,
42
+ authorization,
43
+ signature,
44
+ }: VerifyAuthorizationParameters): Promise<VerifyAuthorizationReturnType> {
45
+ return isAddressEqual(
46
+ getAddress(address),
47
+ await recoverAuthorizationAddress({
48
+ authorization,
49
+ signature,
50
+ }),
51
+ )
52
+ }
@@ -8,7 +8,7 @@ import {
8
8
  grantPermissions,
9
9
  } from '../actions/grantPermissions.js'
10
10
 
11
- export type WalletActionsErc7715 = {
11
+ export type Erc7715Actions = {
12
12
  /**
13
13
  * Request permissions from a wallet to perform actions on behalf of a user.
14
14
  *
@@ -17,12 +17,12 @@ export type WalletActionsErc7715 = {
17
17
  * @example
18
18
  * import { createWalletClient, custom } from 'viem'
19
19
  * import { mainnet } from 'viem/chains'
20
- * import { walletActionsErc7715 } from 'viem/experimental'
20
+ * import { erc7715Actions } from 'viem/experimental'
21
21
  *
22
22
  * const client = createWalletClient({
23
23
  * chain: mainnet,
24
24
  * transport: custom(window.ethereum),
25
- * }).extend(walletActionsErc7715())
25
+ * }).extend(erc7715Actions())
26
26
  *
27
27
  * const result = await client.grantPermissions({
28
28
  * expiry: 1716846083638,
@@ -56,23 +56,23 @@ export type WalletActionsErc7715 = {
56
56
  * @example
57
57
  * import { createPublicClient, createWalletClient, http } from 'viem'
58
58
  * import { mainnet } from 'viem/chains'
59
- * import { walletActionsErc7715 } from 'viem/experimental'
59
+ * import { erc7715Actions } from 'viem/experimental'
60
60
  *
61
61
  * const walletClient = createWalletClient({
62
62
  * chain: mainnet,
63
63
  * transport: http(),
64
- * }).extend(walletActionsErc7715())
64
+ * }).extend(erc7715Actions())
65
65
  *
66
66
  * const result = await walletClient.grantPermissions({...})
67
67
  */
68
- export function walletActionsErc7715() {
68
+ export function erc7715Actions() {
69
69
  return <
70
70
  transport extends Transport,
71
71
  chain extends Chain | undefined = Chain | undefined,
72
72
  account extends Account | undefined = Account | undefined,
73
73
  >(
74
74
  client: Client<transport, chain, account>,
75
- ): WalletActionsErc7715 => {
75
+ ): Erc7715Actions => {
76
76
  return {
77
77
  grantPermissions: (parameters) => grantPermissions(client, parameters),
78
78
  }
@@ -31,10 +31,80 @@ export {
31
31
  writeContracts,
32
32
  } from './eip5792/actions/writeContracts.js'
33
33
  export {
34
- type WalletActionsEip5792,
35
- walletActionsEip5792,
34
+ /** @deprecated use `Eip5792Actions` instead. */
35
+ type Eip5792Actions as WalletActionsEip5792,
36
+ /** @deprecated use `eip5792Actions` instead. */
37
+ eip5792Actions as walletActionsEip5792,
38
+ type Eip5792Actions,
39
+ eip5792Actions,
36
40
  } from './eip5792/decorators/eip5792.js'
37
41
 
42
+ export {
43
+ type Eip7702Actions,
44
+ eip7702Actions,
45
+ } from './eip7702/decorators/eip7702.js'
46
+ export {
47
+ type SignAuthorizationParameters,
48
+ type SignAuthorizationReturnType,
49
+ type SignAuthorizationErrorType,
50
+ signAuthorization,
51
+ } from './eip7702/actions/signAuthorization.js'
52
+ export {
53
+ type Authorization,
54
+ type SignedAuthorization,
55
+ type AuthorizationList,
56
+ type SignedAuthorizationList,
57
+ type SerializedAuthorization,
58
+ type SerializedAuthorizationList,
59
+ } from './eip7702/types/authorization.js'
60
+ export {
61
+ type RpcAuthorizationList,
62
+ type RpcAuthorization,
63
+ } from './eip7702/types/rpc.js'
64
+ export {
65
+ type HashAuthorizationParameters,
66
+ type HashAuthorizationReturnType,
67
+ type HashAuthorizationErrorType,
68
+ hashAuthorization,
69
+ } from './eip7702/utils/hashAuthorization.js'
70
+ export {
71
+ type RecoverAuthorizationAddressParameters,
72
+ type RecoverAuthorizationAddressReturnType,
73
+ type RecoverAuthorizationAddressErrorType,
74
+ recoverAuthorizationAddress,
75
+ } from './eip7702/utils/recoverAuthorizationAddress.js'
76
+ export {
77
+ type SerializeAuthorizationListReturnType,
78
+ type SerializeAuthorizationListErrorType,
79
+ serializeAuthorizationList,
80
+ } from './eip7702/utils/serializeAuthorizationList.js'
81
+ export {
82
+ type VerifyAuthorizationParameters,
83
+ type VerifyAuthorizationReturnType,
84
+ type VerifyAuthorizationErrorType,
85
+ verifyAuthorization,
86
+ } from './eip7702/utils/verifyAuthorization.js'
87
+
88
+ export {
89
+ type GrantPermissionsParameters,
90
+ type GrantPermissionsReturnType,
91
+ grantPermissions,
92
+ } from './erc7715/actions/grantPermissions.js'
93
+ export {
94
+ /** @deprecated use `Erc7715Actions` instead. */
95
+ type Erc7715Actions as WalletActionsErc7715,
96
+ /** @deprecated use `erc7715Actions` instead. */
97
+ erc7715Actions as walletActionsErc7715,
98
+ type Erc7715Actions,
99
+ erc7715Actions,
100
+ } from './erc7715/decorators/erc7715.js'
101
+
102
+ export {
103
+ type SoladyActions,
104
+ type SoladyActionsParameters,
105
+ soladyActions,
106
+ } from './solady/decorators/solady.js'
107
+
38
108
  export {
39
109
  /** @deprecated This is no longer experimental – use `import type { ParseErc6492SignatureErrorType } from 'viem'` instead. */
40
110
  type ParseErc6492SignatureErrorType,
@@ -65,19 +135,3 @@ export {
65
135
  /** @deprecated This is no longer experimental – use `import { serializeErc6492Signature } from 'viem'` instead. */
66
136
  serializeErc6492Signature,
67
137
  } from '../utils/signature/serializeErc6492Signature.js'
68
-
69
- export {
70
- type GrantPermissionsParameters,
71
- type GrantPermissionsReturnType,
72
- grantPermissions,
73
- } from './erc7715/actions/grantPermissions.js'
74
- export {
75
- type WalletActionsErc7715,
76
- walletActionsErc7715,
77
- } from './erc7715/decorators/erc7715.js'
78
-
79
- export {
80
- type SoladyActions,
81
- type SoladyActionsParameters,
82
- soladyActions,
83
- } from './solady/decorators/solady.js'
package/index.ts CHANGED
@@ -710,7 +710,7 @@ export {
710
710
  UnsupportedPackedAbiType,
711
711
  type UnsupportedPackedAbiTypeErrorType,
712
712
  } from './errors/abi.js'
713
- export { BaseError, type BaseErrorType } from './errors/base.js'
713
+ export { BaseError, type BaseErrorType, setErrorConfig } from './errors/base.js'
714
714
  export {
715
715
  BlockNotFoundError,
716
716
  type BlockNotFoundErrorType,
@@ -941,36 +941,61 @@ export type {
941
941
  TransactionEIP1559,
942
942
  TransactionEIP2930,
943
943
  TransactionEIP4844,
944
+ TransactionEIP7702,
944
945
  TransactionLegacy,
945
946
  TransactionReceipt,
946
947
  TransactionRequest,
947
948
  TransactionRequestBase,
948
949
  TransactionRequestEIP1559,
949
950
  TransactionRequestEIP2930,
951
+ TransactionRequestEIP4844,
952
+ TransactionRequestEIP7702,
953
+ TransactionRequestGeneric,
950
954
  TransactionRequestLegacy,
951
955
  TransactionSerializable,
952
956
  TransactionSerializableBase,
953
957
  TransactionSerializableEIP1559,
954
958
  TransactionSerializableEIP2930,
955
959
  TransactionSerializableEIP4844,
960
+ TransactionSerializableEIP7702,
956
961
  TransactionSerializableGeneric,
957
962
  TransactionSerializableLegacy,
958
963
  TransactionSerialized,
959
964
  TransactionSerializedEIP1559,
960
965
  TransactionSerializedEIP2930,
961
966
  TransactionSerializedEIP4844,
967
+ TransactionSerializedEIP7702,
962
968
  TransactionSerializedGeneric,
963
969
  TransactionSerializedLegacy,
964
970
  TransactionType,
965
- TransactionRequestEIP4844,
966
- TransactionRequestGeneric,
967
971
  } from './types/transaction.js'
968
972
  export type {
973
+ Assign,
974
+ Branded,
975
+ Evaluate,
976
+ IsNarrowable,
977
+ IsUndefined,
978
+ IsUnion,
979
+ LooseOmit,
980
+ MaybePartial,
981
+ MaybePromise,
982
+ MaybeRequired,
983
+ Mutable,
984
+ NoInfer,
985
+ NoUndefined,
986
+ Omit,
987
+ Or,
988
+ PartialBy,
989
+ RequiredBy,
990
+ Some,
991
+ UnionEvaluate,
992
+ UnionLooseOmit,
993
+ ValueOf,
994
+ Prettify,
969
995
  ExactPartial,
970
996
  ExactRequired,
971
997
  IsNever,
972
998
  OneOf,
973
- Opaque,
974
999
  UnionOmit,
975
1000
  UnionPartialBy,
976
1001
  UnionPick,
@@ -5,9 +5,8 @@ export type GameNotFoundErrorType = GameNotFoundError & {
5
5
  name: 'GameNotFoundError'
6
6
  }
7
7
  export class GameNotFoundError extends BaseError {
8
- override name = 'GameNotFoundError'
9
8
  constructor() {
10
- super('Dispute game not found.')
9
+ super('Dispute game not found.', { name: 'GameNotFoundError' })
11
10
  }
12
11
  }
13
12
 
@@ -16,10 +15,10 @@ export type ReceiptContainsNoWithdrawalsErrorType =
16
15
  name: 'ReceiptContainsNoWithdrawalsError'
17
16
  }
18
17
  export class ReceiptContainsNoWithdrawalsError extends BaseError {
19
- override name = 'ReceiptContainsNoWithdrawalsError'
20
18
  constructor({ hash }: { hash: Hex }) {
21
19
  super(
22
20
  `The provided transaction receipt with hash "${hash}" contains no withdrawals.`,
21
+ { name: 'ReceiptContainsNoWithdrawalsError' },
23
22
  )
24
23
  }
25
24
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "viem",
3
3
  "description": "TypeScript Interface for Ethereum",
4
- "version": "2.18.7",
4
+ "version": "2.19.0",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
package/types/rpc.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { Address } from 'abitype'
2
2
 
3
+ import type { RpcAuthorizationList } from '../experimental/eip7702/types/rpc.js'
3
4
  import type {
4
5
  Block,
5
6
  BlockIdentifier,
@@ -15,11 +16,13 @@ import type {
15
16
  TransactionEIP1559,
16
17
  TransactionEIP2930,
17
18
  TransactionEIP4844,
19
+ TransactionEIP7702,
18
20
  TransactionLegacy,
19
21
  TransactionReceipt,
20
22
  TransactionRequestEIP1559,
21
23
  TransactionRequestEIP2930,
22
24
  TransactionRequestEIP4844,
25
+ TransactionRequestEIP7702,
23
26
  TransactionRequestLegacy,
24
27
  } from './transaction.js'
25
28
  import type { Omit, OneOf, PartialBy } from './utils.js'
@@ -27,7 +30,13 @@ import type { Omit, OneOf, PartialBy } from './utils.js'
27
30
  export type Index = `0x${string}`
28
31
  export type Quantity = `0x${string}`
29
32
  export type Status = '0x0' | '0x1'
30
- export type TransactionType = '0x0' | '0x1' | '0x2' | (string & {})
33
+ export type TransactionType =
34
+ | '0x0'
35
+ | '0x1'
36
+ | '0x2'
37
+ | '0x3'
38
+ | '0x4'
39
+ | (string & {})
31
40
 
32
41
  export type RpcBlock<
33
42
  blockTag extends BlockTag = BlockTag,
@@ -52,6 +61,10 @@ export type RpcTransactionRequest = OneOf<
52
61
  | TransactionRequestEIP2930<Quantity, Index, '0x1'>
53
62
  | TransactionRequestEIP1559<Quantity, Index, '0x2'>
54
63
  | TransactionRequestEIP4844<Quantity, Index, '0x3'>
64
+ | (Omit<
65
+ TransactionRequestEIP7702<Quantity, Index, '0x4'>,
66
+ 'authorizationList'
67
+ > & { authorizationList?: RpcAuthorizationList | undefined })
55
68
  >
56
69
  // `yParity` is optional on the RPC type as some nodes do not return it
57
70
  // for 1559 & 2930 transactions (they should!).
@@ -69,6 +82,13 @@ export type RpcTransaction<pending extends boolean = boolean> = OneOf<
69
82
  Omit<TransactionEIP4844<Quantity, Index, pending, '0x3'>, 'typeHex'>,
70
83
  'yParity'
71
84
  >
85
+ | PartialBy<
86
+ Omit<
87
+ TransactionEIP7702<Quantity, Index, pending, '0x4'>,
88
+ 'authorizationList' | 'typeHex'
89
+ > & { authorizationList?: RpcAuthorizationList | undefined },
90
+ 'yParity'
91
+ >
72
92
  >
73
93
 
74
94
  type SuccessResult<result> = {