viem 0.0.0-w-20230829165118 → 0.0.0-w-20230904201641

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/README.md +6 -0
  2. package/dist/cjs/accounts/index.js +19 -19
  3. package/dist/cjs/accounts/index.js.map +1 -1
  4. package/dist/cjs/actions/getContract.js.map +1 -1
  5. package/dist/cjs/actions/public/call.js +1 -1
  6. package/dist/cjs/actions/public/call.js.map +1 -1
  7. package/dist/cjs/actions/public/getLogs.js.map +1 -1
  8. package/dist/cjs/actions/public/multicall.js +54 -31
  9. package/dist/cjs/actions/public/multicall.js.map +1 -1
  10. package/dist/cjs/actions/public/watchContractEvent.js +3 -2
  11. package/dist/cjs/actions/public/watchContractEvent.js.map +1 -1
  12. package/dist/cjs/actions/public/watchEvent.js +2 -5
  13. package/dist/cjs/actions/public/watchEvent.js.map +1 -1
  14. package/dist/cjs/actions/wallet/deployContract.js +3 -6
  15. package/dist/cjs/actions/wallet/deployContract.js.map +1 -1
  16. package/dist/cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
  17. package/dist/cjs/actions/wallet/signTypedData.js +1 -13
  18. package/dist/cjs/actions/wallet/signTypedData.js.map +1 -1
  19. package/dist/cjs/chains/definitions/base.js +1 -3
  20. package/dist/cjs/chains/definitions/base.js.map +1 -1
  21. package/dist/cjs/chains/definitions/baseGoerli.js +1 -3
  22. package/dist/cjs/chains/definitions/baseGoerli.js.map +1 -1
  23. package/dist/cjs/chains/definitions/meter.js +22 -0
  24. package/dist/cjs/chains/definitions/meter.js.map +1 -0
  25. package/dist/cjs/chains/definitions/meterTestnet.js +25 -0
  26. package/dist/cjs/chains/definitions/meterTestnet.js.map +1 -0
  27. package/dist/cjs/chains/definitions/opBNB.js +28 -0
  28. package/dist/cjs/chains/definitions/opBNB.js.map +1 -0
  29. package/dist/cjs/chains/definitions/opBNBTestnet.js +29 -0
  30. package/dist/cjs/chains/definitions/opBNBTestnet.js.map +1 -0
  31. package/dist/cjs/chains/definitions/optimism.js +0 -2
  32. package/dist/cjs/chains/definitions/optimism.js.map +1 -1
  33. package/dist/cjs/chains/definitions/optimismGoerli.js +0 -2
  34. package/dist/cjs/chains/definitions/optimismGoerli.js.map +1 -1
  35. package/dist/cjs/chains/definitions/plinga.js +31 -0
  36. package/dist/cjs/chains/definitions/plinga.js.map +1 -0
  37. package/dist/cjs/chains/definitions/scrollSepolia.js +6 -0
  38. package/dist/cjs/chains/definitions/scrollSepolia.js.map +1 -1
  39. package/dist/cjs/chains/definitions/sepolia.js +5 -0
  40. package/dist/cjs/chains/definitions/sepolia.js.map +1 -1
  41. package/dist/cjs/chains/definitions/vechain.js +29 -0
  42. package/dist/cjs/chains/definitions/vechain.js.map +1 -0
  43. package/dist/cjs/chains/definitions/zora.js +0 -2
  44. package/dist/cjs/chains/definitions/zora.js.map +1 -1
  45. package/dist/cjs/chains/definitions/zoraTestnet.js +0 -2
  46. package/dist/cjs/chains/definitions/zoraTestnet.js.map +1 -1
  47. package/dist/cjs/chains/index.js +14 -2
  48. package/dist/cjs/chains/index.js.map +1 -1
  49. package/dist/cjs/clients/decorators/public.js.map +1 -1
  50. package/dist/cjs/errors/node.js +1 -1
  51. package/dist/cjs/errors/node.js.map +1 -1
  52. package/dist/cjs/errors/utils.js +1 -1
  53. package/dist/cjs/errors/utils.js.map +1 -1
  54. package/dist/cjs/{version.js → errors/version.js} +1 -1
  55. package/dist/cjs/errors/version.js.map +1 -0
  56. package/dist/cjs/index.js +2 -3
  57. package/dist/cjs/index.js.map +1 -1
  58. package/dist/cjs/utils/abi/decodeDeployData.js +2 -1
  59. package/dist/cjs/utils/abi/decodeDeployData.js.map +1 -1
  60. package/dist/cjs/utils/abi/decodeErrorResult.js +4 -3
  61. package/dist/cjs/utils/abi/decodeErrorResult.js.map +1 -1
  62. package/dist/cjs/utils/abi/decodeEventLog.js +4 -7
  63. package/dist/cjs/utils/abi/decodeEventLog.js.map +1 -1
  64. package/dist/cjs/utils/abi/decodeFunctionData.js +2 -1
  65. package/dist/cjs/utils/abi/decodeFunctionData.js.map +1 -1
  66. package/dist/cjs/utils/abi/decodeFunctionResult.js +5 -7
  67. package/dist/cjs/utils/abi/decodeFunctionResult.js.map +1 -1
  68. package/dist/cjs/utils/abi/encodeDeployData.js +2 -1
  69. package/dist/cjs/utils/abi/encodeDeployData.js.map +1 -1
  70. package/dist/cjs/utils/abi/encodeErrorResult.js +5 -7
  71. package/dist/cjs/utils/abi/encodeErrorResult.js.map +1 -1
  72. package/dist/cjs/utils/abi/encodeEventTopics.js +8 -13
  73. package/dist/cjs/utils/abi/encodeEventTopics.js.map +1 -1
  74. package/dist/cjs/utils/abi/encodeFunctionData.js +9 -10
  75. package/dist/cjs/utils/abi/encodeFunctionData.js.map +1 -1
  76. package/dist/cjs/utils/abi/encodeFunctionResult.js +7 -12
  77. package/dist/cjs/utils/abi/encodeFunctionResult.js.map +1 -1
  78. package/dist/cjs/utils/abi/getAbiItem.js +2 -1
  79. package/dist/cjs/utils/abi/getAbiItem.js.map +1 -1
  80. package/dist/cjs/utils/buildRequest.js +2 -0
  81. package/dist/cjs/utils/buildRequest.js.map +1 -1
  82. package/dist/cjs/utils/ccip.js.map +1 -1
  83. package/dist/cjs/utils/errors/getCallError.js +4 -3
  84. package/dist/cjs/utils/errors/getCallError.js.map +1 -1
  85. package/dist/cjs/utils/errors/getContractError.js +2 -1
  86. package/dist/cjs/utils/errors/getContractError.js.map +1 -1
  87. package/dist/cjs/utils/errors/getEstimateGasError.js +4 -3
  88. package/dist/cjs/utils/errors/getEstimateGasError.js.map +1 -1
  89. package/dist/cjs/utils/errors/getNodeError.js +16 -10
  90. package/dist/cjs/utils/errors/getNodeError.js.map +1 -1
  91. package/dist/cjs/utils/errors/getTransactionError.js +4 -3
  92. package/dist/cjs/utils/errors/getTransactionError.js.map +1 -1
  93. package/dist/cjs/utils/formatters/transaction.js +5 -5
  94. package/dist/cjs/utils/formatters/transaction.js.map +1 -1
  95. package/dist/cjs/utils/hash/getFunctionSelector.js.map +1 -1
  96. package/dist/cjs/utils/hash/hashFunction.js.map +1 -1
  97. package/dist/cjs/utils/rpc.js +10 -16
  98. package/dist/cjs/utils/rpc.js.map +1 -1
  99. package/dist/cjs/utils/signature/hashTypedData.js +3 -14
  100. package/dist/cjs/utils/signature/hashTypedData.js.map +1 -1
  101. package/dist/cjs/utils/signature/hexToSignature.js +1 -1
  102. package/dist/cjs/utils/signature/hexToSignature.js.map +1 -1
  103. package/dist/cjs/utils/typedData.js +27 -1
  104. package/dist/cjs/utils/typedData.js.map +1 -1
  105. package/dist/esm/accounts/index.js +9 -9
  106. package/dist/esm/accounts/index.js.map +1 -1
  107. package/dist/esm/actions/getContract.js.map +1 -1
  108. package/dist/esm/actions/public/call.js +1 -1
  109. package/dist/esm/actions/public/call.js.map +1 -1
  110. package/dist/esm/actions/public/getLogs.js.map +1 -1
  111. package/dist/esm/actions/public/multicall.js +66 -31
  112. package/dist/esm/actions/public/multicall.js.map +1 -1
  113. package/dist/esm/actions/public/watchContractEvent.js +3 -2
  114. package/dist/esm/actions/public/watchContractEvent.js.map +1 -1
  115. package/dist/esm/actions/public/watchEvent.js +2 -5
  116. package/dist/esm/actions/public/watchEvent.js.map +1 -1
  117. package/dist/esm/actions/wallet/deployContract.js +3 -6
  118. package/dist/esm/actions/wallet/deployContract.js.map +1 -1
  119. package/dist/esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
  120. package/dist/esm/actions/wallet/signTypedData.js +2 -14
  121. package/dist/esm/actions/wallet/signTypedData.js.map +1 -1
  122. package/dist/esm/chains/definitions/base.js +1 -3
  123. package/dist/esm/chains/definitions/base.js.map +1 -1
  124. package/dist/esm/chains/definitions/baseGoerli.js +1 -3
  125. package/dist/esm/chains/definitions/baseGoerli.js.map +1 -1
  126. package/dist/esm/chains/definitions/meter.js +19 -0
  127. package/dist/esm/chains/definitions/meter.js.map +1 -0
  128. package/dist/esm/chains/definitions/meterTestnet.js +22 -0
  129. package/dist/esm/chains/definitions/meterTestnet.js.map +1 -0
  130. package/dist/esm/chains/definitions/opBNB.js +25 -0
  131. package/dist/esm/chains/definitions/opBNB.js.map +1 -0
  132. package/dist/esm/chains/definitions/opBNBTestnet.js +26 -0
  133. package/dist/esm/chains/definitions/opBNBTestnet.js.map +1 -0
  134. package/dist/esm/chains/definitions/optimism.js +0 -2
  135. package/dist/esm/chains/definitions/optimism.js.map +1 -1
  136. package/dist/esm/chains/definitions/optimismGoerli.js +0 -2
  137. package/dist/esm/chains/definitions/optimismGoerli.js.map +1 -1
  138. package/dist/esm/chains/definitions/plinga.js +28 -0
  139. package/dist/esm/chains/definitions/plinga.js.map +1 -0
  140. package/dist/esm/chains/definitions/scrollSepolia.js +6 -0
  141. package/dist/esm/chains/definitions/scrollSepolia.js.map +1 -1
  142. package/dist/esm/chains/definitions/sepolia.js +5 -0
  143. package/dist/esm/chains/definitions/sepolia.js.map +1 -1
  144. package/dist/esm/chains/definitions/vechain.js +26 -0
  145. package/dist/esm/chains/definitions/vechain.js.map +1 -0
  146. package/dist/esm/chains/definitions/zora.js +0 -2
  147. package/dist/esm/chains/definitions/zora.js.map +1 -1
  148. package/dist/esm/chains/definitions/zoraTestnet.js +0 -2
  149. package/dist/esm/chains/definitions/zoraTestnet.js.map +1 -1
  150. package/dist/esm/chains/index.js +6 -0
  151. package/dist/esm/chains/index.js.map +1 -1
  152. package/dist/esm/clients/decorators/public.js.map +1 -1
  153. package/dist/esm/errors/node.js +1 -1
  154. package/dist/esm/errors/node.js.map +1 -1
  155. package/dist/esm/errors/utils.js +1 -1
  156. package/dist/esm/errors/utils.js.map +1 -1
  157. package/dist/esm/errors/version.js +2 -0
  158. package/dist/esm/errors/version.js.map +1 -0
  159. package/dist/esm/index.js +1 -2
  160. package/dist/esm/index.js.map +1 -1
  161. package/dist/esm/types/contract.js.map +1 -1
  162. package/dist/esm/utils/abi/decodeDeployData.js +2 -1
  163. package/dist/esm/utils/abi/decodeDeployData.js.map +1 -1
  164. package/dist/esm/utils/abi/decodeErrorResult.js +4 -3
  165. package/dist/esm/utils/abi/decodeErrorResult.js.map +1 -1
  166. package/dist/esm/utils/abi/decodeEventLog.js +4 -7
  167. package/dist/esm/utils/abi/decodeEventLog.js.map +1 -1
  168. package/dist/esm/utils/abi/decodeFunctionData.js +2 -1
  169. package/dist/esm/utils/abi/decodeFunctionData.js.map +1 -1
  170. package/dist/esm/utils/abi/decodeFunctionResult.js +5 -7
  171. package/dist/esm/utils/abi/decodeFunctionResult.js.map +1 -1
  172. package/dist/esm/utils/abi/encodeDeployData.js +2 -1
  173. package/dist/esm/utils/abi/encodeDeployData.js.map +1 -1
  174. package/dist/esm/utils/abi/encodeErrorResult.js +5 -7
  175. package/dist/esm/utils/abi/encodeErrorResult.js.map +1 -1
  176. package/dist/esm/utils/abi/encodeEventTopics.js +8 -13
  177. package/dist/esm/utils/abi/encodeEventTopics.js.map +1 -1
  178. package/dist/esm/utils/abi/encodeFunctionData.js +9 -10
  179. package/dist/esm/utils/abi/encodeFunctionData.js.map +1 -1
  180. package/dist/esm/utils/abi/encodeFunctionResult.js +7 -12
  181. package/dist/esm/utils/abi/encodeFunctionResult.js.map +1 -1
  182. package/dist/esm/utils/abi/getAbiItem.js +2 -1
  183. package/dist/esm/utils/abi/getAbiItem.js.map +1 -1
  184. package/dist/esm/utils/buildRequest.js +4 -0
  185. package/dist/esm/utils/buildRequest.js.map +1 -1
  186. package/dist/esm/utils/ccip.js.map +1 -1
  187. package/dist/esm/utils/errors/getCallError.js +5 -4
  188. package/dist/esm/utils/errors/getCallError.js.map +1 -1
  189. package/dist/esm/utils/errors/getContractError.js +2 -1
  190. package/dist/esm/utils/errors/getContractError.js.map +1 -1
  191. package/dist/esm/utils/errors/getEstimateGasError.js +5 -4
  192. package/dist/esm/utils/errors/getEstimateGasError.js.map +1 -1
  193. package/dist/esm/utils/errors/getNodeError.js +16 -10
  194. package/dist/esm/utils/errors/getNodeError.js.map +1 -1
  195. package/dist/esm/utils/errors/getTransactionError.js +5 -4
  196. package/dist/esm/utils/errors/getTransactionError.js.map +1 -1
  197. package/dist/esm/utils/formatters/transaction.js +5 -5
  198. package/dist/esm/utils/formatters/transaction.js.map +1 -1
  199. package/dist/esm/utils/hash/getFunctionSelector.js.map +1 -1
  200. package/dist/esm/utils/hash/hashFunction.js.map +1 -1
  201. package/dist/esm/utils/rpc.js +7 -16
  202. package/dist/esm/utils/rpc.js.map +1 -1
  203. package/dist/esm/utils/signature/hashTypedData.js +3 -15
  204. package/dist/esm/utils/signature/hashTypedData.js.map +1 -1
  205. package/dist/esm/utils/signature/hexToSignature.js +1 -1
  206. package/dist/esm/utils/signature/hexToSignature.js.map +1 -1
  207. package/dist/esm/utils/typedData.js +24 -0
  208. package/dist/esm/utils/typedData.js.map +1 -1
  209. package/dist/types/accounts/index.d.ts +9 -9
  210. package/dist/types/accounts/index.d.ts.map +1 -1
  211. package/dist/types/actions/getContract.d.ts +3 -3
  212. package/dist/types/actions/getContract.d.ts.map +1 -1
  213. package/dist/types/actions/public/getLogs.d.ts.map +1 -1
  214. package/dist/types/actions/public/multicall.d.ts.map +1 -1
  215. package/dist/types/actions/public/watchContractEvent.d.ts +29 -29
  216. package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
  217. package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
  218. package/dist/types/actions/wallet/deployContract.d.ts +10 -6
  219. package/dist/types/actions/wallet/deployContract.d.ts.map +1 -1
  220. package/dist/types/actions/wallet/prepareTransactionRequest.d.ts +1 -1
  221. package/dist/types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
  222. package/dist/types/actions/wallet/signTypedData.d.ts.map +1 -1
  223. package/dist/types/chains/definitions/base.d.ts +1 -1
  224. package/dist/types/chains/definitions/base.d.ts.map +1 -1
  225. package/dist/types/chains/definitions/baseGoerli.d.ts +1 -1
  226. package/dist/types/chains/definitions/baseGoerli.d.ts.map +1 -1
  227. package/dist/types/chains/definitions/meter.d.ts +28 -0
  228. package/dist/types/chains/definitions/meter.d.ts.map +1 -0
  229. package/dist/types/chains/definitions/meterTestnet.d.ts +28 -0
  230. package/dist/types/chains/definitions/meterTestnet.d.ts.map +1 -0
  231. package/dist/types/chains/definitions/opBNB.d.ts +34 -0
  232. package/dist/types/chains/definitions/opBNB.d.ts.map +1 -0
  233. package/dist/types/chains/definitions/opBNBTestnet.d.ts +35 -0
  234. package/dist/types/chains/definitions/opBNBTestnet.d.ts.map +1 -0
  235. package/dist/types/chains/definitions/optimism.d.ts.map +1 -1
  236. package/dist/types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  237. package/dist/types/chains/definitions/plinga.d.ts +34 -0
  238. package/dist/types/chains/definitions/plinga.d.ts.map +1 -0
  239. package/dist/types/chains/definitions/scrollSepolia.d.ts +6 -0
  240. package/dist/types/chains/definitions/scrollSepolia.d.ts.map +1 -1
  241. package/dist/types/chains/definitions/sepolia.d.ts +7 -0
  242. package/dist/types/chains/definitions/sepolia.d.ts.map +1 -1
  243. package/dist/types/chains/definitions/vechain.d.ts +32 -0
  244. package/dist/types/chains/definitions/vechain.d.ts.map +1 -0
  245. package/dist/types/chains/definitions/zora.d.ts.map +1 -1
  246. package/dist/types/chains/definitions/zoraTestnet.d.ts.map +1 -1
  247. package/dist/types/chains/index.d.ts +6 -0
  248. package/dist/types/chains/index.d.ts.map +1 -1
  249. package/dist/types/clients/decorators/public.d.ts +2 -2
  250. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  251. package/dist/types/clients/decorators/wallet.d.ts +1 -1
  252. package/dist/types/clients/decorators/wallet.d.ts.map +1 -1
  253. package/dist/types/errors/version.d.ts +2 -0
  254. package/dist/types/errors/version.d.ts.map +1 -0
  255. package/dist/types/index.d.ts +6 -7
  256. package/dist/types/index.d.ts.map +1 -1
  257. package/dist/types/types/chain.d.ts +24 -20
  258. package/dist/types/types/chain.d.ts.map +1 -1
  259. package/dist/types/types/contract.d.ts +48 -82
  260. package/dist/types/types/contract.d.ts.map +1 -1
  261. package/dist/types/types/multicall.d.ts +4 -4
  262. package/dist/types/types/multicall.d.ts.map +1 -1
  263. package/dist/types/utils/abi/decodeDeployData.d.ts +7 -6
  264. package/dist/types/utils/abi/decodeDeployData.d.ts.map +1 -1
  265. package/dist/types/utils/abi/decodeErrorResult.d.ts +16 -11
  266. package/dist/types/utils/abi/decodeErrorResult.d.ts.map +1 -1
  267. package/dist/types/utils/abi/decodeEventLog.d.ts +24 -17
  268. package/dist/types/utils/abi/decodeEventLog.d.ts.map +1 -1
  269. package/dist/types/utils/abi/decodeFunctionData.d.ts +14 -10
  270. package/dist/types/utils/abi/decodeFunctionData.d.ts.map +1 -1
  271. package/dist/types/utils/abi/decodeFunctionResult.d.ts +18 -11
  272. package/dist/types/utils/abi/decodeFunctionResult.d.ts.map +1 -1
  273. package/dist/types/utils/abi/encodeDeployData.d.ts +13 -5
  274. package/dist/types/utils/abi/encodeDeployData.d.ts.map +1 -1
  275. package/dist/types/utils/abi/encodeErrorResult.d.ts +16 -10
  276. package/dist/types/utils/abi/encodeErrorResult.d.ts.map +1 -1
  277. package/dist/types/utils/abi/encodeEventTopics.d.ts +14 -12
  278. package/dist/types/utils/abi/encodeEventTopics.d.ts.map +1 -1
  279. package/dist/types/utils/abi/encodeFunctionData.d.ts +19 -10
  280. package/dist/types/utils/abi/encodeFunctionData.d.ts.map +1 -1
  281. package/dist/types/utils/abi/encodeFunctionResult.d.ts +16 -12
  282. package/dist/types/utils/abi/encodeFunctionResult.d.ts.map +1 -1
  283. package/dist/types/utils/abi/getAbiItem.d.ts +11 -8
  284. package/dist/types/utils/abi/getAbiItem.d.ts.map +1 -1
  285. package/dist/types/utils/buildRequest.d.ts.map +1 -1
  286. package/dist/types/utils/ccip.d.ts.map +1 -1
  287. package/dist/types/utils/errors/getCallError.d.ts.map +1 -1
  288. package/dist/types/utils/errors/getContractError.d.ts.map +1 -1
  289. package/dist/types/utils/errors/getEstimateGasError.d.ts.map +1 -1
  290. package/dist/types/utils/errors/getNodeError.d.ts +1 -1
  291. package/dist/types/utils/errors/getNodeError.d.ts.map +1 -1
  292. package/dist/types/utils/errors/getTransactionError.d.ts.map +1 -1
  293. package/dist/types/utils/hash/getEventSelector.d.ts +1 -1
  294. package/dist/types/utils/hash/getEventSelector.d.ts.map +1 -1
  295. package/dist/types/utils/hash/getFunctionSelector.d.ts.map +1 -1
  296. package/dist/types/utils/hash/hashFunction.d.ts.map +1 -1
  297. package/dist/types/utils/rpc.d.ts +3 -1
  298. package/dist/types/utils/rpc.d.ts.map +1 -1
  299. package/dist/types/utils/signature/hashTypedData.d.ts +10 -1
  300. package/dist/types/utils/signature/hashTypedData.d.ts.map +1 -1
  301. package/dist/types/utils/signature/verifyMessage.d.ts +2 -2
  302. package/dist/types/utils/signature/verifyMessage.d.ts.map +1 -1
  303. package/dist/types/utils/typedData.d.ts +8 -1
  304. package/dist/types/utils/typedData.d.ts.map +1 -1
  305. package/package.json +8 -8
  306. package/src/accounts/index.ts +10 -9
  307. package/src/actions/getContract.ts +5 -2
  308. package/src/actions/public/call.ts +1 -1
  309. package/src/actions/public/getLogs.ts +3 -3
  310. package/src/actions/public/multicall.ts +72 -29
  311. package/src/actions/public/watchContractEvent.ts +58 -52
  312. package/src/actions/public/watchEvent.ts +4 -7
  313. package/src/actions/wallet/deployContract.ts +29 -34
  314. package/src/actions/wallet/prepareTransactionRequest.ts +3 -6
  315. package/src/actions/wallet/signTypedData.ts +5 -14
  316. package/src/chains/definitions/base.ts +1 -3
  317. package/src/chains/definitions/baseGoerli.ts +1 -3
  318. package/src/chains/definitions/meter.ts +19 -0
  319. package/src/chains/definitions/meterTestnet.ts +22 -0
  320. package/src/chains/definitions/opBNB.ts +26 -0
  321. package/src/chains/definitions/opBNBTestnet.ts +26 -0
  322. package/src/chains/definitions/optimism.ts +0 -2
  323. package/src/chains/definitions/optimismGoerli.ts +0 -2
  324. package/src/chains/definitions/plinga.ts +28 -0
  325. package/src/chains/definitions/scrollSepolia.ts +6 -0
  326. package/src/chains/definitions/sepolia.ts +5 -0
  327. package/src/chains/definitions/vechain.ts +26 -0
  328. package/src/chains/definitions/zora.ts +0 -2
  329. package/src/chains/definitions/zoraTestnet.ts +0 -2
  330. package/src/chains/index.ts +6 -0
  331. package/src/clients/decorators/public.ts +2 -1
  332. package/src/clients/decorators/wallet.ts +3 -3
  333. package/src/errors/node.ts +1 -1
  334. package/src/errors/utils.ts +1 -1
  335. package/src/errors/version.ts +1 -0
  336. package/src/index.ts +10 -11
  337. package/src/types/chain.ts +48 -34
  338. package/src/types/contract.ts +183 -216
  339. package/src/types/multicall.ts +19 -13
  340. package/src/utils/abi/decodeDeployData.ts +16 -15
  341. package/src/utils/abi/decodeErrorResult.ts +41 -25
  342. package/src/utils/abi/decodeEventLog.ts +65 -67
  343. package/src/utils/abi/decodeFunctionData.ts +30 -22
  344. package/src/utils/abi/decodeFunctionResult.ts +124 -46
  345. package/src/utils/abi/encodeDeployData.ts +27 -16
  346. package/src/utils/abi/encodeErrorResult.ts +47 -26
  347. package/src/utils/abi/encodeEventTopics.ts +49 -30
  348. package/src/utils/abi/encodeFunctionData.ts +58 -32
  349. package/src/utils/abi/encodeFunctionResult.ts +53 -36
  350. package/src/utils/abi/getAbiItem.ts +68 -32
  351. package/src/utils/buildRequest.ts +4 -0
  352. package/src/utils/ccip.ts +1 -5
  353. package/src/utils/errors/getCallError.ts +4 -8
  354. package/src/utils/errors/getContractError.ts +2 -1
  355. package/src/utils/errors/getEstimateGasError.ts +4 -8
  356. package/src/utils/errors/getNodeError.ts +18 -13
  357. package/src/utils/errors/getTransactionError.ts +4 -8
  358. package/src/utils/formatters/transaction.ts +5 -5
  359. package/src/utils/hash/getEventSelector.ts +1 -1
  360. package/src/utils/hash/getFunctionSelector.ts +1 -1
  361. package/src/utils/hash/hashFunction.ts +1 -1
  362. package/src/utils/rpc.ts +9 -20
  363. package/src/utils/signature/hashTypedData.ts +4 -16
  364. package/src/utils/signature/hexToSignature.ts +1 -1
  365. package/src/utils/signature/verifyMessage.ts +2 -2
  366. package/src/utils/typedData.ts +29 -1
  367. package/dist/cjs/accounts/wordlists/czech.js +0 -6
  368. package/dist/cjs/accounts/wordlists/czech.js.map +0 -1
  369. package/dist/cjs/accounts/wordlists/english.js +0 -6
  370. package/dist/cjs/accounts/wordlists/english.js.map +0 -1
  371. package/dist/cjs/accounts/wordlists/french.js +0 -6
  372. package/dist/cjs/accounts/wordlists/french.js.map +0 -1
  373. package/dist/cjs/accounts/wordlists/italian.js +0 -6
  374. package/dist/cjs/accounts/wordlists/italian.js.map +0 -1
  375. package/dist/cjs/accounts/wordlists/japanese.js +0 -6
  376. package/dist/cjs/accounts/wordlists/japanese.js.map +0 -1
  377. package/dist/cjs/accounts/wordlists/korean.js +0 -6
  378. package/dist/cjs/accounts/wordlists/korean.js.map +0 -1
  379. package/dist/cjs/accounts/wordlists/simplifiedChinese.js +0 -6
  380. package/dist/cjs/accounts/wordlists/simplifiedChinese.js.map +0 -1
  381. package/dist/cjs/accounts/wordlists/spanish.js +0 -6
  382. package/dist/cjs/accounts/wordlists/spanish.js.map +0 -1
  383. package/dist/cjs/accounts/wordlists/traditionalChinese.js +0 -6
  384. package/dist/cjs/accounts/wordlists/traditionalChinese.js.map +0 -1
  385. package/dist/cjs/chains/optimism/fees.js +0 -7
  386. package/dist/cjs/chains/optimism/fees.js.map +0 -1
  387. package/dist/cjs/version.js.map +0 -1
  388. package/dist/esm/accounts/wordlists/czech.js +0 -2
  389. package/dist/esm/accounts/wordlists/czech.js.map +0 -1
  390. package/dist/esm/accounts/wordlists/english.js +0 -2
  391. package/dist/esm/accounts/wordlists/english.js.map +0 -1
  392. package/dist/esm/accounts/wordlists/french.js +0 -2
  393. package/dist/esm/accounts/wordlists/french.js.map +0 -1
  394. package/dist/esm/accounts/wordlists/italian.js +0 -2
  395. package/dist/esm/accounts/wordlists/italian.js.map +0 -1
  396. package/dist/esm/accounts/wordlists/japanese.js +0 -2
  397. package/dist/esm/accounts/wordlists/japanese.js.map +0 -1
  398. package/dist/esm/accounts/wordlists/korean.js +0 -2
  399. package/dist/esm/accounts/wordlists/korean.js.map +0 -1
  400. package/dist/esm/accounts/wordlists/simplifiedChinese.js +0 -2
  401. package/dist/esm/accounts/wordlists/simplifiedChinese.js.map +0 -1
  402. package/dist/esm/accounts/wordlists/spanish.js +0 -2
  403. package/dist/esm/accounts/wordlists/spanish.js.map +0 -1
  404. package/dist/esm/accounts/wordlists/traditionalChinese.js +0 -2
  405. package/dist/esm/accounts/wordlists/traditionalChinese.js.map +0 -1
  406. package/dist/esm/chains/optimism/fees.js +0 -4
  407. package/dist/esm/chains/optimism/fees.js.map +0 -1
  408. package/dist/esm/version.js +0 -2
  409. package/dist/esm/version.js.map +0 -1
  410. package/dist/types/accounts/wordlists/czech.d.ts +0 -2
  411. package/dist/types/accounts/wordlists/czech.d.ts.map +0 -1
  412. package/dist/types/accounts/wordlists/english.d.ts +0 -2
  413. package/dist/types/accounts/wordlists/english.d.ts.map +0 -1
  414. package/dist/types/accounts/wordlists/french.d.ts +0 -2
  415. package/dist/types/accounts/wordlists/french.d.ts.map +0 -1
  416. package/dist/types/accounts/wordlists/italian.d.ts +0 -2
  417. package/dist/types/accounts/wordlists/italian.d.ts.map +0 -1
  418. package/dist/types/accounts/wordlists/japanese.d.ts +0 -2
  419. package/dist/types/accounts/wordlists/japanese.d.ts.map +0 -1
  420. package/dist/types/accounts/wordlists/korean.d.ts +0 -2
  421. package/dist/types/accounts/wordlists/korean.d.ts.map +0 -1
  422. package/dist/types/accounts/wordlists/simplifiedChinese.d.ts +0 -2
  423. package/dist/types/accounts/wordlists/simplifiedChinese.d.ts.map +0 -1
  424. package/dist/types/accounts/wordlists/spanish.d.ts +0 -2
  425. package/dist/types/accounts/wordlists/spanish.d.ts.map +0 -1
  426. package/dist/types/accounts/wordlists/traditionalChinese.d.ts +0 -2
  427. package/dist/types/accounts/wordlists/traditionalChinese.d.ts.map +0 -1
  428. package/dist/types/chains/optimism/fees.d.ts +0 -4
  429. package/dist/types/chains/optimism/fees.d.ts.map +0 -1
  430. package/dist/types/version.d.ts +0 -2
  431. package/dist/types/version.d.ts.map +0 -1
  432. package/src/accounts/wordlists/czech.ts +0 -1
  433. package/src/accounts/wordlists/english.ts +0 -1
  434. package/src/accounts/wordlists/french.ts +0 -1
  435. package/src/accounts/wordlists/italian.ts +0 -1
  436. package/src/accounts/wordlists/japanese.ts +0 -1
  437. package/src/accounts/wordlists/korean.ts +0 -1
  438. package/src/accounts/wordlists/simplifiedChinese.ts +0 -1
  439. package/src/accounts/wordlists/spanish.ts +0 -1
  440. package/src/accounts/wordlists/traditionalChinese.ts +0 -1
  441. package/src/chains/optimism/fees.ts +0 -5
  442. package/src/version.ts +0 -1
