viem 2.15.1 → 2.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (964) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +17 -11
  3. package/_cjs/accounts/generateMnemonic.js +1 -2
  4. package/_cjs/accounts/generateMnemonic.js.map +1 -1
  5. package/_cjs/accounts/generatePrivateKey.js +1 -2
  6. package/_cjs/accounts/generatePrivateKey.js.map +1 -1
  7. package/_cjs/accounts/hdKeyToAccount.js +1 -2
  8. package/_cjs/accounts/hdKeyToAccount.js.map +1 -1
  9. package/_cjs/accounts/mnemonicToAccount.js +1 -2
  10. package/_cjs/accounts/mnemonicToAccount.js.map +1 -1
  11. package/_cjs/accounts/privateKeyToAccount.js +1 -2
  12. package/_cjs/accounts/privateKeyToAccount.js.map +1 -1
  13. package/_cjs/accounts/toAccount.js +1 -2
  14. package/_cjs/accounts/toAccount.js.map +1 -1
  15. package/_cjs/accounts/utils/parseAccount.js +1 -2
  16. package/_cjs/accounts/utils/parseAccount.js.map +1 -1
  17. package/_cjs/accounts/utils/privateKeyToAddress.js +1 -2
  18. package/_cjs/accounts/utils/privateKeyToAddress.js.map +1 -1
  19. package/_cjs/accounts/utils/publicKeyToAddress.js +1 -2
  20. package/_cjs/accounts/utils/publicKeyToAddress.js.map +1 -1
  21. package/_cjs/accounts/utils/sign.js +1 -2
  22. package/_cjs/accounts/utils/sign.js.map +1 -1
  23. package/_cjs/accounts/utils/signMessage.js +1 -2
  24. package/_cjs/accounts/utils/signMessage.js.map +1 -1
  25. package/_cjs/accounts/utils/signTransaction.js +1 -2
  26. package/_cjs/accounts/utils/signTransaction.js.map +1 -1
  27. package/_cjs/accounts/utils/signTypedData.js +1 -2
  28. package/_cjs/accounts/utils/signTypedData.js.map +1 -1
  29. package/_cjs/actions/ens/getEnsAddress.js +1 -2
  30. package/_cjs/actions/ens/getEnsAddress.js.map +1 -1
  31. package/_cjs/actions/ens/getEnsAvatar.js +1 -2
  32. package/_cjs/actions/ens/getEnsAvatar.js.map +1 -1
  33. package/_cjs/actions/ens/getEnsName.js +1 -2
  34. package/_cjs/actions/ens/getEnsName.js.map +1 -1
  35. package/_cjs/actions/ens/getEnsResolver.js +1 -2
  36. package/_cjs/actions/ens/getEnsResolver.js.map +1 -1
  37. package/_cjs/actions/ens/getEnsText.js +1 -2
  38. package/_cjs/actions/ens/getEnsText.js.map +1 -1
  39. package/_cjs/actions/getContract.js +3 -4
  40. package/_cjs/actions/getContract.js.map +1 -1
  41. package/_cjs/actions/public/call.js +2 -3
  42. package/_cjs/actions/public/call.js.map +1 -1
  43. package/_cjs/actions/public/createBlockFilter.js +1 -2
  44. package/_cjs/actions/public/createBlockFilter.js.map +1 -1
  45. package/_cjs/actions/public/createContractEventFilter.js +1 -2
  46. package/_cjs/actions/public/createContractEventFilter.js.map +1 -1
  47. package/_cjs/actions/public/createEventFilter.js +7 -9
  48. package/_cjs/actions/public/createEventFilter.js.map +1 -1
  49. package/_cjs/actions/public/createPendingTransactionFilter.js +1 -2
  50. package/_cjs/actions/public/createPendingTransactionFilter.js.map +1 -1
  51. package/_cjs/actions/public/estimateContractGas.js +1 -2
  52. package/_cjs/actions/public/estimateContractGas.js.map +1 -1
  53. package/_cjs/actions/public/estimateFeesPerGas.js +2 -3
  54. package/_cjs/actions/public/estimateFeesPerGas.js.map +1 -1
  55. package/_cjs/actions/public/estimateGas.js +1 -2
  56. package/_cjs/actions/public/estimateGas.js.map +1 -1
  57. package/_cjs/actions/public/estimateMaxPriorityFeePerGas.js +2 -3
  58. package/_cjs/actions/public/estimateMaxPriorityFeePerGas.js.map +1 -1
  59. package/_cjs/actions/public/getBalance.js +1 -2
  60. package/_cjs/actions/public/getBalance.js.map +1 -1
  61. package/_cjs/actions/public/getBlobBaseFee.js +1 -2
  62. package/_cjs/actions/public/getBlobBaseFee.js.map +1 -1
  63. package/_cjs/actions/public/getBlock.js +1 -2
  64. package/_cjs/actions/public/getBlock.js.map +1 -1
  65. package/_cjs/actions/public/getBlockNumber.js +2 -3
  66. package/_cjs/actions/public/getBlockNumber.js.map +1 -1
  67. package/_cjs/actions/public/getBlockTransactionCount.js +1 -2
  68. package/_cjs/actions/public/getBlockTransactionCount.js.map +1 -1
  69. package/_cjs/actions/public/getChainId.js +1 -2
  70. package/_cjs/actions/public/getChainId.js.map +1 -1
  71. package/_cjs/actions/public/getCode.js +1 -2
  72. package/_cjs/actions/public/getCode.js.map +1 -1
  73. package/_cjs/actions/public/getContractEvents.js +1 -2
  74. package/_cjs/actions/public/getContractEvents.js.map +1 -1
  75. package/_cjs/actions/public/getEip712Domain.js +1 -2
  76. package/_cjs/actions/public/getEip712Domain.js.map +1 -1
  77. package/_cjs/actions/public/getFeeHistory.js +1 -2
  78. package/_cjs/actions/public/getFeeHistory.js.map +1 -1
  79. package/_cjs/actions/public/getFilterChanges.js +1 -2
  80. package/_cjs/actions/public/getFilterChanges.js.map +1 -1
  81. package/_cjs/actions/public/getFilterLogs.js +1 -2
  82. package/_cjs/actions/public/getFilterLogs.js.map +1 -1
  83. package/_cjs/actions/public/getGasPrice.js +1 -2
  84. package/_cjs/actions/public/getGasPrice.js.map +1 -1
  85. package/_cjs/actions/public/getLogs.js +7 -9
  86. package/_cjs/actions/public/getLogs.js.map +1 -1
  87. package/_cjs/actions/public/getProof.js +1 -2
  88. package/_cjs/actions/public/getProof.js.map +1 -1
  89. package/_cjs/actions/public/getStorageAt.js +1 -2
  90. package/_cjs/actions/public/getStorageAt.js.map +1 -1
  91. package/_cjs/actions/public/getTransaction.js +1 -2
  92. package/_cjs/actions/public/getTransaction.js.map +1 -1
  93. package/_cjs/actions/public/getTransactionConfirmations.js +1 -2
  94. package/_cjs/actions/public/getTransactionConfirmations.js.map +1 -1
  95. package/_cjs/actions/public/getTransactionCount.js +1 -2
  96. package/_cjs/actions/public/getTransactionCount.js.map +1 -1
  97. package/_cjs/actions/public/getTransactionReceipt.js +1 -2
  98. package/_cjs/actions/public/getTransactionReceipt.js.map +1 -1
  99. package/_cjs/actions/public/multicall.js +1 -2
  100. package/_cjs/actions/public/multicall.js.map +1 -1
  101. package/_cjs/actions/public/readContract.js +1 -2
  102. package/_cjs/actions/public/readContract.js.map +1 -1
  103. package/_cjs/actions/public/simulateContract.js +1 -2
  104. package/_cjs/actions/public/simulateContract.js.map +1 -1
  105. package/_cjs/actions/public/uninstallFilter.js +1 -2
  106. package/_cjs/actions/public/uninstallFilter.js.map +1 -1
  107. package/_cjs/actions/public/verifyHash.js +22 -5
  108. package/_cjs/actions/public/verifyHash.js.map +1 -1
  109. package/_cjs/actions/public/verifyMessage.js +4 -3
  110. package/_cjs/actions/public/verifyMessage.js.map +1 -1
  111. package/_cjs/actions/public/verifyTypedData.js +4 -3
  112. package/_cjs/actions/public/verifyTypedData.js.map +1 -1
  113. package/_cjs/actions/public/waitForTransactionReceipt.js +1 -2
  114. package/_cjs/actions/public/waitForTransactionReceipt.js.map +1 -1
  115. package/_cjs/actions/public/watchBlockNumber.js +1 -2
  116. package/_cjs/actions/public/watchBlockNumber.js.map +1 -1
  117. package/_cjs/actions/public/watchBlocks.js +1 -2
  118. package/_cjs/actions/public/watchBlocks.js.map +1 -1
  119. package/_cjs/actions/public/watchContractEvent.js +1 -2
  120. package/_cjs/actions/public/watchContractEvent.js.map +1 -1
  121. package/_cjs/actions/public/watchEvent.js +7 -9
  122. package/_cjs/actions/public/watchEvent.js.map +1 -1
  123. package/_cjs/actions/public/watchPendingTransactions.js +1 -2
  124. package/_cjs/actions/public/watchPendingTransactions.js.map +1 -1
  125. package/_cjs/actions/siwe/verifySiweMessage.js +1 -2
  126. package/_cjs/actions/siwe/verifySiweMessage.js.map +1 -1
  127. package/_cjs/actions/test/dropTransaction.js +1 -2
  128. package/_cjs/actions/test/dropTransaction.js.map +1 -1
  129. package/_cjs/actions/test/dumpState.js +1 -2
  130. package/_cjs/actions/test/dumpState.js.map +1 -1
  131. package/_cjs/actions/test/getAutomine.js +1 -2
  132. package/_cjs/actions/test/getAutomine.js.map +1 -1
  133. package/_cjs/actions/test/getTxpoolContent.js +1 -2
  134. package/_cjs/actions/test/getTxpoolContent.js.map +1 -1
  135. package/_cjs/actions/test/getTxpoolStatus.js +1 -2
  136. package/_cjs/actions/test/getTxpoolStatus.js.map +1 -1
  137. package/_cjs/actions/test/impersonateAccount.js +1 -2
  138. package/_cjs/actions/test/impersonateAccount.js.map +1 -1
  139. package/_cjs/actions/test/increaseTime.js +1 -2
  140. package/_cjs/actions/test/increaseTime.js.map +1 -1
  141. package/_cjs/actions/test/inspectTxpool.js +1 -2
  142. package/_cjs/actions/test/inspectTxpool.js.map +1 -1
  143. package/_cjs/actions/test/loadState.js +1 -2
  144. package/_cjs/actions/test/loadState.js.map +1 -1
  145. package/_cjs/actions/test/mine.js +1 -2
  146. package/_cjs/actions/test/mine.js.map +1 -1
  147. package/_cjs/actions/test/removeBlockTimestampInterval.js +1 -2
  148. package/_cjs/actions/test/removeBlockTimestampInterval.js.map +1 -1
  149. package/_cjs/actions/test/reset.js +1 -2
  150. package/_cjs/actions/test/reset.js.map +1 -1
  151. package/_cjs/actions/test/revert.js +1 -2
  152. package/_cjs/actions/test/revert.js.map +1 -1
  153. package/_cjs/actions/test/sendUnsignedTransaction.js +1 -2
  154. package/_cjs/actions/test/sendUnsignedTransaction.js.map +1 -1
  155. package/_cjs/actions/test/setAutomine.js +1 -2
  156. package/_cjs/actions/test/setAutomine.js.map +1 -1
  157. package/_cjs/actions/test/setBalance.js +1 -2
  158. package/_cjs/actions/test/setBalance.js.map +1 -1
  159. package/_cjs/actions/test/setBlockGasLimit.js +1 -2
  160. package/_cjs/actions/test/setBlockGasLimit.js.map +1 -1
  161. package/_cjs/actions/test/setBlockTimestampInterval.js +1 -2
  162. package/_cjs/actions/test/setBlockTimestampInterval.js.map +1 -1
  163. package/_cjs/actions/test/setCode.js +1 -2
  164. package/_cjs/actions/test/setCode.js.map +1 -1
  165. package/_cjs/actions/test/setCoinbase.js +1 -2
  166. package/_cjs/actions/test/setCoinbase.js.map +1 -1
  167. package/_cjs/actions/test/setIntervalMining.js +1 -2
  168. package/_cjs/actions/test/setIntervalMining.js.map +1 -1
  169. package/_cjs/actions/test/setLoggingEnabled.js +1 -2
  170. package/_cjs/actions/test/setLoggingEnabled.js.map +1 -1
  171. package/_cjs/actions/test/setMinGasPrice.js +1 -2
  172. package/_cjs/actions/test/setMinGasPrice.js.map +1 -1
  173. package/_cjs/actions/test/setNextBlockBaseFeePerGas.js +1 -2
  174. package/_cjs/actions/test/setNextBlockBaseFeePerGas.js.map +1 -1
  175. package/_cjs/actions/test/setNextBlockTimestamp.js +1 -2
  176. package/_cjs/actions/test/setNextBlockTimestamp.js.map +1 -1
  177. package/_cjs/actions/test/setNonce.js +1 -2
  178. package/_cjs/actions/test/setNonce.js.map +1 -1
  179. package/_cjs/actions/test/setRpcUrl.js +1 -2
  180. package/_cjs/actions/test/setRpcUrl.js.map +1 -1
  181. package/_cjs/actions/test/setStorageAt.js +1 -2
  182. package/_cjs/actions/test/setStorageAt.js.map +1 -1
  183. package/_cjs/actions/test/snapshot.js +1 -2
  184. package/_cjs/actions/test/snapshot.js.map +1 -1
  185. package/_cjs/actions/test/stopImpersonatingAccount.js +1 -2
  186. package/_cjs/actions/test/stopImpersonatingAccount.js.map +1 -1
  187. package/_cjs/actions/wallet/addChain.js +1 -2
  188. package/_cjs/actions/wallet/addChain.js.map +1 -1
  189. package/_cjs/actions/wallet/deployContract.js +1 -2
  190. package/_cjs/actions/wallet/deployContract.js.map +1 -1
  191. package/_cjs/actions/wallet/getAddresses.js +1 -2
  192. package/_cjs/actions/wallet/getAddresses.js.map +1 -1
  193. package/_cjs/actions/wallet/getPermissions.js +1 -2
  194. package/_cjs/actions/wallet/getPermissions.js.map +1 -1
  195. package/_cjs/actions/wallet/prepareTransactionRequest.js +2 -2
  196. package/_cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
  197. package/_cjs/actions/wallet/requestAddresses.js +1 -2
  198. package/_cjs/actions/wallet/requestAddresses.js.map +1 -1
  199. package/_cjs/actions/wallet/requestPermissions.js +1 -2
  200. package/_cjs/actions/wallet/requestPermissions.js.map +1 -1
  201. package/_cjs/actions/wallet/sendRawTransaction.js +1 -2
  202. package/_cjs/actions/wallet/sendRawTransaction.js.map +1 -1
  203. package/_cjs/actions/wallet/sendTransaction.js +2 -2
  204. package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
  205. package/_cjs/actions/wallet/signMessage.js +1 -2
  206. package/_cjs/actions/wallet/signMessage.js.map +1 -1
  207. package/_cjs/actions/wallet/signTransaction.js +1 -2
  208. package/_cjs/actions/wallet/signTransaction.js.map +1 -1
  209. package/_cjs/actions/wallet/signTypedData.js +1 -2
  210. package/_cjs/actions/wallet/signTypedData.js.map +1 -1
  211. package/_cjs/actions/wallet/switchChain.js +1 -2
  212. package/_cjs/actions/wallet/switchChain.js.map +1 -1
  213. package/_cjs/actions/wallet/watchAsset.js +1 -2
  214. package/_cjs/actions/wallet/watchAsset.js.map +1 -1
  215. package/_cjs/actions/wallet/writeContract.js +1 -2
  216. package/_cjs/actions/wallet/writeContract.js.map +1 -1
  217. package/_cjs/celo/parsers.js +1 -2
  218. package/_cjs/celo/parsers.js.map +1 -1
  219. package/_cjs/celo/serializers.js +4 -4
  220. package/_cjs/celo/serializers.js.map +1 -1
  221. package/_cjs/celo/utils.js +4 -5
  222. package/_cjs/celo/utils.js.map +1 -1
  223. package/_cjs/chains/definitions/zetachain.js +6 -0
  224. package/_cjs/chains/definitions/zetachain.js.map +1 -1
  225. package/_cjs/chains/definitions/zetachainAthensTestnet.js +6 -0
  226. package/_cjs/chains/definitions/zetachainAthensTestnet.js.map +1 -1
  227. package/_cjs/chains/definitions/zircuitTestnet.js +27 -0
  228. package/_cjs/chains/definitions/zircuitTestnet.js.map +1 -0
  229. package/_cjs/chains/index.js +4 -2
  230. package/_cjs/chains/index.js.map +1 -1
  231. package/_cjs/clients/createClient.js +2 -3
  232. package/_cjs/clients/createClient.js.map +1 -1
  233. package/_cjs/clients/createPublicClient.js +1 -2
  234. package/_cjs/clients/createPublicClient.js.map +1 -1
  235. package/_cjs/clients/createTestClient.js +1 -2
  236. package/_cjs/clients/createTestClient.js.map +1 -1
  237. package/_cjs/clients/createWalletClient.js +1 -2
  238. package/_cjs/clients/createWalletClient.js.map +1 -1
  239. package/_cjs/clients/decorators/public.js +1 -2
  240. package/_cjs/clients/decorators/public.js.map +1 -1
  241. package/_cjs/clients/decorators/test.js +1 -2
  242. package/_cjs/clients/decorators/test.js.map +1 -1
  243. package/_cjs/clients/decorators/wallet.js +1 -2
  244. package/_cjs/clients/decorators/wallet.js.map +1 -1
  245. package/_cjs/clients/transports/createTransport.js +1 -2
  246. package/_cjs/clients/transports/createTransport.js.map +1 -1
  247. package/_cjs/clients/transports/custom.js +1 -2
  248. package/_cjs/clients/transports/custom.js.map +1 -1
  249. package/_cjs/clients/transports/fallback.js +2 -3
  250. package/_cjs/clients/transports/fallback.js.map +1 -1
  251. package/_cjs/clients/transports/http.js +1 -2
  252. package/_cjs/clients/transports/http.js.map +1 -1
  253. package/_cjs/clients/transports/ipc.js +1 -2
  254. package/_cjs/clients/transports/ipc.js.map +1 -1
  255. package/_cjs/clients/transports/webSocket.js +1 -2
  256. package/_cjs/clients/transports/webSocket.js.map +1 -1
  257. package/_cjs/errors/stateOverride.js +3 -3
  258. package/_cjs/errors/stateOverride.js.map +1 -1
  259. package/_cjs/errors/transaction.js +2 -2
  260. package/_cjs/errors/transaction.js.map +1 -1
  261. package/_cjs/errors/version.js +1 -1
  262. package/_cjs/experimental/eip5792/actions/getCallsStatus.js +1 -2
  263. package/_cjs/experimental/eip5792/actions/getCallsStatus.js.map +1 -1
  264. package/_cjs/experimental/eip5792/actions/getCapabilities.js +1 -2
  265. package/_cjs/experimental/eip5792/actions/getCapabilities.js.map +1 -1
  266. package/_cjs/experimental/eip5792/actions/sendCalls.js +1 -2
  267. package/_cjs/experimental/eip5792/actions/sendCalls.js.map +1 -1
  268. package/_cjs/experimental/eip5792/actions/showCallsStatus.js +1 -2
  269. package/_cjs/experimental/eip5792/actions/showCallsStatus.js.map +1 -1
  270. package/_cjs/experimental/eip5792/actions/writeContracts.js +1 -2
  271. package/_cjs/experimental/eip5792/actions/writeContracts.js.map +1 -1
  272. package/_cjs/experimental/eip5792/decorators/eip5792.js +1 -2
  273. package/_cjs/experimental/eip5792/decorators/eip5792.js.map +1 -1
  274. package/_cjs/experimental/erc7715/actions/issuePermissions.js +1 -2
  275. package/_cjs/experimental/erc7715/actions/issuePermissions.js.map +1 -1
  276. package/_cjs/experimental/erc7715/decorators/erc7715.js +1 -2
  277. package/_cjs/experimental/erc7715/decorators/erc7715.js.map +1 -1
  278. package/_cjs/experimental/index.js +6 -4
  279. package/_cjs/experimental/index.js.map +1 -1
  280. package/_cjs/experimental/solady/actions/signMessage.js +39 -0
  281. package/_cjs/experimental/solady/actions/signMessage.js.map +1 -0
  282. package/_cjs/experimental/solady/actions/signTypedData.js +62 -0
  283. package/_cjs/experimental/solady/actions/signTypedData.js.map +1 -0
  284. package/_cjs/experimental/solady/decorators/solady.js +15 -0
  285. package/_cjs/experimental/solady/decorators/solady.js.map +1 -0
  286. package/_cjs/experimental/solady/index.js +16 -0
  287. package/_cjs/experimental/solady/index.js.map +1 -0
  288. package/_cjs/experimental/solady/types.js +3 -0
  289. package/_cjs/experimental/solady/types.js.map +1 -0
  290. package/_cjs/experimental/solady/utils/hashMessage.js +19 -0
  291. package/_cjs/experimental/solady/utils/hashMessage.js.map +1 -0
  292. package/_cjs/experimental/solady/utils/hashTypedData.js +31 -0
  293. package/_cjs/experimental/solady/utils/hashTypedData.js.map +1 -0
  294. package/_cjs/experimental/solady/utils/wrapTypedDataSignature.js +44 -0
  295. package/_cjs/experimental/solady/utils/wrapTypedDataSignature.js.map +1 -0
  296. package/_cjs/index.js +11 -3
  297. package/_cjs/index.js.map +1 -1
  298. package/_cjs/op-stack/actions/buildDepositTransaction.js +1 -2
  299. package/_cjs/op-stack/actions/buildDepositTransaction.js.map +1 -1
  300. package/_cjs/op-stack/actions/buildInitiateWithdrawal.js +1 -2
  301. package/_cjs/op-stack/actions/buildInitiateWithdrawal.js.map +1 -1
  302. package/_cjs/op-stack/actions/buildProveWithdrawal.js +2 -3
  303. package/_cjs/op-stack/actions/buildProveWithdrawal.js.map +1 -1
  304. package/_cjs/op-stack/actions/depositTransaction.js +1 -2
  305. package/_cjs/op-stack/actions/depositTransaction.js.map +1 -1
  306. package/_cjs/op-stack/actions/estimateContractL1Fee.js +1 -2
  307. package/_cjs/op-stack/actions/estimateContractL1Fee.js.map +1 -1
  308. package/_cjs/op-stack/actions/estimateContractL1Gas.js +1 -2
  309. package/_cjs/op-stack/actions/estimateContractL1Gas.js.map +1 -1
  310. package/_cjs/op-stack/actions/estimateContractTotalFee.js +1 -2
  311. package/_cjs/op-stack/actions/estimateContractTotalFee.js.map +1 -1
  312. package/_cjs/op-stack/actions/estimateContractTotalGas.js +1 -2
  313. package/_cjs/op-stack/actions/estimateContractTotalGas.js.map +1 -1
  314. package/_cjs/op-stack/actions/estimateDepositTransactionGas.js +1 -2
  315. package/_cjs/op-stack/actions/estimateDepositTransactionGas.js.map +1 -1
  316. package/_cjs/op-stack/actions/estimateFinalizeWithdrawalGas.js +1 -2
  317. package/_cjs/op-stack/actions/estimateFinalizeWithdrawalGas.js.map +1 -1
  318. package/_cjs/op-stack/actions/estimateInitiateWithdrawalGas.js +1 -2
  319. package/_cjs/op-stack/actions/estimateInitiateWithdrawalGas.js.map +1 -1
  320. package/_cjs/op-stack/actions/estimateL1Fee.js +1 -2
  321. package/_cjs/op-stack/actions/estimateL1Fee.js.map +1 -1
  322. package/_cjs/op-stack/actions/estimateL1Gas.js +1 -2
  323. package/_cjs/op-stack/actions/estimateL1Gas.js.map +1 -1
  324. package/_cjs/op-stack/actions/estimateProveWithdrawalGas.js +1 -2
  325. package/_cjs/op-stack/actions/estimateProveWithdrawalGas.js.map +1 -1
  326. package/_cjs/op-stack/actions/estimateTotalFee.js +1 -2
  327. package/_cjs/op-stack/actions/estimateTotalFee.js.map +1 -1
  328. package/_cjs/op-stack/actions/estimateTotalGas.js +1 -2
  329. package/_cjs/op-stack/actions/estimateTotalGas.js.map +1 -1
  330. package/_cjs/op-stack/actions/finalizeWithdrawal.js +1 -2
  331. package/_cjs/op-stack/actions/finalizeWithdrawal.js.map +1 -1
  332. package/_cjs/op-stack/actions/getGame.js +1 -2
  333. package/_cjs/op-stack/actions/getGame.js.map +1 -1
  334. package/_cjs/op-stack/actions/getGames.js +1 -2
  335. package/_cjs/op-stack/actions/getGames.js.map +1 -1
  336. package/_cjs/op-stack/actions/getL1BaseFee.js +1 -2
  337. package/_cjs/op-stack/actions/getL1BaseFee.js.map +1 -1
  338. package/_cjs/op-stack/actions/getL2Output.js +1 -2
  339. package/_cjs/op-stack/actions/getL2Output.js.map +1 -1
  340. package/_cjs/op-stack/actions/getPortalVersion.js +1 -2
  341. package/_cjs/op-stack/actions/getPortalVersion.js.map +1 -1
  342. package/_cjs/op-stack/actions/getTimeToFinalize.js +1 -2
  343. package/_cjs/op-stack/actions/getTimeToFinalize.js.map +1 -1
  344. package/_cjs/op-stack/actions/getTimeToNextGame.js +1 -2
  345. package/_cjs/op-stack/actions/getTimeToNextGame.js.map +1 -1
  346. package/_cjs/op-stack/actions/getTimeToNextL2Output.js +1 -2
  347. package/_cjs/op-stack/actions/getTimeToNextL2Output.js.map +1 -1
  348. package/_cjs/op-stack/actions/getTimeToProve.js +1 -2
  349. package/_cjs/op-stack/actions/getTimeToProve.js.map +1 -1
  350. package/_cjs/op-stack/actions/getWithdrawalStatus.js +1 -2
  351. package/_cjs/op-stack/actions/getWithdrawalStatus.js.map +1 -1
  352. package/_cjs/op-stack/actions/initiateWithdrawal.js +1 -2
  353. package/_cjs/op-stack/actions/initiateWithdrawal.js.map +1 -1
  354. package/_cjs/op-stack/actions/proveWithdrawal.js +1 -2
  355. package/_cjs/op-stack/actions/proveWithdrawal.js.map +1 -1
  356. package/_cjs/op-stack/actions/waitForNextGame.js +1 -2
  357. package/_cjs/op-stack/actions/waitForNextGame.js.map +1 -1
  358. package/_cjs/op-stack/actions/waitForNextL2Output.js +1 -2
  359. package/_cjs/op-stack/actions/waitForNextL2Output.js.map +1 -1
  360. package/_cjs/op-stack/actions/waitToFinalize.js +1 -2
  361. package/_cjs/op-stack/actions/waitToFinalize.js.map +1 -1
  362. package/_cjs/op-stack/actions/waitToProve.js +1 -2
  363. package/_cjs/op-stack/actions/waitToProve.js.map +1 -1
  364. package/_cjs/op-stack/decorators/publicL1.js +1 -2
  365. package/_cjs/op-stack/decorators/publicL1.js.map +1 -1
  366. package/_cjs/op-stack/decorators/publicL2.js +1 -2
  367. package/_cjs/op-stack/decorators/publicL2.js.map +1 -1
  368. package/_cjs/op-stack/decorators/walletL1.js +1 -2
  369. package/_cjs/op-stack/decorators/walletL1.js.map +1 -1
  370. package/_cjs/op-stack/decorators/walletL2.js +1 -2
  371. package/_cjs/op-stack/decorators/walletL2.js.map +1 -1
  372. package/_cjs/op-stack/parsers.js +1 -2
  373. package/_cjs/op-stack/parsers.js.map +1 -1
  374. package/_cjs/op-stack/serializers.js +3 -3
  375. package/_cjs/op-stack/serializers.js.map +1 -1
  376. package/_cjs/op-stack/utils/extractTransactionDepositedLogs.js +1 -2
  377. package/_cjs/op-stack/utils/extractTransactionDepositedLogs.js.map +1 -1
  378. package/_cjs/op-stack/utils/extractWithdrawalMessageLogs.js +1 -2
  379. package/_cjs/op-stack/utils/extractWithdrawalMessageLogs.js.map +1 -1
  380. package/_cjs/op-stack/utils/getL2TransactionHash.js +1 -2
  381. package/_cjs/op-stack/utils/getL2TransactionHash.js.map +1 -1
  382. package/_cjs/op-stack/utils/getL2TransactionHashes.js +1 -2
  383. package/_cjs/op-stack/utils/getL2TransactionHashes.js.map +1 -1
  384. package/_cjs/op-stack/utils/getSourceHash.js +1 -2
  385. package/_cjs/op-stack/utils/getSourceHash.js.map +1 -1
  386. package/_cjs/op-stack/utils/getWithdrawalHashStorageSlot.js +1 -2
  387. package/_cjs/op-stack/utils/getWithdrawalHashStorageSlot.js.map +1 -1
  388. package/_cjs/op-stack/utils/getWithdrawals.js +1 -2
  389. package/_cjs/op-stack/utils/getWithdrawals.js.map +1 -1
  390. package/_cjs/op-stack/utils/opaqueDataToDepositData.js +1 -2
  391. package/_cjs/op-stack/utils/opaqueDataToDepositData.js.map +1 -1
  392. package/_cjs/utils/abi/decodeAbiParameters.js +1 -2
  393. package/_cjs/utils/abi/decodeAbiParameters.js.map +1 -1
  394. package/_cjs/utils/abi/decodeDeployData.js +1 -2
  395. package/_cjs/utils/abi/decodeDeployData.js.map +1 -1
  396. package/_cjs/utils/abi/decodeErrorResult.js +1 -2
  397. package/_cjs/utils/abi/decodeErrorResult.js.map +1 -1
  398. package/_cjs/utils/abi/decodeEventLog.js +1 -2
  399. package/_cjs/utils/abi/decodeEventLog.js.map +1 -1
  400. package/_cjs/utils/abi/decodeFunctionData.js +1 -2
  401. package/_cjs/utils/abi/decodeFunctionData.js.map +1 -1
  402. package/_cjs/utils/abi/decodeFunctionResult.js +1 -2
  403. package/_cjs/utils/abi/decodeFunctionResult.js.map +1 -1
  404. package/_cjs/utils/abi/encodeAbiParameters.js +2 -3
  405. package/_cjs/utils/abi/encodeAbiParameters.js.map +1 -1
  406. package/_cjs/utils/abi/encodeDeployData.js +1 -2
  407. package/_cjs/utils/abi/encodeDeployData.js.map +1 -1
  408. package/_cjs/utils/abi/encodeErrorResult.js +1 -2
  409. package/_cjs/utils/abi/encodeErrorResult.js.map +1 -1
  410. package/_cjs/utils/abi/encodeEventTopics.js +6 -7
  411. package/_cjs/utils/abi/encodeEventTopics.js.map +1 -1
  412. package/_cjs/utils/abi/encodeFunctionData.js +1 -2
  413. package/_cjs/utils/abi/encodeFunctionData.js.map +1 -1
  414. package/_cjs/utils/abi/encodeFunctionResult.js +1 -2
  415. package/_cjs/utils/abi/encodeFunctionResult.js.map +1 -1
  416. package/_cjs/utils/abi/encodePacked.js +1 -2
  417. package/_cjs/utils/abi/encodePacked.js.map +1 -1
  418. package/_cjs/utils/abi/formatAbiItem.js +2 -3
  419. package/_cjs/utils/abi/formatAbiItem.js.map +1 -1
  420. package/_cjs/utils/abi/formatAbiItemWithArgs.js +1 -2
  421. package/_cjs/utils/abi/formatAbiItemWithArgs.js.map +1 -1
  422. package/_cjs/utils/abi/getAbiItem.js +3 -4
  423. package/_cjs/utils/abi/getAbiItem.js.map +1 -1
  424. package/_cjs/utils/abi/parseEventLogs.js +1 -2
  425. package/_cjs/utils/abi/parseEventLogs.js.map +1 -1
  426. package/_cjs/utils/abi/prepareEncodeFunctionData.js +1 -2
  427. package/_cjs/utils/abi/prepareEncodeFunctionData.js.map +1 -1
  428. package/_cjs/utils/address/getAddress.js +2 -3
  429. package/_cjs/utils/address/getAddress.js.map +1 -1
  430. package/_cjs/utils/address/getContractAddress.js +3 -4
  431. package/_cjs/utils/address/getContractAddress.js.map +1 -1
  432. package/_cjs/utils/address/isAddress.js +2 -2
  433. package/_cjs/utils/address/isAddress.js.map +1 -1
  434. package/_cjs/utils/address/isAddressEqual.js +1 -2
  435. package/_cjs/utils/address/isAddressEqual.js.map +1 -1
  436. package/_cjs/utils/blob/blobsToCommitments.js +1 -2
  437. package/_cjs/utils/blob/blobsToCommitments.js.map +1 -1
  438. package/_cjs/utils/blob/blobsToProofs.js +1 -2
  439. package/_cjs/utils/blob/blobsToProofs.js.map +1 -1
  440. package/_cjs/utils/blob/commitmentToVersionedHash.js +1 -2
  441. package/_cjs/utils/blob/commitmentToVersionedHash.js.map +1 -1
  442. package/_cjs/utils/blob/commitmentsToVersionedHashes.js +1 -2
  443. package/_cjs/utils/blob/commitmentsToVersionedHashes.js.map +1 -1
  444. package/_cjs/utils/blob/fromBlobs.js +1 -2
  445. package/_cjs/utils/blob/fromBlobs.js.map +1 -1
  446. package/_cjs/utils/blob/sidecarsToVersionedHashes.js +1 -2
  447. package/_cjs/utils/blob/sidecarsToVersionedHashes.js.map +1 -1
  448. package/_cjs/utils/blob/toBlobSidecars.js +1 -2
  449. package/_cjs/utils/blob/toBlobSidecars.js.map +1 -1
  450. package/_cjs/utils/blob/toBlobs.js +1 -2
  451. package/_cjs/utils/blob/toBlobs.js.map +1 -1
  452. package/_cjs/utils/buildRequest.js +2 -3
  453. package/_cjs/utils/buildRequest.js.map +1 -1
  454. package/_cjs/utils/ccip.js +3 -3
  455. package/_cjs/utils/ccip.js.map +1 -1
  456. package/_cjs/utils/chain/assertCurrentChain.js +1 -2
  457. package/_cjs/utils/chain/assertCurrentChain.js.map +1 -1
  458. package/_cjs/utils/chain/defineChain.js +1 -2
  459. package/_cjs/utils/chain/defineChain.js.map +1 -1
  460. package/_cjs/utils/chain/extractChain.js +1 -2
  461. package/_cjs/utils/chain/extractChain.js.map +1 -1
  462. package/_cjs/utils/chain/getChainContractAddress.js +1 -2
  463. package/_cjs/utils/chain/getChainContractAddress.js.map +1 -1
  464. package/_cjs/utils/cursor.js +1 -2
  465. package/_cjs/utils/cursor.js.map +1 -1
  466. package/_cjs/utils/data/concat.js +3 -4
  467. package/_cjs/utils/data/concat.js.map +1 -1
  468. package/_cjs/utils/data/isBytes.js +1 -2
  469. package/_cjs/utils/data/isBytes.js.map +1 -1
  470. package/_cjs/utils/data/isBytesEqual.js +1 -2
  471. package/_cjs/utils/data/isBytesEqual.js.map +1 -1
  472. package/_cjs/utils/data/isHex.js +1 -2
  473. package/_cjs/utils/data/isHex.js.map +1 -1
  474. package/_cjs/utils/data/pad.js +3 -4
  475. package/_cjs/utils/data/pad.js.map +1 -1
  476. package/_cjs/utils/data/size.js +1 -2
  477. package/_cjs/utils/data/size.js.map +1 -1
  478. package/_cjs/utils/data/slice.js +3 -4
  479. package/_cjs/utils/data/slice.js.map +1 -1
  480. package/_cjs/utils/data/trim.js +1 -2
  481. package/_cjs/utils/data/trim.js.map +1 -1
  482. package/_cjs/utils/encoding/fromBytes.js +5 -6
  483. package/_cjs/utils/encoding/fromBytes.js.map +1 -1
  484. package/_cjs/utils/encoding/fromHex.js +6 -7
  485. package/_cjs/utils/encoding/fromHex.js.map +1 -1
  486. package/_cjs/utils/encoding/fromRlp.js +1 -2
  487. package/_cjs/utils/encoding/fromRlp.js.map +1 -1
  488. package/_cjs/utils/encoding/toBytes.js +5 -6
  489. package/_cjs/utils/encoding/toBytes.js.map +1 -1
  490. package/_cjs/utils/encoding/toHex.js +5 -6
  491. package/_cjs/utils/encoding/toHex.js.map +1 -1
  492. package/_cjs/utils/encoding/toRlp.js +3 -4
  493. package/_cjs/utils/encoding/toRlp.js.map +1 -1
  494. package/_cjs/utils/ens/avatar/parseAvatarRecord.js +1 -2
  495. package/_cjs/utils/ens/avatar/parseAvatarRecord.js.map +1 -1
  496. package/_cjs/utils/ens/avatar/utils.js +8 -9
  497. package/_cjs/utils/ens/avatar/utils.js.map +1 -1
  498. package/_cjs/utils/ens/encodeLabelhash.js +1 -2
  499. package/_cjs/utils/ens/encodeLabelhash.js.map +1 -1
  500. package/_cjs/utils/ens/encodedLabelToLabelhash.js +1 -2
  501. package/_cjs/utils/ens/encodedLabelToLabelhash.js.map +1 -1
  502. package/_cjs/utils/ens/errors.js +1 -2
  503. package/_cjs/utils/ens/errors.js.map +1 -1
  504. package/_cjs/utils/ens/labelhash.js +1 -2
  505. package/_cjs/utils/ens/labelhash.js.map +1 -1
  506. package/_cjs/utils/ens/namehash.js +1 -2
  507. package/_cjs/utils/ens/namehash.js.map +1 -1
  508. package/_cjs/utils/ens/normalize.js +1 -2
  509. package/_cjs/utils/ens/normalize.js.map +1 -1
  510. package/_cjs/utils/ens/packetToBytes.js +1 -2
  511. package/_cjs/utils/ens/packetToBytes.js.map +1 -1
  512. package/_cjs/utils/errors/getCallError.js +1 -2
  513. package/_cjs/utils/errors/getCallError.js.map +1 -1
  514. package/_cjs/utils/errors/getContractError.js +1 -2
  515. package/_cjs/utils/errors/getContractError.js.map +1 -1
  516. package/_cjs/utils/errors/getEstimateGasError.js +1 -2
  517. package/_cjs/utils/errors/getEstimateGasError.js.map +1 -1
  518. package/_cjs/utils/errors/getNodeError.js +2 -3
  519. package/_cjs/utils/errors/getNodeError.js.map +1 -1
  520. package/_cjs/utils/errors/getTransactionError.js +1 -2
  521. package/_cjs/utils/errors/getTransactionError.js.map +1 -1
  522. package/_cjs/utils/filters/createFilterRequestScope.js +1 -2
  523. package/_cjs/utils/filters/createFilterRequestScope.js.map +1 -1
  524. package/_cjs/utils/formatters/block.js +2 -2
  525. package/_cjs/utils/formatters/block.js.map +1 -1
  526. package/_cjs/utils/formatters/extract.js +1 -2
  527. package/_cjs/utils/formatters/extract.js.map +1 -1
  528. package/_cjs/utils/formatters/feeHistory.js +1 -2
  529. package/_cjs/utils/formatters/feeHistory.js.map +1 -1
  530. package/_cjs/utils/formatters/formatter.js +1 -2
  531. package/_cjs/utils/formatters/formatter.js.map +1 -1
  532. package/_cjs/utils/formatters/log.js +1 -2
  533. package/_cjs/utils/formatters/log.js.map +1 -1
  534. package/_cjs/utils/formatters/proof.js +1 -2
  535. package/_cjs/utils/formatters/proof.js.map +1 -1
  536. package/_cjs/utils/formatters/transaction.js +2 -2
  537. package/_cjs/utils/formatters/transaction.js.map +1 -1
  538. package/_cjs/utils/formatters/transactionReceipt.js +2 -2
  539. package/_cjs/utils/formatters/transactionReceipt.js.map +1 -1
  540. package/_cjs/utils/formatters/transactionRequest.js +2 -2
  541. package/_cjs/utils/formatters/transactionRequest.js.map +1 -1
  542. package/_cjs/utils/getAction.js +9 -6
  543. package/_cjs/utils/getAction.js.map +1 -1
  544. package/_cjs/utils/hash/hashSignature.js +1 -2
  545. package/_cjs/utils/hash/hashSignature.js.map +1 -1
  546. package/_cjs/utils/hash/isHash.js +1 -2
  547. package/_cjs/utils/hash/isHash.js.map +1 -1
  548. package/_cjs/utils/hash/keccak256.js +1 -2
  549. package/_cjs/utils/hash/keccak256.js.map +1 -1
  550. package/_cjs/utils/hash/normalizeSignature.js +1 -2
  551. package/_cjs/utils/hash/normalizeSignature.js.map +1 -1
  552. package/_cjs/utils/hash/ripemd160.js +1 -2
  553. package/_cjs/utils/hash/ripemd160.js.map +1 -1
  554. package/_cjs/utils/hash/sha256.js +1 -2
  555. package/_cjs/utils/hash/sha256.js.map +1 -1
  556. package/_cjs/utils/hash/toSignatureHash.js +1 -2
  557. package/_cjs/utils/hash/toSignatureHash.js.map +1 -1
  558. package/_cjs/utils/index.js +7 -1
  559. package/_cjs/utils/index.js.map +1 -1
  560. package/_cjs/utils/kzg/defineKzg.js +1 -2
  561. package/_cjs/utils/kzg/defineKzg.js.map +1 -1
  562. package/_cjs/utils/kzg/setupKzg.js +1 -2
  563. package/_cjs/utils/kzg/setupKzg.js.map +1 -1
  564. package/_cjs/utils/nonceManager.js +3 -3
  565. package/_cjs/utils/nonceManager.js.map +1 -1
  566. package/_cjs/utils/observe.js +2 -2
  567. package/_cjs/utils/observe.js.map +1 -1
  568. package/_cjs/utils/poll.js +1 -2
  569. package/_cjs/utils/poll.js.map +1 -1
  570. package/_cjs/utils/promise/createBatchScheduler.js +1 -2
  571. package/_cjs/utils/promise/createBatchScheduler.js.map +1 -1
  572. package/_cjs/utils/promise/withCache.js +3 -3
  573. package/_cjs/utils/promise/withCache.js.map +1 -1
  574. package/_cjs/utils/promise/withDedupe.js +2 -2
  575. package/_cjs/utils/promise/withDedupe.js.map +1 -1
  576. package/_cjs/utils/promise/withRetry.js +1 -2
  577. package/_cjs/utils/promise/withRetry.js.map +1 -1
  578. package/_cjs/utils/promise/withTimeout.js +1 -2
  579. package/_cjs/utils/promise/withTimeout.js.map +1 -1
  580. package/_cjs/utils/rpc/compat.js +2 -2
  581. package/_cjs/utils/rpc/compat.js.map +1 -1
  582. package/_cjs/utils/rpc/http.js +1 -2
  583. package/_cjs/utils/rpc/http.js.map +1 -1
  584. package/_cjs/utils/rpc/ipc.js +2 -3
  585. package/_cjs/utils/rpc/ipc.js.map +1 -1
  586. package/_cjs/utils/rpc/socket.js +2 -2
  587. package/_cjs/utils/rpc/socket.js.map +1 -1
  588. package/_cjs/utils/rpc/webSocket.js +1 -2
  589. package/_cjs/utils/rpc/webSocket.js.map +1 -1
  590. package/_cjs/utils/signature/compactSignatureToSignature.js +1 -2
  591. package/_cjs/utils/signature/compactSignatureToSignature.js.map +1 -1
  592. package/_cjs/utils/signature/hashMessage.js +3 -14
  593. package/_cjs/utils/signature/hashMessage.js.map +1 -1
  594. package/_cjs/utils/signature/hashTypedData.js +4 -3
  595. package/_cjs/utils/signature/hashTypedData.js.map +1 -1
  596. package/_cjs/{experimental/erc6492 → utils/signature}/isErc6492Signature.js +2 -3
  597. package/_cjs/utils/signature/isErc6492Signature.js.map +1 -0
  598. package/_cjs/utils/signature/parseCompactSignature.js +1 -2
  599. package/_cjs/utils/signature/parseCompactSignature.js.map +1 -1
  600. package/_cjs/{experimental/erc6492 → utils/signature}/parseErc6492Signature.js +2 -3
  601. package/_cjs/utils/signature/parseErc6492Signature.js.map +1 -0
  602. package/_cjs/utils/signature/parseSignature.js +1 -2
  603. package/_cjs/utils/signature/parseSignature.js.map +1 -1
  604. package/_cjs/utils/signature/recoverAddress.js +1 -2
  605. package/_cjs/utils/signature/recoverAddress.js.map +1 -1
  606. package/_cjs/utils/signature/recoverMessageAddress.js +1 -2
  607. package/_cjs/utils/signature/recoverMessageAddress.js.map +1 -1
  608. package/_cjs/utils/signature/recoverPublicKey.js +1 -2
  609. package/_cjs/utils/signature/recoverPublicKey.js.map +1 -1
  610. package/_cjs/utils/signature/recoverTransactionAddress.js +1 -2
  611. package/_cjs/utils/signature/recoverTransactionAddress.js.map +1 -1
  612. package/_cjs/utils/signature/recoverTypedDataAddress.js +1 -2
  613. package/_cjs/utils/signature/recoverTypedDataAddress.js.map +1 -1
  614. package/_cjs/utils/signature/serializeCompactSignature.js +1 -2
  615. package/_cjs/utils/signature/serializeCompactSignature.js.map +1 -1
  616. package/_cjs/{experimental/erc6492 → utils/signature}/serializeErc6492Signature.js +3 -4
  617. package/_cjs/utils/signature/serializeErc6492Signature.js.map +1 -0
  618. package/_cjs/utils/signature/serializeSignature.js +1 -2
  619. package/_cjs/utils/signature/serializeSignature.js.map +1 -1
  620. package/_cjs/utils/signature/signatureToCompactSignature.js +1 -2
  621. package/_cjs/utils/signature/signatureToCompactSignature.js.map +1 -1
  622. package/_cjs/utils/signature/toPrefixedMessage.js +19 -0
  623. package/_cjs/utils/signature/toPrefixedMessage.js.map +1 -0
  624. package/_cjs/utils/signature/verifyMessage.js +1 -2
  625. package/_cjs/utils/signature/verifyMessage.js.map +1 -1
  626. package/_cjs/utils/signature/verifyTypedData.js +1 -2
  627. package/_cjs/utils/signature/verifyTypedData.js.map +1 -1
  628. package/_cjs/utils/siwe/createSiweMessage.js +1 -2
  629. package/_cjs/utils/siwe/createSiweMessage.js.map +1 -1
  630. package/_cjs/utils/siwe/generateSiweNonce.js +1 -2
  631. package/_cjs/utils/siwe/generateSiweNonce.js.map +1 -1
  632. package/_cjs/utils/siwe/parseSiweMessage.js +1 -2
  633. package/_cjs/utils/siwe/parseSiweMessage.js.map +1 -1
  634. package/_cjs/utils/siwe/utils.js +1 -2
  635. package/_cjs/utils/siwe/utils.js.map +1 -1
  636. package/_cjs/utils/siwe/validateSiweMessage.js +1 -2
  637. package/_cjs/utils/siwe/validateSiweMessage.js.map +1 -1
  638. package/_cjs/utils/stateOverride.js +3 -4
  639. package/_cjs/utils/stateOverride.js.map +1 -1
  640. package/_cjs/utils/transaction/assertRequest.js +1 -2
  641. package/_cjs/utils/transaction/assertRequest.js.map +1 -1
  642. package/_cjs/utils/transaction/assertTransaction.js +4 -5
  643. package/_cjs/utils/transaction/assertTransaction.js.map +1 -1
  644. package/_cjs/utils/transaction/getSerializedTransactionType.js +1 -2
  645. package/_cjs/utils/transaction/getSerializedTransactionType.js.map +1 -1
  646. package/_cjs/utils/transaction/getTransactionType.js +1 -2
  647. package/_cjs/utils/transaction/getTransactionType.js.map +1 -1
  648. package/_cjs/utils/transaction/parseTransaction.js +3 -4
  649. package/_cjs/utils/transaction/parseTransaction.js.map +1 -1
  650. package/_cjs/utils/transaction/serializeAccessList.js +1 -2
  651. package/_cjs/utils/transaction/serializeAccessList.js.map +1 -1
  652. package/_cjs/utils/transaction/serializeTransaction.js +2 -3
  653. package/_cjs/utils/transaction/serializeTransaction.js.map +1 -1
  654. package/_cjs/utils/typedData.js +4 -5
  655. package/_cjs/utils/typedData.js.map +1 -1
  656. package/_cjs/utils/uid.js +1 -2
  657. package/_cjs/utils/uid.js.map +1 -1
  658. package/_cjs/utils/unit/formatEther.js +1 -2
  659. package/_cjs/utils/unit/formatEther.js.map +1 -1
  660. package/_cjs/utils/unit/formatGwei.js +1 -2
  661. package/_cjs/utils/unit/formatGwei.js.map +1 -1
  662. package/_cjs/utils/unit/formatUnits.js +1 -2
  663. package/_cjs/utils/unit/formatUnits.js.map +1 -1
  664. package/_cjs/utils/unit/parseEther.js +1 -2
  665. package/_cjs/utils/unit/parseEther.js.map +1 -1
  666. package/_cjs/utils/unit/parseGwei.js +1 -2
  667. package/_cjs/utils/unit/parseGwei.js.map +1 -1
  668. package/_cjs/utils/unit/parseUnits.js +1 -2
  669. package/_cjs/utils/unit/parseUnits.js.map +1 -1
  670. package/_cjs/utils/wait.js +1 -2
  671. package/_cjs/utils/wait.js.map +1 -1
  672. package/_cjs/zksync/actions/deployContract.js +1 -2
  673. package/_cjs/zksync/actions/deployContract.js.map +1 -1
  674. package/_cjs/zksync/actions/estimateFee.js +1 -2
  675. package/_cjs/zksync/actions/estimateFee.js.map +1 -1
  676. package/_cjs/zksync/actions/estimateGasL1ToL2.js +1 -2
  677. package/_cjs/zksync/actions/estimateGasL1ToL2.js.map +1 -1
  678. package/_cjs/zksync/actions/getAllBalances.js +1 -2
  679. package/_cjs/zksync/actions/getAllBalances.js.map +1 -1
  680. package/_cjs/zksync/actions/getBaseTokenL1Address.js +1 -2
  681. package/_cjs/zksync/actions/getBaseTokenL1Address.js.map +1 -1
  682. package/_cjs/zksync/actions/getBlockDetails.js +1 -2
  683. package/_cjs/zksync/actions/getBlockDetails.js.map +1 -1
  684. package/_cjs/zksync/actions/getBridgehubContractAddress.js +1 -2
  685. package/_cjs/zksync/actions/getBridgehubContractAddress.js.map +1 -1
  686. package/_cjs/zksync/actions/getDefaultBridgeAddresses.js +1 -2
  687. package/_cjs/zksync/actions/getDefaultBridgeAddresses.js.map +1 -1
  688. package/_cjs/zksync/actions/getL1Allowance.js +1 -2
  689. package/_cjs/zksync/actions/getL1Allowance.js.map +1 -1
  690. package/_cjs/zksync/actions/getL1Balance.js +1 -2
  691. package/_cjs/zksync/actions/getL1Balance.js.map +1 -1
  692. package/_cjs/zksync/actions/getL1BatchBlockRange.js +1 -2
  693. package/_cjs/zksync/actions/getL1BatchBlockRange.js.map +1 -1
  694. package/_cjs/zksync/actions/getL1BatchDetails.js +1 -2
  695. package/_cjs/zksync/actions/getL1BatchDetails.js.map +1 -1
  696. package/_cjs/zksync/actions/getL1BatchNumber.js +1 -2
  697. package/_cjs/zksync/actions/getL1BatchNumber.js.map +1 -1
  698. package/_cjs/zksync/actions/getL1ChainId.js +1 -2
  699. package/_cjs/zksync/actions/getL1ChainId.js.map +1 -1
  700. package/_cjs/zksync/actions/getL1TokenBalance.js +1 -2
  701. package/_cjs/zksync/actions/getL1TokenBalance.js.map +1 -1
  702. package/_cjs/zksync/actions/getLogProof.js +1 -2
  703. package/_cjs/zksync/actions/getLogProof.js.map +1 -1
  704. package/_cjs/zksync/actions/getMainContractAddress.js +1 -2
  705. package/_cjs/zksync/actions/getMainContractAddress.js.map +1 -1
  706. package/_cjs/zksync/actions/getRawBlockTransactions.js +1 -2
  707. package/_cjs/zksync/actions/getRawBlockTransactions.js.map +1 -1
  708. package/_cjs/zksync/actions/getTestnetPaymasterAddress.js +1 -2
  709. package/_cjs/zksync/actions/getTestnetPaymasterAddress.js.map +1 -1
  710. package/_cjs/zksync/actions/getTransactionDetails.js +1 -2
  711. package/_cjs/zksync/actions/getTransactionDetails.js.map +1 -1
  712. package/_cjs/zksync/actions/sendEip712Transaction.js +1 -2
  713. package/_cjs/zksync/actions/sendEip712Transaction.js.map +1 -1
  714. package/_cjs/zksync/actions/sendTransaction.js +1 -2
  715. package/_cjs/zksync/actions/sendTransaction.js.map +1 -1
  716. package/_cjs/zksync/actions/signEip712Transaction.js +1 -2
  717. package/_cjs/zksync/actions/signEip712Transaction.js.map +1 -1
  718. package/_cjs/zksync/actions/signTransaction.js +1 -2
  719. package/_cjs/zksync/actions/signTransaction.js.map +1 -1
  720. package/_cjs/zksync/decorators/eip712.js +1 -2
  721. package/_cjs/zksync/decorators/eip712.js.map +1 -1
  722. package/_cjs/zksync/decorators/publicL1.js +1 -2
  723. package/_cjs/zksync/decorators/publicL1.js.map +1 -1
  724. package/_cjs/zksync/decorators/publicL2.js +1 -2
  725. package/_cjs/zksync/decorators/publicL2.js.map +1 -1
  726. package/_cjs/zksync/serializers.js +2 -2
  727. package/_cjs/zksync/serializers.js.map +1 -1
  728. package/_cjs/zksync/utils/abi/encodeDeployData.js +1 -2
  729. package/_cjs/zksync/utils/abi/encodeDeployData.js.map +1 -1
  730. package/_cjs/zksync/utils/assertEip712Request.js +1 -2
  731. package/_cjs/zksync/utils/assertEip712Request.js.map +1 -1
  732. package/_cjs/zksync/utils/assertEip712Transaction.js +1 -2
  733. package/_cjs/zksync/utils/assertEip712Transaction.js.map +1 -1
  734. package/_cjs/zksync/utils/camelCaseKeys.js +1 -2
  735. package/_cjs/zksync/utils/camelCaseKeys.js.map +1 -1
  736. package/_cjs/zksync/utils/hashBytecode.js +1 -2
  737. package/_cjs/zksync/utils/hashBytecode.js.map +1 -1
  738. package/_cjs/zksync/utils/isEip712Transaction.js +1 -2
  739. package/_cjs/zksync/utils/isEip712Transaction.js.map +1 -1
  740. package/_cjs/zksync/utils/isEth.js +1 -2
  741. package/_cjs/zksync/utils/isEth.js.map +1 -1
  742. package/_cjs/zksync/utils/paymaster/getApprovalBasedPaymasterInput.js +1 -2
  743. package/_cjs/zksync/utils/paymaster/getApprovalBasedPaymasterInput.js.map +1 -1
  744. package/_cjs/zksync/utils/paymaster/getGeneralPaymasterInput.js +1 -2
  745. package/_cjs/zksync/utils/paymaster/getGeneralPaymasterInput.js.map +1 -1
  746. package/_esm/actions/public/createEventFilter.js +7 -7
  747. package/_esm/actions/public/createEventFilter.js.map +1 -1
  748. package/_esm/actions/public/getLogs.js +7 -7
  749. package/_esm/actions/public/getLogs.js.map +1 -1
  750. package/_esm/actions/public/getTransactionCount.js +1 -1
  751. package/_esm/actions/public/verifyHash.js +27 -3
  752. package/_esm/actions/public/verifyHash.js.map +1 -1
  753. package/_esm/actions/public/verifyMessage.js +3 -1
  754. package/_esm/actions/public/verifyMessage.js.map +1 -1
  755. package/_esm/actions/public/verifyTypedData.js +3 -1
  756. package/_esm/actions/public/verifyTypedData.js.map +1 -1
  757. package/_esm/actions/public/watchEvent.js +7 -7
  758. package/_esm/actions/public/watchEvent.js.map +1 -1
  759. package/_esm/actions/wallet/sendTransaction.js +1 -0
  760. package/_esm/actions/wallet/sendTransaction.js.map +1 -1
  761. package/_esm/chains/definitions/zetachain.js +6 -0
  762. package/_esm/chains/definitions/zetachain.js.map +1 -1
  763. package/_esm/chains/definitions/zetachainAthensTestnet.js +6 -0
  764. package/_esm/chains/definitions/zetachainAthensTestnet.js.map +1 -1
  765. package/_esm/chains/definitions/zircuitTestnet.js +24 -0
  766. package/_esm/chains/definitions/zircuitTestnet.js.map +1 -0
  767. package/_esm/chains/index.js +1 -0
  768. package/_esm/chains/index.js.map +1 -1
  769. package/_esm/errors/version.js +1 -1
  770. package/_esm/experimental/index.js +10 -3
  771. package/_esm/experimental/index.js.map +1 -1
  772. package/_esm/experimental/solady/actions/signMessage.js +84 -0
  773. package/_esm/experimental/solady/actions/signMessage.js.map +1 -0
  774. package/_esm/experimental/solady/actions/signTypedData.js +160 -0
  775. package/_esm/experimental/solady/actions/signTypedData.js.map +1 -0
  776. package/_esm/experimental/solady/decorators/solady.js +27 -0
  777. package/_esm/experimental/solady/decorators/solady.js.map +1 -0
  778. package/_esm/experimental/solady/index.js +8 -0
  779. package/_esm/experimental/solady/index.js.map +1 -0
  780. package/_esm/experimental/solady/types.js +2 -0
  781. package/_esm/experimental/solady/types.js.map +1 -0
  782. package/_esm/experimental/solady/utils/hashMessage.js +32 -0
  783. package/_esm/experimental/solady/utils/hashMessage.js.map +1 -0
  784. package/_esm/experimental/solady/utils/hashTypedData.js +72 -0
  785. package/_esm/experimental/solady/utils/hashTypedData.js.map +1 -0
  786. package/_esm/experimental/solady/utils/wrapTypedDataSignature.js +82 -0
  787. package/_esm/experimental/solady/utils/wrapTypedDataSignature.js.map +1 -0
  788. package/_esm/index.js +4 -0
  789. package/_esm/index.js.map +1 -1
  790. package/_esm/utils/abi/encodeEventTopics.js +5 -5
  791. package/_esm/utils/abi/encodeEventTopics.js.map +1 -1
  792. package/_esm/utils/getAction.js +11 -7
  793. package/_esm/utils/getAction.js.map +1 -1
  794. package/_esm/utils/index.js +3 -0
  795. package/_esm/utils/index.js.map +1 -1
  796. package/_esm/utils/signature/hashMessage.js +2 -12
  797. package/_esm/utils/signature/hashMessage.js.map +1 -1
  798. package/_esm/utils/signature/hashTypedData.js +2 -2
  799. package/_esm/utils/signature/hashTypedData.js.map +1 -1
  800. package/_esm/{experimental/erc6492 → utils/signature}/isErc6492Signature.js +1 -1
  801. package/_esm/utils/signature/isErc6492Signature.js.map +1 -0
  802. package/_esm/{experimental/erc6492 → utils/signature}/parseErc6492Signature.js +1 -1
  803. package/_esm/utils/signature/parseErc6492Signature.js.map +1 -0
  804. package/_esm/{experimental/erc6492 → utils/signature}/serializeErc6492Signature.js +2 -2
  805. package/_esm/utils/signature/serializeErc6492Signature.js.map +1 -0
  806. package/_esm/utils/signature/toPrefixedMessage.js +16 -0
  807. package/_esm/utils/signature/toPrefixedMessage.js.map +1 -0
  808. package/_types/actions/public/getTransactionCount.d.ts +1 -1
  809. package/_types/actions/public/verifyHash.d.ts +6 -2
  810. package/_types/actions/public/verifyHash.d.ts.map +1 -1
  811. package/_types/actions/public/verifyMessage.d.ts +1 -1
  812. package/_types/actions/public/verifyMessage.d.ts.map +1 -1
  813. package/_types/actions/public/verifyTypedData.d.ts.map +1 -1
  814. package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
  815. package/_types/celo/chainConfig.d.ts +1086 -1086
  816. package/_types/celo/formatters.d.ts +543 -543
  817. package/_types/celo/formatters.d.ts.map +1 -1
  818. package/_types/chains/definitions/ancient8.d.ts +260 -260
  819. package/_types/chains/definitions/ancient8Sepolia.d.ts +260 -260
  820. package/_types/chains/definitions/base.d.ts +260 -260
  821. package/_types/chains/definitions/baseGoerli.d.ts +260 -260
  822. package/_types/chains/definitions/baseSepolia.d.ts +260 -260
  823. package/_types/chains/definitions/celo.d.ts +1086 -1086
  824. package/_types/chains/definitions/celoAlfajores.d.ts +1086 -1086
  825. package/_types/chains/definitions/fraxtal.d.ts +260 -260
  826. package/_types/chains/definitions/fraxtalTestnet.d.ts +260 -260
  827. package/_types/chains/definitions/funkiSepolia.d.ts +260 -260
  828. package/_types/chains/definitions/lisk.d.ts +315 -315
  829. package/_types/chains/definitions/liskSepolia.d.ts +260 -260
  830. package/_types/chains/definitions/metalL2.d.ts +260 -260
  831. package/_types/chains/definitions/optimism.d.ts +260 -260
  832. package/_types/chains/definitions/optimismGoerli.d.ts +260 -260
  833. package/_types/chains/definitions/optimismSepolia.d.ts +260 -260
  834. package/_types/chains/definitions/pgn.d.ts +260 -260
  835. package/_types/chains/definitions/pgnTestnet.d.ts +260 -260
  836. package/_types/chains/definitions/playfiAlbireo.d.ts +315 -315
  837. package/_types/chains/definitions/rss3.d.ts +260 -260
  838. package/_types/chains/definitions/rss3Sepolia.d.ts +260 -260
  839. package/_types/chains/definitions/zetachain.d.ts +6 -8
  840. package/_types/chains/definitions/zetachain.d.ts.map +1 -1
  841. package/_types/chains/definitions/zetachainAthensTestnet.d.ts +6 -8
  842. package/_types/chains/definitions/zetachainAthensTestnet.d.ts.map +1 -1
  843. package/_types/chains/definitions/zircuitTestnet.d.ts +33 -0
  844. package/_types/chains/definitions/zircuitTestnet.d.ts.map +1 -0
  845. package/_types/chains/definitions/zkSync.d.ts +315 -315
  846. package/_types/chains/definitions/zkSyncInMemoryNode.d.ts +315 -315
  847. package/_types/chains/definitions/zkSyncLocalNode.d.ts +315 -315
  848. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +315 -315
  849. package/_types/chains/definitions/zkSyncTestnet.d.ts +315 -315
  850. package/_types/chains/definitions/zora.d.ts +260 -260
  851. package/_types/chains/definitions/zoraSepolia.d.ts +260 -260
  852. package/_types/chains/definitions/zoraTestnet.d.ts +260 -260
  853. package/_types/chains/index.d.ts +1 -0
  854. package/_types/chains/index.d.ts.map +1 -1
  855. package/_types/errors/version.d.ts +1 -1
  856. package/_types/experimental/eip5792/decorators/eip5792.d.ts.map +1 -1
  857. package/_types/experimental/erc7715/decorators/erc7715.d.ts.map +1 -1
  858. package/_types/experimental/index.d.ts +28 -3
  859. package/_types/experimental/index.d.ts.map +1 -1
  860. package/_types/experimental/solady/actions/signMessage.d.ts +71 -0
  861. package/_types/experimental/solady/actions/signMessage.d.ts.map +1 -0
  862. package/_types/experimental/solady/actions/signTypedData.d.ts +125 -0
  863. package/_types/experimental/solady/actions/signTypedData.d.ts.map +1 -0
  864. package/_types/experimental/solady/decorators/solady.d.ts +183 -0
  865. package/_types/experimental/solady/decorators/solady.d.ts.map +1 -0
  866. package/_types/experimental/solady/index.d.ts +7 -0
  867. package/_types/experimental/solady/index.d.ts.map +1 -0
  868. package/_types/experimental/solady/types.d.ts +7 -0
  869. package/_types/experimental/solady/types.d.ts.map +1 -0
  870. package/_types/experimental/solady/utils/hashMessage.d.ts +30 -0
  871. package/_types/experimental/solady/utils/hashMessage.d.ts.map +1 -0
  872. package/_types/experimental/solady/utils/hashTypedData.d.ts +59 -0
  873. package/_types/experimental/solady/utils/hashTypedData.d.ts.map +1 -0
  874. package/_types/experimental/solady/utils/wrapTypedDataSignature.d.ts +50 -0
  875. package/_types/experimental/solady/utils/wrapTypedDataSignature.d.ts.map +1 -0
  876. package/_types/index.d.ts +5 -1
  877. package/_types/index.d.ts.map +1 -1
  878. package/_types/op-stack/chainConfig.d.ts +260 -260
  879. package/_types/op-stack/decorators/publicL1.d.ts.map +1 -1
  880. package/_types/op-stack/decorators/publicL2.d.ts.map +1 -1
  881. package/_types/op-stack/decorators/walletL1.d.ts.map +1 -1
  882. package/_types/op-stack/decorators/walletL2.d.ts.map +1 -1
  883. package/_types/op-stack/formatters.d.ts +260 -260
  884. package/_types/op-stack/formatters.d.ts.map +1 -1
  885. package/_types/utils/abi/decodeFunctionData.d.ts +1 -1
  886. package/_types/utils/abi/decodeFunctionData.d.ts.map +1 -1
  887. package/_types/utils/abi/encodeEventTopics.d.ts +3 -1
  888. package/_types/utils/abi/encodeEventTopics.d.ts.map +1 -1
  889. package/_types/utils/formatters/block.d.ts.map +1 -1
  890. package/_types/utils/formatters/formatter.d.ts +2 -2
  891. package/_types/utils/formatters/formatter.d.ts.map +1 -1
  892. package/_types/utils/formatters/log.d.ts.map +1 -1
  893. package/_types/utils/formatters/proof.d.ts.map +1 -1
  894. package/_types/utils/formatters/transaction.d.ts +127 -126
  895. package/_types/utils/formatters/transaction.d.ts.map +1 -1
  896. package/_types/utils/formatters/transactionRequest.d.ts +67 -66
  897. package/_types/utils/formatters/transactionRequest.d.ts.map +1 -1
  898. package/_types/utils/getAction.d.ts +9 -1
  899. package/_types/utils/getAction.d.ts.map +1 -1
  900. package/_types/utils/index.d.ts +4 -1
  901. package/_types/utils/index.d.ts.map +1 -1
  902. package/_types/utils/rpc/compat.d.ts.map +1 -1
  903. package/_types/utils/rpc/ipc.d.ts +0 -2
  904. package/_types/utils/rpc/ipc.d.ts.map +1 -1
  905. package/_types/utils/signature/hashMessage.d.ts +1 -3
  906. package/_types/utils/signature/hashMessage.d.ts.map +1 -1
  907. package/_types/utils/signature/hashTypedData.d.ts +9 -0
  908. package/_types/utils/signature/hashTypedData.d.ts.map +1 -1
  909. package/_types/{experimental/erc6492 → utils/signature}/isErc6492Signature.d.ts +1 -1
  910. package/_types/utils/signature/isErc6492Signature.d.ts.map +1 -0
  911. package/_types/{experimental/erc6492 → utils/signature}/parseErc6492Signature.d.ts +1 -1
  912. package/_types/utils/signature/parseErc6492Signature.d.ts.map +1 -0
  913. package/_types/utils/signature/serializeErc6492Signature.d.ts.map +1 -0
  914. package/_types/utils/signature/toPrefixedMessage.d.ts +7 -0
  915. package/_types/utils/signature/toPrefixedMessage.d.ts.map +1 -0
  916. package/_types/zksync/chainConfig.d.ts +315 -315
  917. package/_types/zksync/decorators/eip712.d.ts.map +1 -1
  918. package/_types/zksync/decorators/publicL1.d.ts.map +1 -1
  919. package/_types/zksync/decorators/publicL2.d.ts.map +1 -1
  920. package/_types/zksync/formatters.d.ts +315 -315
  921. package/_types/zksync/formatters.d.ts.map +1 -1
  922. package/actions/public/createEventFilter.ts +9 -9
  923. package/actions/public/getLogs.ts +9 -9
  924. package/actions/public/getTransactionCount.ts +1 -1
  925. package/actions/public/verifyHash.ts +31 -4
  926. package/actions/public/verifyMessage.ts +10 -1
  927. package/actions/public/verifyTypedData.ts +4 -0
  928. package/actions/public/watchEvent.ts +9 -9
  929. package/actions/wallet/sendTransaction.ts +1 -0
  930. package/chains/definitions/zetachain.ts +6 -0
  931. package/chains/definitions/zetachainAthensTestnet.ts +6 -0
  932. package/chains/definitions/zircuitTestnet.ts +24 -0
  933. package/chains/index.ts +1 -0
  934. package/errors/version.ts +1 -1
  935. package/experimental/index.ts +21 -3
  936. package/experimental/solady/actions/signMessage.ts +151 -0
  937. package/experimental/solady/actions/signTypedData.ts +251 -0
  938. package/experimental/solady/decorators/solady.ts +232 -0
  939. package/experimental/solady/index.ts +36 -0
  940. package/experimental/solady/types.ts +7 -0
  941. package/experimental/solady/utils/hashMessage.ts +60 -0
  942. package/experimental/solady/utils/hashTypedData.ts +112 -0
  943. package/experimental/solady/utils/wrapTypedDataSignature.ts +108 -0
  944. package/index.ts +23 -0
  945. package/package.json +10 -2
  946. package/utils/abi/encodeEventTopics.ts +13 -11
  947. package/utils/getAction.ts +31 -15
  948. package/utils/index.ts +19 -0
  949. package/utils/signature/hashMessage.ts +3 -23
  950. package/utils/signature/hashTypedData.ts +2 -2
  951. package/{experimental/erc6492 → utils/signature}/isErc6492Signature.ts +1 -1
  952. package/{experimental/erc6492 → utils/signature}/parseErc6492Signature.ts +1 -1
  953. package/{experimental/erc6492 → utils/signature}/serializeErc6492Signature.ts +2 -2
  954. package/utils/signature/toPrefixedMessage.ts +27 -0
  955. package/_cjs/experimental/erc6492/isErc6492Signature.js.map +0 -1
  956. package/_cjs/experimental/erc6492/parseErc6492Signature.js.map +0 -1
  957. package/_cjs/experimental/erc6492/serializeErc6492Signature.js.map +0 -1
  958. package/_esm/experimental/erc6492/isErc6492Signature.js.map +0 -1
  959. package/_esm/experimental/erc6492/parseErc6492Signature.js.map +0 -1
  960. package/_esm/experimental/erc6492/serializeErc6492Signature.js.map +0 -1
  961. package/_types/experimental/erc6492/isErc6492Signature.d.ts.map +0 -1
  962. package/_types/experimental/erc6492/parseErc6492Signature.d.ts.map +0 -1
  963. package/_types/experimental/erc6492/serializeErc6492Signature.d.ts.map +0 -1
  964. /package/_types/{experimental/erc6492 → utils/signature}/serializeErc6492Signature.d.ts +0 -0