@@ -1,5 +1,4 @@
1
1
  import { defineChain } from '../../utils/chain.js'
2
- import { feesOptimism } from '../optimism/fees.js'
3
2
  import { formattersOptimism } from '../optimism/formatters.js'
4
3
 
5
4
  export const base = /*#__PURE__*/ defineChain(
@@ -7,7 +6,7 @@ export const base = /*#__PURE__*/ defineChain(
7
6
  id: 8453,
8
7
  network: 'base',
9
8
  name: 'Base',
10
- nativeCurrency: { name: 'Base', symbol: 'ETH', decimals: 18 },
9
+ nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
11
10
  rpcUrls: {
12
11
  default: {
13
12
  http: ['https://mainnet.base.org'],
@@ -38,7 +37,6 @@ export const base = /*#__PURE__*/ defineChain(
38
37
  },
39
38
  },
40
39
  {
41
- fees: feesOptimism,
42
40
  formatters: formattersOptimism,
43
41
  },
44
42
  )
@@ -1,5 +1,4 @@
1
1
  import { defineChain } from '../../utils/chain.js'
2
- import { feesOptimism } from '../optimism/fees.js'
3
2
  import { formattersOptimism } from '../optimism/formatters.js'
4
3
 
5
4
  export const baseGoerli = /*#__PURE__*/ defineChain(
@@ -7,7 +6,7 @@ export const baseGoerli = /*#__PURE__*/ defineChain(
7
6
  id: 84531,
8
7
  network: 'base-goerli',
9
8
  name: 'Base Goerli',
10
- nativeCurrency: { name: 'Base Goerli', symbol: 'ETH', decimals: 18 },
9
+ nativeCurrency: { name: 'Goerli Ether', symbol: 'ETH', decimals: 18 },
11
10
  rpcUrls: {
12
11
  default: {
13
12
  http: ['https://goerli.base.org'],
@@ -36,7 +35,6 @@ export const baseGoerli = /*#__PURE__*/ defineChain(
36
35
  sourceId: 5, // goerli
37
36
  },
38
37
  {
39
- fees: feesOptimism,
40
38
  formatters: formattersOptimism,
41
39
  },
42
40
  )
@@ -0,0 +1,19 @@
1
+ import { defineChain } from '../../utils/chain.js'
2
+
3
+ export const meter = /*#__PURE__*/ defineChain({
4
+ id: 82,
5
+ name: 'Meter',
6
+ network: 'meter',
7
+ nativeCurrency: {
8
+ decimals: 18,
9
+ name: 'MTR',
10
+ symbol: 'MTR',
11
+ },
12
+ rpcUrls: {
13
+ default: { http: ['https://rpc.meter.io'] },
14
+ public: { http: ['https://rpc.meter.io'] },
15
+ },
16
+ blockExplorers: {
17
+ default: { name: 'MeterScan', url: 'https://scan.meter.io' },
18
+ },
19
+ })
@@ -0,0 +1,22 @@
1
+ import { defineChain } from '../../utils/chain.js'
2
+
3
+ export const meterTestnet = /*#__PURE__*/ defineChain({
4
+ id: 83,
5
+ name: 'Meter Testnet',
6
+ network: 'meter-testnet',
7
+ nativeCurrency: {
8
+ decimals: 18,
9
+ name: 'MTR',
10
+ symbol: 'MTR',
11
+ },
12
+ rpcUrls: {
13
+ default: { http: ['https://rpctest.meter.io'] },
14
+ public: { http: ['https://rpctest.meter.io'] },
15
+ },
16
+ blockExplorers: {
17
+ default: {
18
+ name: 'MeterTestnetScan',
19
+ url: 'https://scan-warringstakes.meter.io',
20
+ },
21
+ },
22
+ })
@@ -0,0 +1,26 @@
1
+ import { defineChain } from '../../utils/chain.js'
2
+
3
+ export const opBNB = /*#__PURE__*/ defineChain({
4
+ id: 204,
5
+ name: 'opBNB',
6
+ network: 'opBNB Mainnet',
7
+ nativeCurrency: {
8
+ name: 'BNB',
9
+ symbol: 'BNB',
10
+ decimals: 18,
11
+ },
12
+ rpcUrls: {
13
+ public: { http: ['https://opbnb-mainnet-rpc.bnbchain.org'] },
14
+ default: { http: ['https://opbnb-mainnet-rpc.bnbchain.org'] },
15
+ },
16
+ blockExplorers: {
17
+ default: { name: 'opbnbscan', url: 'https://mainnet.opbnbscan.com' },
18
+ },
19
+
20
+ contracts: {
21
+ multicall3: {
22
+ address: '0xcA11bde05977b3631167028862bE2a173976CA11',
23
+ blockCreated: 512881,
24
+ },
25
+ },
26
+ })
@@ -0,0 +1,26 @@
1
+ import { defineChain } from '../../utils/chain.js'
2
+
3
+ export const opBNBTestnet = /*#__PURE__*/ defineChain({
4
+ id: 5611,
5
+ name: 'opBNB Testnet',
6
+ network: 'opBNB Testnet',
7
+ nativeCurrency: {
8
+ decimals: 18,
9
+ name: 'tBNB',
10
+ symbol: 'tBNB',
11
+ },
12
+ rpcUrls: {
13
+ public: { http: ['https://opbnb-testnet-rpc.bnbchain.org'] },
14
+ default: { http: ['https://opbnb-testnet-rpc.bnbchain.org'] },
15
+ },
16
+ blockExplorers: {
17
+ default: { name: 'opbnbscan', url: 'https://opbnbscan.com' },
18
+ },
19
+ contracts: {
20
+ multicall3: {
21
+ address: '0xcA11bde05977b3631167028862bE2a173976CA11',
22
+ blockCreated: 3705108,
23
+ },
24
+ },
25
+ testnet: true,
26
+ })
@@ -1,5 +1,4 @@
1
1
  import { defineChain } from '../../utils/chain.js'
2
- import { feesOptimism } from '../optimism/fees.js'
3
2
  import { formattersOptimism } from '../optimism/formatters.js'
4
3
 
5
4
  export const optimism = /*#__PURE__*/ defineChain(
@@ -42,7 +41,6 @@ export const optimism = /*#__PURE__*/ defineChain(
42
41
  },
43
42
  },
44
43
  {
45
- fees: feesOptimism,
46
44
  formatters: formattersOptimism,
47
45
  },
48
46
  )
@@ -1,5 +1,4 @@
1
1
  import { defineChain } from '../../utils/chain.js'
2
- import { feesOptimism } from '../optimism/fees.js'
3
2
  import { formattersOptimism } from '../optimism/formatters.js'
4
3
 
5
4
  export const optimismGoerli = /*#__PURE__*/ defineChain(
@@ -43,7 +42,6 @@ export const optimismGoerli = /*#__PURE__*/ defineChain(
43
42
  testnet: true,
44
43
  },
45
44
  {
46
- fees: feesOptimism,
47
45
  formatters: formattersOptimism,
48
46
  },
49
47
  )
@@ -0,0 +1,28 @@
1
+ import { defineChain } from '../../utils/chain.js'
2
+
3
+ export const plinga = /*#__PURE__*/ defineChain({
4
+ id: 242,
5
+ name: 'Plinga',
6
+ network: 'plinga',
7
+ nativeCurrency: { name: 'Plinga', symbol: 'PLINGA', decimals: 18 },
8
+ rpcUrls: {
9
+ default: {
10
+ http: ['https://rpcurl.mainnet.plgchain.com'],
11
+ },
12
+ public: {
13
+ http: ['https://rpcurl.mainnet.plgchain.com'],
14
+ },
15
+ },
16
+ blockExplorers: {
17
+ default: {
18
+ name: 'Plgscan',
19
+ url: 'https://www.plgscan.com',
20
+ },
21
+ },
22
+ contracts: {
23
+ multicall3: {
24
+ address: '0x0989576160f2e7092908BB9479631b901060b6e4',
25
+ blockCreated: 204489,
26
+ },
27
+ },
28
+ })
@@ -21,5 +21,11 @@ export const scrollSepolia = /*#__PURE__*/ defineChain({
21
21
  url: 'https://sepolia-blockscout.scroll.io',
22
22
  },
23
23
  },
24
+ contracts: {
25
+ multicall3: {
26
+ address: '0xca11bde05977b3631167028862be2a173976ca11',
27
+ blockCreated: 9473,
28
+ },
29
+ },
24
30
  testnet: true,
25
31
  })
@@ -36,6 +36,11 @@ export const sepolia = /*#__PURE__*/ defineChain({
36
36
  address: '0xca11bde05977b3631167028862be2a173976ca11',
37
37
  blockCreated: 6507670,
38
38
  },
39
+ ensRegistry: { address: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e' },
40
+ ensUniversalResolver: {
41
+ address: '0x21B000Fd62a880b2125A61e36a284BB757b76025',
42
+ blockCreated: 3914906,
43
+ },
39
44
  },
40
45
  testnet: true,
41
46
  })
@@ -0,0 +1,26 @@
1
+ import { defineChain } from '../../utils/chain.js'
2
+
3
+ export const vechain = /*#__PURE__*/ defineChain({
4
+ id: 100009,
5
+ name: 'Vechain',
6
+ network: 'vechain',
7
+ nativeCurrency: { name: 'VeChain', symbol: 'VET', decimals: 18 },
8
+ rpcUrls: {
9
+ default: {
10
+ http: ['https://mainnet.vechain.org'],
11
+ },
12
+ public: {
13
+ http: ['https://mainnet.vechain.org'],
14
+ },
15
+ },
16
+ blockExplorers: {
17
+ default: {
18
+ name: 'Vechain Explorer',
19
+ url: 'https://explore.vechain.org',
20
+ },
21
+ vechainStats: {
22
+ name: 'Vechain Stats',
23
+ url: 'https://vechainstats.com',
24
+ },
25
+ },
26
+ })
@@ -1,5 +1,4 @@
1
1
  import { defineChain } from '../../utils/chain.js'
2
- import { feesOptimism } from '../optimism/fees.js'
3
2
  import { formattersOptimism } from '../optimism/formatters.js'
4
3
 
5
4
  export const zora = /*#__PURE__*/ defineChain(
@@ -33,7 +32,6 @@ export const zora = /*#__PURE__*/ defineChain(
33
32
  },
34
33
  },
35
34
  {
36
- fees: feesOptimism,
37
35
  formatters: formattersOptimism,
38
36
  },
39
37
  )
@@ -1,5 +1,4 @@
1
1
  import { defineChain } from '../../utils/chain.js'
2
- import { feesOptimism } from '../optimism/fees.js'
3
2
  import { formattersOptimism } from '../optimism/formatters.js'
4
3
 
5
4
  export const zoraTestnet = /*#__PURE__*/ defineChain(
@@ -37,7 +36,6 @@ export const zoraTestnet = /*#__PURE__*/ defineChain(
37
36
  testnet: true,
38
37
  },
39
38
  {
40
- fees: feesOptimism,
41
39
  formatters: formattersOptimism,
42
40
  },
43
41
  )
@@ -68,6 +68,8 @@ export { localhost } from './definitions/localhost.js'
68
68
  export { mainnet } from './definitions/mainnet.js'
69
69
  export { mantle } from './definitions/mantle.js'
70
70
  export { mantleTestnet } from './definitions/mantleTestnet.js'
71
+ export { meter } from './definitions/meter.js'
72
+ export { meterTestnet } from './definitions/meterTestnet.js'
71
73
  export { metis } from './definitions/metis.js'
72
74
  export { metisGoerli } from './definitions/metisGoerli.js'
73
75
  export { mev } from './definitions/mev.js'
@@ -83,6 +85,9 @@ export { oasys } from './definitions/oasys.js'
83
85
  export { okc } from './definitions/okc.js'