@@ -0,0 +1,251 @@
1
+ import type { Address, TypedData, TypedDataDomain } from 'abitype'
2
+
3
+ import type { Account } from '../../../accounts/types.js'
4
+ import { parseAccount } from '../../../accounts/utils/parseAccount.js'
5
+ import {
6
+ type GetEip712DomainParameters,
7
+ getEip712Domain,
8
+ } from '../../../actions/public/getEip712Domain.js'
9
+ import { signTypedData as signTypedData_ } from '../../../actions/wallet/signTypedData.js'
10
+ import type { Client } from '../../../clients/createClient.js'
11
+ import type { Transport } from '../../../clients/transports/createTransport.js'
12
+ import { AccountNotFoundError } from '../../../errors/account.js'
13
+ import type { ErrorType } from '../../../errors/utils.js'
14
+ import type { GetAccountParameter } from '../../../types/account.js'
15
+ import type { Chain } from '../../../types/chain.js'
16
+ import type { Hex } from '../../../types/misc.js'
17
+ import type { TypedDataDefinition } from '../../../types/typedData.js'
18
+ import type { OneOf, RequiredBy } from '../../../types/utils.js'
19
+ import { getAction } from '../../../utils/getAction.js'
20
+ import type { GetVerifierParameter } from '../types.js'
21
+ import { wrapTypedDataSignature } from '../utils/wrapTypedDataSignature.js'
22
+
23
+ export type SignTypedDataParameters<
24
+ typedData extends TypedData | Record<string, unknown> = TypedData,
25
+ primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData,
26
+ account extends Account | undefined = undefined,
27
+ accountOverride extends Account | undefined = undefined,
28
+ verifier extends Address | undefined = Address | undefined,
29
+ ///
30
+ primaryTypes = typedData extends TypedData ? keyof typedData : string,
31
+ > = TypedDataDefinition<typedData, primaryType, primaryTypes> &
32
+ Pick<GetEip712DomainParameters, 'factory' | 'factoryData'> &
33
+ GetAccountParameter<account, accountOverride> &
34
+ OneOf<
35
+ | {
36
+ verifierDomain: RequiredBy<
37
+ TypedDataDomain,
38
+ 'chainId' | 'name' | 'verifyingContract' | 'salt' | 'version'
39
+ >
40
+ fields: Hex
41
+ extensions: readonly bigint[]
42
+ verifier?: undefined
43
+ }
44
+ | (GetVerifierParameter<verifier> & {
45
+ verifierDomain?:
46
+ | RequiredBy<
47
+ TypedDataDomain,
48
+ 'chainId' | 'name' | 'verifyingContract' | 'salt' | 'version'
49
+ >
50
+ | undefined
51
+ fields?: Hex | undefined
52
+ extensions?: readonly bigint[] | undefined
53
+ })
54
+ >
55
+
56
+ export type SignTypedDataReturnType = Hex
57
+
58
+ export type SignTypedDataErrorType = ErrorType
59
+
60
+ /**
61
+ * Signs an [EIP-712](https://eips.ethereum.org/EIPS/eip-712) typed data message via Solady's [ERC1271 `TypedDataSign` format](https://github.com/Vectorized/solady/blob/678c9163550810b08f0ffb09624c9f7532392303/src/accounts/ERC1271.sol#L130-L151).
62
+ *
63
+ * This Action is suitable to sign messages for Smart Accounts that implement (or conform to) Solady's [ERC1271.sol](https://github.com/Vectorized/solady/blob/main/src/accounts/ERC1271.sol).
64
+ *
65
+ * - Docs: https://viem.sh/experimental/solady/signTypedData
66
+ *
67
+ * @param client - Client to use
68
+ * @param parameters - {@link SignTypedDataParameters}
69
+ * @returns The signed data. {@link SignTypedDataReturnType}
70
+ *
71
+ * @example
72
+ * import { createWalletClient, custom } from 'viem'
73
+ * import { mainnet } from 'viem/chains'
74
+ * import { signTypedData } from 'viem/experimental/solady'
75
+ *
76
+ * const client = createWalletClient({
77
+ * chain: mainnet,
78
+ * transport: custom(window.ethereum),
79
+ * })
80
+ * const signature = await signTypedData(client, {
81
+ * account: '0xE8Df82fA4E10e6A12a9Dab552bceA2acd26De9bb',
82
+ * domain: {
83
+ * name: 'Ether Mail',
84
+ * version: '1',
85
+ * chainId: 1,
86
+ * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
87
+ * },
88
+ * types: {
89
+ * Person: [
90
+ * { name: 'name', type: 'string' },
91
+ * { name: 'wallet', type: 'address' },
92
+ * ],
93
+ * Mail: [
94
+ * { name: 'from', type: 'Person' },
95
+ * { name: 'to', type: 'Person' },
96
+ * { name: 'contents', type: 'string' },
97
+ * ],
98
+ * },
99
+ * primaryType: 'Mail',
100
+ * message: {
101
+ * from: {
102
+ * name: 'Cow',
103
+ * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
104
+ * },
105
+ * to: {
106
+ * name: 'Bob',
107
+ * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
108
+ * },
109
+ * contents: 'Hello, Bob!',
110
+ * },
111
+ * verifier: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
112
+ * })
113
+ *
114
+ * @example
115
+ * // Account Hoisting
116
+ * import { createWalletClient, http } from 'viem'
117
+ * import { privateKeyToAccount } from 'viem/accounts'
118
+ * import { mainnet } from 'viem/chains'
119
+ * import { signTypedData } from 'viem/experimental/solady'
120
+ *
121
+ * const client = createWalletClient({
122
+ * account: '0xE8Df82fA4E10e6A12a9Dab552bceA2acd26De9bb'
123
+ * chain: mainnet,
124
+ * transport: http(),
125
+ * })
126
+ * const signature = await signTypedData(client, {
127
+ * domain: {
128
+ * name: 'Ether Mail',
129
+ * version: '1',
130
+ * chainId: 1,
131
+ * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
132
+ * },
133
+ * types: {
134
+ * Person: [
135
+ * { name: 'name', type: 'string' },
136
+ * { name: 'wallet', type: 'address' },
137
+ * ],
138
+ * Mail: [
139
+ * { name: 'from', type: 'Person' },
140
+ * { name: 'to', type: 'Person' },
141
+ * { name: 'contents', type: 'string' },
142
+ * ],
143
+ * },
144
+ * primaryType: 'Mail',
145
+ * message: {
146
+ * from: {
147
+ * name: 'Cow',
148
+ * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
149
+ * },
150
+ * to: {
151
+ * name: 'Bob',
152
+ * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
153
+ * },
154
+ * contents: 'Hello, Bob!',
155
+ * },
156
+ * verifier: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
157
+ * })
158
+ */
159
+ export async function signTypedData<
160
+ const typedData extends TypedData | Record<string, unknown>,
161
+ primaryType extends keyof typedData | 'EIP712Domain',
162
+ chain extends Chain | undefined,
163
+ account extends Account | undefined,
164
+ accountOverride extends Account | undefined = undefined,
165
+ >(
166
+ client: Client<Transport, chain, account>,
167
+ parameters: SignTypedDataParameters<
168
+ typedData,
169
+ primaryType,
170
+ account,
171
+ accountOverride
172
+ >,
173
+ ): Promise<SignTypedDataReturnType> {
174
+ const {
175
+ account: account_ = client.account,
176
+ domain,
177
+ factory,
178
+ factoryData,
179
+ message,
180
+ primaryType,
181
+ types,
182
+ verifier,
183
+ } = parameters as unknown as SignTypedDataParameters
184
+
185
+ if (!account_)
186
+ throw new AccountNotFoundError({
187
+ docsPath: '/experimental/solady/signTypedData',
188
+ })
189
+ const account = parseAccount(account_!)
190
+
191
+ // Retrieve account EIP712 domain.
192
+ const {
193
+ domain: verifierDomain,
194
+ fields,
195
+ extensions,
196
+ } = await (async () => {
197
+ if (parameters.verifierDomain && parameters.fields && parameters.extensions)
198
+ return {
199
+ domain: parameters.verifierDomain,
200
+ fields: parameters.fields,
201
+ extensions: parameters.extensions,
202
+ }
203
+ return getAction(
204
+ client,
205
+ getEip712Domain,
206
+ 'getEip712Domain',
207
+ )({
208
+ address: verifier!,
209
+ factory,
210
+ factoryData,
211
+ })
212
+ })()
213
+
214
+ // Sign with typed data wrapper.
215
+ const signature = await getAction(
216
+ client,
217
+ signTypedData_,
218
+ 'signTypedData',
219
+ )({
220
+ account,
221
+ domain,
222
+ types: {
223
+ ...types,
224
+ TypedDataSign: [
225
+ { name: 'contents', type: primaryType },
226
+ { name: 'fields', type: 'bytes1' },
227
+ { name: 'name', type: 'string' },
228
+ { name: 'version', type: 'string' },
229
+ { name: 'chainId', type: 'uint256' },
230
+ { name: 'verifyingContract', type: 'address' },
231
+ { name: 'salt', type: 'bytes32' },
232
+ { name: 'extensions', type: 'uint256[]' },
233
+ ],
234
+ },
235
+ primaryType: 'TypedDataSign',
236
+ message: {
237
+ contents: message as any,
238
+ fields,
239
+ extensions,
240
+ ...(verifierDomain as any),
241
+ },
242
+ })
243
+
244
+ return wrapTypedDataSignature({
245
+ domain,
246
+ message,
247
+ primaryType,
248
+ signature,
249
+ types,
250
+ })
251
+ }
@@ -0,0 +1,232 @@
1
+ import type { Address, TypedData } from 'abitype'
2
+ import type { Client } from '../../../clients/createClient.js'
3
+ import type { Transport } from '../../../clients/transports/createTransport.js'
4
+ import type { Account } from '../../../types/account.js'
5
+ import type { Chain } from '../../../types/chain.js'
6
+ import {
7
+ type SignMessageParameters,
8
+ type SignMessageReturnType,
9
+ signMessage,
10
+ } from '../actions/signMessage.js'
11
+ import {
12
+ type SignTypedDataParameters,
13
+ type SignTypedDataReturnType,
14
+ signTypedData,
15
+ } from '../actions/signTypedData.js'
16
+
17
+ export type SoladyActions<
18
+ account extends Account | undefined = Account | undefined,
19
+ verifier extends Address | undefined = Address | undefined,
20
+ > = {
21
+ /**
22
+ * Signs a [EIP-191](https://eips.ethereum.org/EIPS/eip-191) personal sign message via Solady's [ERC1271 `PersonalSign` format](https://github.com/Vectorized/solady/blob/678c9163550810b08f0ffb09624c9f7532392303/src/accounts/ERC1271.sol#L154-L166).
23
+ *
24
+ * This Action is suitable to sign messages for Smart Accounts that implement (or conform to) Solady's [ERC1271.sol](https://github.com/Vectorized/solady/blob/main/src/accounts/ERC1271.sol).
25
+ *
26
+ * - Docs: https://viem.sh/experimental/solady/signMessage
27
+ *
28
+ * With the calculated signature, you can:
29
+ * - use [`verifyMessage`](https://viem.sh/docs/utilities/verifyMessage) to verify the signature,
30
+ *
31
+ * @param client - Client to use
32
+ * @param parameters - {@link SignMessageParameters}
33
+ * @returns The signed message. {@link SignMessageReturnType}
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * import { createWalletClient, custom } from 'viem'
38
+ * import { mainnet } from 'viem/chains'
39
+ * import { soladyActions } from 'viem/experimental/solady'
40
+ *
41
+ * const client = createWalletClient({
42
+ * chain: mainnet,
43
+ * transport: custom(window.ethereum),
44
+ * }).extend(soladyActions())
45
+ *
46
+ * const signature = await client.signMessage({
47
+ * account: '0xE8Df82fA4E10e6A12a9Dab552bceA2acd26De9bb',
48
+ * message: 'hello world',
49
+ * verifier: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
50
+ * })
51
+ * ```
52
+ *
53
+ * @example Account & Signer Hoisting
54
+ * ```ts
55
+ * import { createWalletClient, custom } from 'viem'
56
+ * import { mainnet } from 'viem/chains'
57
+ * import { soladyActions } from 'viem/experimental/solady'
58
+ *
59
+ * const client = createWalletClient({
60
+ * account: '0xE8Df82fA4E10e6A12a9Dab552bceA2acd26De9bb',
61
+ * chain: mainnet,
62
+ * transport: custom(window.ethereum),
63
+ * }).extend(soladyActions({ verifier: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e' }))
64
+ *
65
+ * const signature = await client.signMessage({
66
+ * message: 'hello world',
67
+ * })
68
+ * ```
69
+ */
70
+ signMessage: <accountOverride extends Account | undefined = undefined>(
71
+ parameters: SignMessageParameters<account, accountOverride, verifier>,
72
+ ) => Promise<SignMessageReturnType>
73
+ /**
74
+ * Signs an [EIP-712](https://eips.ethereum.org/EIPS/eip-712) typed data message via Solady's [ERC1271 `TypedDataSign` format](https://github.com/Vectorized/solady/blob/678c9163550810b08f0ffb09624c9f7532392303/src/accounts/ERC1271.sol#L130-L151).
75
+ *
76
+ * This Action is suitable to sign messages for Smart Accounts that implement (or conform to) Solady's [ERC1271.sol](https://github.com/Vectorized/solady/blob/main/src/accounts/ERC1271.sol).
77
+ *
78
+ * - Docs: https://viem.sh/experimental/solady/signTypedData
79
+ *
80
+ * @param client - Client to use
81
+ * @param parameters - {@link SignTypedDataParameters}
82
+ * @returns The signed data. {@link SignTypedDataReturnType}
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * import { createWalletClient, custom } from 'viem'
87
+ * import { mainnet } from 'viem/chains'
88
+ * import { soladyActions } from 'viem/experimental/solady'
89
+ *
90
+ * const client = createWalletClient({
91
+ * chain: mainnet,
92
+ * transport: custom(window.ethereum),
93
+ * }).extend(soladyActions())
94
+ *
95
+ * const signature = await client.signTypedData({
96
+ * account: '0xE8Df82fA4E10e6A12a9Dab552bceA2acd26De9bb',
97
+ * domain: {
98
+ * name: 'Ether Mail',
99
+ * version: '1',
100
+ * chainId: 1,
101
+ * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
102
+ * },
103
+ * types: {
104
+ * Person: [
105
+ * { name: 'name', type: 'string' },
106
+ * { name: 'wallet', type: 'address' },
107
+ * ],
108
+ * Mail: [
109
+ * { name: 'from', type: 'Person' },
110
+ * { name: 'to', type: 'Person' },
111
+ * { name: 'contents', type: 'string' },
112
+ * ],
113
+ * },
114
+ * primaryType: 'Mail',
115
+ * message: {
116
+ * from: {
117
+ * name: 'Cow',
118
+ * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
119
+ * },
120
+ * to: {
121
+ * name: 'Bob',
122
+ * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
123
+ * },
124
+ * contents: 'Hello, Bob!',
125
+ * },
126
+ * verifier: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
127
+ * })
128
+ * ```
129
+ *
130
+ * @example Account & Signer Hoisting
131
+ * ```ts
132
+ * import { createWalletClient, http } from 'viem'
133
+ * import { privateKeyToAccount } from 'viem/accounts'
134
+ * import { mainnet } from 'viem/chains'
135
+ * import { soladyActions } from 'viem/experimental/solady'
136
+ *
137
+ * const client = createWalletClient({
138
+ * account: '0xE8Df82fA4E10e6A12a9Dab552bceA2acd26De9bb',
139
+ * chain: mainnet,
140
+ * transport: http(),
141
+ * }).extend(soladyActions({ verifier: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e' }))
142
+ *
143
+ * const signature = await client.signTypedData({
144
+ * domain: {
145
+ * name: 'Ether Mail',
146
+ * version: '1',
147
+ * chainId: 1,
148
+ * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
149
+ * },
150
+ * types: {
151
+ * Person: [
152
+ * { name: 'name', type: 'string' },
153
+ * { name: 'wallet', type: 'address' },
154
+ * ],
155
+ * Mail: [
156
+ * { name: 'from', type: 'Person' },
157
+ * { name: 'to', type: 'Person' },
158
+ * { name: 'contents', type: 'string' },
159
+ * ],
160
+ * },
161
+ * primaryType: 'Mail',
162
+ * message: {
163
+ * from: {
164
+ * name: 'Cow',
165
+ * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
166
+ * },
167
+ * to: {
168
+ * name: 'Bob',
169
+ * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
170
+ * },
171
+ * contents: 'Hello, Bob!',
172
+ * },
173
+ * })
174
+ * ```
175
+ */
176
+ signTypedData: <
177
+ const typedData extends TypedData | Record<string, unknown>,
178
+ primaryType extends keyof typedData | 'EIP712Domain',
179
+ accountOverride extends Account | undefined = undefined,
180
+ >(
181
+ parameters: SignTypedDataParameters<
182
+ typedData,
183
+ primaryType,
184
+ account,
185
+ accountOverride
186
+ >,
187
+ ) => Promise<SignTypedDataReturnType>
188
+ }
189
+
190
+ export type SoladyActionsParameters<
191
+ verifier extends Account | Address | undefined =
192
+ | Account
193
+ | Address
194
+ | undefined,
195
+ > = {
196
+ verifier?: verifier | undefined
197
+ }
198
+
199
+ /**
200
+ * A suite of Actions based on [Solady contracts](https://github.com/Vectorized/solady).
201
+ *
202
+ * @example
203
+ * import { createPublicClient, createWalletClient, http } from 'viem'
204
+ * import { mainnet } from 'viem/chains'
205
+ * import { soladyActions } from 'viem/experimental'
206
+ *
207
+ * const walletClient = createWalletClient({
208
+ * chain: mainnet,
209
+ * transport: http(),
210
+ * }).extend(soladyActions())
211
+ *
212
+ * const result = await walletClient.signMessage({...})
213
+ */
214
+ export function soladyActions<verifier extends Address | undefined = undefined>(
215
+ parameters: SoladyActionsParameters<verifier> = {},
216
+ ) {
217
+ const { verifier } = parameters
218
+ return <
219
+ transport extends Transport,
220
+ chain extends Chain | undefined = Chain | undefined,
221
+ account extends Account | undefined = Account | undefined,
222
+ >(
223
+ client: Client<transport, chain, account>,
224
+ ): SoladyActions<account, verifier> => {
225
+ return {
226
+ signMessage: (parameters) =>
227
+ signMessage(client, { verifier, ...parameters }),
228
+ signTypedData: (parameters) =>
229
+ signTypedData(client, { verifier, ...(parameters as any) }),
230
+ }
231
+ }
232
+ }
@@ -0,0 +1,36 @@
1
+ // biome-ignore lint/performance/noBarrelFile: entrypoint
2
+ export {
3
+ type SignMessageErrorType,
4
+ type SignMessageParameters,
5
+ type SignMessageReturnType,
6
+ signMessage,
7
+ } from './actions/signMessage.js'
8
+ export {
9
+ type SignTypedDataErrorType,
10
+ type SignTypedDataParameters,
11
+ type SignTypedDataReturnType,
12
+ signTypedData,
13
+ } from './actions/signTypedData.js'
14
+ export {
15
+ type SoladyActions,
16
+ type SoladyActionsParameters,
17
+ soladyActions,
18
+ } from './decorators/solady.js'
19
+ export {
20
+ type HashMessageErrorType,
21
+ type HashMessageParameters,
22
+ type HashMessageReturnType,
23
+ hashMessage,
24
+ } from './utils/hashMessage.js'
25
+ export {
26
+ type HashTypedDataErrorType,
27
+ type HashTypedDataParameters,
28
+ type HashTypedDataReturnType,
29
+ hashTypedData,
30
+ } from './utils/hashTypedData.js'
31
+ export {
32
+ type WrapTypedDataSignatureErrorType,
33
+ type WrapTypedDataSignatureParameters,
34
+ type WrapTypedDataSignatureReturnType,
35
+ wrapTypedDataSignature,
36
+ } from './utils/wrapTypedDataSignature.js'
@@ -0,0 +1,7 @@
1
+ import type { Address } from 'abitype'
2
+
3
+ export type GetVerifierParameter<
4
+ verifier extends Address | undefined = Address,
5
+ > = verifier extends Address
6
+ ? { verifier?: Address | undefined }
7
+ : { verifier: Address }
@@ -0,0 +1,60 @@
1
+ import type { TypedDataDomain } from 'abitype'
2
+ import type { ErrorType } from '../../../errors/utils.js'
3
+ import type { Hex, SignableMessage } from '../../../types/misc.js'
4
+ import type { RequiredBy } from '../../../types/utils.js'
5
+ import { hashTypedData } from '../../../utils/index.js'
6
+ import type { HashTypedDataErrorType } from '../../../utils/signature/hashTypedData.js'
7
+ import {
8
+ type ToPrefixedMessageErrorType,
9
+ toPrefixedMessage,
10
+ } from '../../../utils/signature/toPrefixedMessage.js'
11
+
12
+ export type HashMessageParameters = {
13
+ message: SignableMessage
14
+ verifierDomain: RequiredBy<
15
+ TypedDataDomain,
16
+ 'chainId' | 'name' | 'verifyingContract' | 'version'
17
+ >
18
+ }
19
+
20
+ export type HashMessageReturnType = Hex
21
+
22
+ export type HashMessageErrorType =
23
+ | HashTypedDataErrorType
24
+ | ToPrefixedMessageErrorType
25
+ | ErrorType
26
+
27
+ /**
28
+ * Generates a signable hash for a Solady ERC-1271 personal sign message.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * const hash = hashMessage({
33
+ * message: 'hello world',
34
+ * verifierDomain: {
35
+ * name: 'Smart Account',
36
+ * version: '1',
37
+ * verifyingContract: '0x1234567890abcdef1234567890abcdef12345678',
38
+ * chainId: 1,
39
+ * },
40
+ * })
41
+ * ```
42
+ */
43
+ export function hashMessage(
44
+ parameters: HashMessageParameters,
45
+ ): HashMessageReturnType {
46
+ const {
47
+ message,
48
+ verifierDomain: { salt, ...domain },
49
+ } = parameters
50
+ return hashTypedData({
51
+ domain,
52
+ types: {
53
+ PersonalSign: [{ name: 'prefixed', type: 'bytes' }],
54
+ },
55
+ primaryType: 'PersonalSign',
56
+ message: {
57
+ prefixed: toPrefixedMessage(message),
58
+ },
59
+ })
60
+ }
@@ -0,0 +1,112 @@
1
+ import type { TypedData, TypedDataDomain } from 'abitype'
2
+ import type { ErrorType } from '../../../errors/utils.js'
3
+ import type { Hex } from '../../../types/misc.js'
4
+ import type { TypedDataDefinition } from '../../../types/typedData.js'
5
+ import type { RequiredBy } from '../../../types/utils.js'
6
+ import {
7
+ type HashTypedDataErrorType as HashTypedDataErrorType_,
8
+ hashTypedData as hashTypedData_,
9
+ } from '../../../utils/signature/hashTypedData.js'
10
+
11
+ export type HashTypedDataParameters<
12
+ typedData extends TypedData | Record<string, unknown> = TypedData,
13
+ primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData,
14
+ ///
15
+ primaryTypes = typedData extends TypedData ? keyof typedData : string,
16
+ > = TypedDataDefinition<typedData, primaryType, primaryTypes> & {
17
+ fields: Hex
18
+ extensions: readonly bigint[]
19
+ verifierDomain: RequiredBy<
20
+ TypedDataDomain,
21
+ 'chainId' | 'name' | 'verifyingContract' | 'version'
22
+ >
23
+ }
24
+
25
+ export type HashTypedDataReturnType = Hex
26
+
27
+ export type HashTypedDataErrorType = HashTypedDataErrorType_ | ErrorType
28
+
29
+ /**
30
+ * Generates a signable hash for Solady ERC-1271 typed data.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const hash = hashTypedData({
35
+ * domain: {
36
+ * name: 'Ether Mail',
37
+ * version: '1',
38
+ * chainId: 1,
39
+ * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
40
+ * },
41
+ * types: {
42
+ * Person: [
43
+ * { name: 'name', type: 'string' },
44
+ * { name: 'wallet', type: 'address' },
45
+ * ],
46
+ * Mail: [
47
+ * { name: 'from', type: 'Person' },
48
+ * { name: 'to', type: 'Person' },
49
+ * { name: 'contents', type: 'string' },
50
+ * ],
51
+ * },
52
+ * primaryType: 'Mail',
53
+ * message: {
54
+ * from: {
55
+ * name: 'Cow',
56
+ * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
57
+ * },
58
+ * to: {
59
+ * name: 'Bob',
60
+ * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
61
+ * },
62
+ * contents: 'Hello, Bob!',
63
+ * },
64
+ * verifierDomain: {
65
+ * name: 'Smart Account',
66
+ * version: '1',
67
+ * verifyingContract: '0x1234567890abcdef1234567890abcdef12345678',
68
+ * chainId: 1,
69
+ * },
70
+ * })
71
+ * ```
72
+ */
73
+ export function hashTypedData<
74
+ const typedData extends TypedData | Record<string, unknown>,
75
+ primaryType extends keyof typedData | 'EIP712Domain',
76
+ >(
77
+ parameters: HashTypedDataParameters<typedData, primaryType>,
78
+ ): HashTypedDataReturnType {
79
+ const {
80
+ domain,
81
+ extensions,
82
+ fields,
83
+ message,
84
+ primaryType,
85
+ types,
86
+ verifierDomain,
87
+ } = parameters
88
+
89
+ return hashTypedData_({
90
+ domain: domain as any,
91
+ types: {
92
+ ...types,
93
+ TypedDataSign: [
94
+ { name: 'contents', type: primaryType },
95
+ { name: 'fields', type: 'bytes1' },
96
+ { name: 'name', type: 'string' },
97
+ { name: 'version', type: 'string' },
98
+ { name: 'chainId', type: 'uint256' },
99
+ { name: 'verifyingContract', type: 'address' },
100
+ { name: 'salt', type: 'bytes32' },
101
+ { name: 'extensions', type: 'uint256[]' },
102
+ ],
103
+ },
104
+ primaryType: 'TypedDataSign',
105
+ message: {
106
+ contents: message as any,
107
+ fields,
108
+ extensions,
109
+ ...(verifierDomain as any),
110
+ },
111
+ })
112
+ }