84
86
  export { optimism } from './definitions/optimism.js'
85
87
  export { optimismGoerli } from './definitions/optimismGoerli.js'
88
+ export { opBNB } from './definitions/opBNB.js'
89
+ export { opBNBTestnet } from './definitions/opBNBTestnet.js'
90
+ export { plinga } from './definitions/plinga.js'
86
91
  export { polygon } from './definitions/polygon.js'
87
92
  export { polygonMumbai } from './definitions/polygonMumbai.js'
88
93
  export { polygonZkEvmTestnet } from './definitions/polygonZkEvmTestnet.js'
@@ -124,6 +129,7 @@ export { taraxaTestnet } from './definitions/taraxaTestnet.js'
124
129
  export { telos } from './definitions/telos.js'
125
130
  export { telosTestnet } from './definitions/telosTestnet.js'
126
131
  export { thunderTestnet } from './definitions/thunderTestnet.js'
132
+ export { vechain } from './definitions/vechain.js'
127
133
  export { wanchain } from './definitions/wanchain.js'
128
134
  export { wanchainTestnet } from './definitions/wanchainTestnet.js'
129
135
  export { xdc } from './definitions/xdc.js'
@@ -220,6 +220,7 @@ import type { Account } from '../../types/account.js'
220
220
  import type { BlockNumber, BlockTag } from '../../types/block.js'
221
221
  import type { Chain } from '../../types/chain.js'
222
222
  import type {
223
+ ContractEventName,
223
224
  ContractFunctionArgs,
224
225
  ContractFunctionName,
225
226
  MaybeAbiEventName,
@@ -1542,7 +1543,7 @@ export type PublicActions<
1542
1543
  */
1543
1544
  watchContractEvent: <
1544
1545
  const TAbi extends Abi | readonly unknown[],
1545
- TEventName extends string,
1546
+ TEventName extends ContractEventName<TAbi>,
1546
1547
  TStrict extends boolean | undefined = undefined,
1547
1548
  >(
1548
1549
  args: WatchContractEventParameters<TAbi, TEventName, TStrict>,
@@ -131,10 +131,10 @@ export type WalletActions<
131
131
  * })
132
132
  */
133
133
  deployContract: <
134
- const TAbi extends Abi | readonly unknown[],
135
- TChainOverride extends Chain | undefined,
134
+ const abi extends Abi | readonly unknown[],
135
+ chainOverride extends Chain | undefined,
136
136
  >(
137
- args: DeployContractParameters<TAbi, TChain, TAccount, TChainOverride>,
137
+ args: DeployContractParameters<abi, TChain, TAccount, chainOverride>,
138
138
  ) => Promise<DeployContractReturnType>
139
139
  /**
140
140
  * Returns a list of account addresses owned by the wallet or client.
@@ -216,7 +216,7 @@ export class UnknownNodeError extends BaseError {
216
216
  override name = 'UnknownNodeError'
217
217
 
218
218
  constructor({ cause }: { cause?: BaseError }) {
219
- super(`An error occurred while executing: ${cause?.message}`, {
219
+ super(`An error occurred while executing: ${cause?.shortMessage}`, {
220
220
  cause,
221
221
  })
222
222
  }
@@ -1,6 +1,6 @@
1
1
  import type { Address } from 'abitype'
2
2
 
3
- import { version } from '../version.js'
3
+ import { version } from './version.js'
4
4
 
5
5
  export const getContractAddress = (address: Address) => address
6
6
  export const getUrl = (url: string) => url
@@ -0,0 +1 @@
1
+ export const version = '1.10.1'
package/src/index.ts CHANGED
@@ -557,21 +557,17 @@ export { SizeExceedsPaddingSizeError } from './errors/data.js'
557
557
  export { UrlRequiredError } from './errors/transport.js'
558
558
  export type {
559
559
  AbiItem,
560
+ ContractErrorArgs,
561
+ ContractErrorName,
562
+ ContractEventArgs,
563
+ ContractEventName,
560
564
  ContractFunctionParameters,
561
565
  ContractFunctionReturnType,
562
- ContractFunctionName,
563
566
  ContractFunctionArgs,
564
- ContractFunctionResult,
565
- GetConstructorArgs,
566
- GetErrorArgs,
567
+ ContractFunctionName,
567
568
  GetEventArgs,
568
- GetEventArgsFromTopics,
569
- GetFunctionArgs,
570
569
  GetValue,
571
- InferErrorName,
572
570
  InferEventName,
573
- InferFunctionName,
574
- InferItemName,
575
571
  } from './types/contract.js'
576
572
  export type {
577
573
  AccessList,
@@ -717,10 +713,12 @@ export {
717
713
  } from './utils/abi/encodeAbiParameters.js'
718
714
  export {
719
715
  type EncodeDeployDataParameters,
716
+ type EncodeDeployDataReturnType,
720
717
  encodeDeployData,
721
718
  } from './utils/abi/encodeDeployData.js'
722
719
  export {
723
720
  type EncodeErrorResultParameters,
721
+ type EncodeErrorResultReturnType,
724
722
  encodeErrorResult,
725
723
  } from './utils/abi/encodeErrorResult.js'
726
724
  export {
@@ -729,10 +727,12 @@ export {
729
727
  } from './utils/abi/encodeEventTopics.js'
730
728
  export {
731
729
  type EncodeFunctionDataParameters,
730
+ type EncodeFunctionDataReturnType,
732
731
  encodeFunctionData,
733
732
  } from './utils/abi/encodeFunctionData.js'
734
733
  export {
735
734
  type EncodeFunctionResultParameters,
735
+ type EncodeFunctionResultReturnType,
736
736
  encodeFunctionResult,
737
737
  } from './utils/abi/encodeFunctionResult.js'
738
738
  export {
@@ -881,5 +881,4 @@ export { size } from './utils/data/size.js'
881
881
  export { slice, sliceBytes, sliceHex } from './utils/data/slice.js'
882
882
  export { stringify } from './utils/stringify.js'
883
883
  export { trim } from './utils/data/trim.js'
884
- export { validateTypedData } from './utils/typedData.js'
885
- export { version } from './version.js'
884
+ export { validateTypedData, domainSeparator } from './utils/typedData.js'
@@ -16,7 +16,7 @@ import type { SerializeTransactionFn } from '../utils/transaction/serializeTrans
16
16
 
17
17
  export type Chain<
18
18
  formatters extends ChainFormatters | undefined = ChainFormatters | undefined,
19
- > = ChainConstants & ChainConfig<formatters>
19
+ > = Prettify<ChainConstants & ChainConfig<formatters>>
20
20
 
21
21
  /////////////////////////////////////////////////////////////////////
22
22
  // Constants
@@ -28,16 +28,22 @@ export type ChainBlockExplorer = {
28
28
 
29
29
  export type ChainConstants = {
30
30
  /** Collection of block explorers */
31
- blockExplorers?: {
32
- default: ChainBlockExplorer
33
- etherscan?: ChainBlockExplorer
34
- }
31
+ blockExplorers?:
32
+ | {
33
+ default: ChainBlockExplorer
34
+ etherscan?: ChainBlockExplorer | undefined
35
+ }
36
+ | undefined
35
37
  /** Collection of contracts */
36
- contracts?: {
37
- ensRegistry?: ChainContract
38
- ensUniversalResolver?: ChainContract
39
- multicall3?: ChainContract
40
- }
38
+ contracts?: Prettify<
39
+ {
40
+ [key: string]: ChainContract | { [chainId: number]: ChainContract }
41
+ } & {
42
+ ensRegistry?: ChainContract | undefined
43
+ ensUniversalResolver?: ChainContract | undefined
44
+ multicall3?: ChainContract | undefined
45
+ }
46
+ >
41
47
  /** ID in number form */
42
48
  id: number
43
49
  /** Human-readable name */
@@ -56,9 +62,9 @@ export type ChainConstants = {
56
62
  public: ChainRpcUrls
57
63
  }
58
64
  /** Source Chain ID (ie. the L1 chain) */
59
- sourceId?: number
65
+ sourceId?: number | undefined
60
66
  /** Flag for test networks */
61
- testnet?: boolean
67
+ testnet?: boolean | undefined
62
68
 
63
69
  // TODO(v2): remove `rpcUrls` in favor of `publicRpcUrls`.
64
70
  // publicRpcUrls: ChainRpcUrls,
@@ -66,7 +72,7 @@ export type ChainConstants = {
66
72
 
67
73
  export type ChainContract = {
68
74
  address: Address
69
- blockCreated?: number
75
+ blockCreated?: number | undefined
70
76
  }
71
77
 
72
78
  export type ChainNativeCurrency = {
@@ -78,7 +84,7 @@ export type ChainNativeCurrency = {
78
84
 
79
85
  export type ChainRpcUrls = {
80
86
  http: readonly string[]
81
- webSocket?: readonly string[]
87
+ webSocket?: readonly string[] | undefined
82
88
  }
83
89
 
84
90
  /////////////////////////////////////////////////////////////////////
@@ -119,25 +125,29 @@ export type ChainFees<
119
125
  defaultPriorityFee?:
120
126
  | bigint
121
127
  | ((args: ChainFeesFnParameters<formatters>) => Promise<bigint> | bigint)
128
+ | undefined
122
129
  /**
123
130
  * Allows customization of fee per gas values (e.g. `maxFeePerGas`/`maxPriorityFeePerGas`).
124
131
  *
125
132
  * Overrides the return value in the [`estimateFeesPerGas` Action](/docs/actions/public/estimateFeesPerGas).
126
133
  */
127
- estimateFeesPerGas?: (
128
- args: ChainEstimateFeesPerGasFnParameters<formatters>,
129
- ) => Promise<EstimateFeesPerGasReturnType> | bigint
134
+ estimateFeesPerGas?:
135
+ | ((
136
+ args: ChainEstimateFeesPerGasFnParameters<formatters>,
137
+ ) => Promise<EstimateFeesPerGasReturnType>)
138
+ | bigint
139
+ | undefined
130
140
  }
131
141
 
132
142
  export type ChainFormatters = {
133
143
  /** Modifies how the Block structure is formatted & typed. */
134
- block?: ChainFormatter<'block'>
144
+ block?: ChainFormatter<'block'> | undefined
135
145
  /** Modifies how the Transaction structure is formatted & typed. */
136
- transaction?: ChainFormatter<'transaction'>
146
+ transaction?: ChainFormatter<'transaction'> | undefined
137
147
  /** Modifies how the TransactionReceipt structure is formatted & typed. */
138
- transactionReceipt?: ChainFormatter<'transactionReceipt'>
148
+ transactionReceipt?: ChainFormatter<'transactionReceipt'> | undefined
139
149
  /** Modifies how the TransactionRequest structure is formatted & typed. */
140
- transactionRequest?: ChainFormatter<'transactionRequest'>
150
+ transactionRequest?: ChainFormatter<'transactionRequest'> | undefined
141
151
  }
142
152
 
143
153
  export type ChainFormatter<type extends string = string> = {
@@ -149,14 +159,16 @@ export type ChainSerializers<
149
159
  formatters extends ChainFormatters | undefined = undefined,
150
160
  > = {
151
161
  /** Modifies how Transactions are serialized. */
152
- transaction?: SerializeTransactionFn<
153
- formatters extends ChainFormatters
154
- ? formatters['transactionRequest'] extends ChainFormatter
155
- ? TransactionSerializableGeneric &
156
- Parameters<formatters['transactionRequest']['format']>[0]
157
- : TransactionSerializable
158
- : TransactionSerializable
159
- >
162
+ transaction?:
163
+ | SerializeTransactionFn<
164
+ formatters extends ChainFormatters
165
+ ? formatters['transactionRequest'] extends ChainFormatter
166
+ ? TransactionSerializableGeneric &
167
+ Parameters<formatters['transactionRequest']['format']>[0]
168
+ : TransactionSerializable
169
+ : TransactionSerializable
170
+ >
171
+ | undefined
160
172
  }
161
173
 
162
174
  /////////////////////////////////////////////////////////////////////
@@ -173,11 +185,13 @@ export type ChainFeesFnParameters<
173
185
  * is outside of a transaction request context (e.g. a direct call to
174
186
  * the `estimateFeesPerGas` Action).
175
187
  */
176
- request?: PrepareTransactionRequestParameters<
177
- Omit<Chain, 'formatters'> & { formatters: formatters },
178
- Account | undefined,
179
- undefined
180
- >
188
+ request?:
189
+ | PrepareTransactionRequestParameters<
190
+ Omit<Chain, 'formatters'> & { formatters: formatters },
191
+ Account | undefined,
192
+ undefined
193
+ >
194
+ | undefined
181
195
  }
182
196
 
183
197
  export type ChainEstimateFeesPerGasFnParameters<