viem 0.0.1-alpha.24 → 0.0.1-alpha.26

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 (510) hide show
  1. package/contract/package.json +4 -0
  2. package/dist/call-3476b8ee.d.ts +22 -0
  3. package/dist/{chain-afa13f5a.d.ts → chain-42de87e5.d.ts} +20 -14
  4. package/dist/{chain-e33d019b.d.ts → chain-b0cfb141.d.ts} +1 -1
  5. package/dist/chains.d.ts +20 -8
  6. package/dist/chains.js +46 -46
  7. package/dist/chains.mjs +1 -1
  8. package/dist/{chunk-3ARWEJ3G.mjs → chunk-BSAB6UH4.mjs} +18 -2
  9. package/dist/chunk-BSAB6UH4.mjs.map +1 -0
  10. package/dist/{chunk-4D5XG6XB.js → chunk-DSQO3E4F.js} +367 -429
  11. package/dist/chunk-DSQO3E4F.js.map +1 -0
  12. package/dist/{chunk-A2HXAZXC.js → chunk-LINNE4N4.js} +199 -161
  13. package/dist/chunk-LINNE4N4.js.map +1 -0
  14. package/dist/{chunk-LQVMDX5I.mjs → chunk-PRG3BBPZ.mjs} +397 -459
  15. package/dist/chunk-PRG3BBPZ.mjs.map +1 -0
  16. package/dist/{chunk-YQUC52RL.mjs → chunk-QSIX64VZ.mjs} +136 -98
  17. package/dist/chunk-QSIX64VZ.mjs.map +1 -0
  18. package/dist/{chunk-ZYSXBTBB.js → chunk-YTG4YXMB.js} +30 -14
  19. package/dist/chunk-YTG4YXMB.js.map +1 -0
  20. package/dist/{contract-70f4ddbe.d.ts → contract-9dd2f98b.d.ts} +44 -31
  21. package/dist/contract.d.ts +129 -0
  22. package/dist/contract.js +55 -0
  23. package/dist/{clients/index.js.map → contract.js.map} +0 -0
  24. package/dist/contract.mjs +55 -0
  25. package/dist/{clients/index.mjs.map → contract.mjs.map} +0 -0
  26. package/dist/{createClient-60e3ab98.d.ts → createClient-6689596e.d.ts} +11 -5
  27. package/dist/{createPublicClient-d3d12dc3.d.ts → createPublicClient-fd558574.d.ts} +3 -3
  28. package/dist/{createTestClient-5f4532c4.d.ts → createTestClient-bc1d9028.d.ts} +3 -3
  29. package/dist/{createWalletClient-9ec3df4f.d.ts → createWalletClient-4df88244.d.ts} +3 -3
  30. package/dist/decodeErrorResult-ac835649.d.ts +16 -0
  31. package/dist/{eip1193-9317a312.d.ts → eip1193-617a05ae.d.ts} +2 -2
  32. package/dist/ens.d.ts +82 -1
  33. package/dist/ens.js +208 -3
  34. package/dist/ens.js.map +1 -1
  35. package/dist/ens.mjs +209 -4
  36. package/dist/ens.mjs.map +1 -1
  37. package/dist/getAbiItem-d2e8bd76.d.ts +97 -0
  38. package/dist/index.d.ts +113 -180
  39. package/dist/index.js +259 -279
  40. package/dist/index.js.map +1 -1
  41. package/dist/index.mjs +267 -287
  42. package/dist/index.mjs.map +1 -1
  43. package/dist/public.d.ts +353 -10
  44. package/dist/public.js +3 -4
  45. package/dist/public.mjs +6 -7
  46. package/dist/readContract-c460f23a.d.ts +10 -0
  47. package/dist/rpc-8c10fc98.d.ts +119 -0
  48. package/dist/{sendTransaction-54a0d509.d.ts → sendTransaction-7ce442c0.d.ts} +3 -3
  49. package/dist/test.d.ts +160 -5
  50. package/dist/test.js +222 -18
  51. package/dist/test.js.map +1 -1
  52. package/dist/test.mjs +233 -29
  53. package/dist/test.mjs.map +1 -1
  54. package/dist/transactionReceipt-44dbf122.d.ts +26 -0
  55. package/dist/{transactionRequest-bdf57f7d.d.ts → transactionRequest-f437b4ba.d.ts} +1 -1
  56. package/dist/utils/index.d.ts +228 -21
  57. package/dist/utils/index.js +2 -6
  58. package/dist/utils/index.mjs +3 -7
  59. package/dist/wallet.d.ts +41 -7
  60. package/dist/wallet.js +3 -3
  61. package/dist/wallet.mjs +2 -2
  62. package/dist/watchEvent-569c9976.d.ts +41 -0
  63. package/dist/window.d.ts +2 -2
  64. package/ens/package.json +4 -0
  65. package/package.json +16 -12
  66. package/public/package.json +4 -0
  67. package/test/package.json +4 -0
  68. package/wallet/package.json +4 -0
  69. package/clients/package.json +0 -4
  70. package/dist/chunk-3ARWEJ3G.mjs.map +0 -1
  71. package/dist/chunk-4D5XG6XB.js.map +0 -1
  72. package/dist/chunk-6QTEW2BE.mjs +0 -260
  73. package/dist/chunk-6QTEW2BE.mjs.map +0 -1
  74. package/dist/chunk-A2HXAZXC.js.map +0 -1
  75. package/dist/chunk-KRPS5CIB.mjs +0 -256
  76. package/dist/chunk-KRPS5CIB.mjs.map +0 -1
  77. package/dist/chunk-LQVMDX5I.mjs.map +0 -1
  78. package/dist/chunk-N3IOPT3R.js +0 -256
  79. package/dist/chunk-N3IOPT3R.js.map +0 -1
  80. package/dist/chunk-YQUC52RL.mjs.map +0 -1
  81. package/dist/chunk-ZSTVHQ6J.js +0 -260
  82. package/dist/chunk-ZSTVHQ6J.js.map +0 -1
  83. package/dist/chunk-ZYSXBTBB.js.map +0 -1
  84. package/dist/clients/index.d.ts +0 -9
  85. package/dist/clients/index.js +0 -24
  86. package/dist/clients/index.mjs +0 -24
  87. package/dist/normalize-ef9240c0.d.ts +0 -33
  88. package/dist/parseGwei-492ab7dd.d.ts +0 -355
  89. package/dist/rpc-26932bae.d.ts +0 -61
  90. package/dist/stopImpersonatingAccount-c1a4b7e5.d.ts +0 -156
  91. package/dist/watchAsset-d59d6e35.d.ts +0 -38
  92. package/dist/watchPendingTransactions-ea21b31d.d.ts +0 -373
  93. package/dist/webSocket-775b4037.d.ts +0 -83
  94. package/src/_test/abis.ts +0 -1420
  95. package/src/_test/bench.ts +0 -15
  96. package/src/_test/constants.ts +0 -61
  97. package/src/_test/globalSetup.ts +0 -11
  98. package/src/_test/index.ts +0 -25
  99. package/src/_test/setup.ts +0 -8
  100. package/src/_test/utils.ts +0 -150
  101. package/src/actions/index.test.ts +0 -81
  102. package/src/actions/index.ts +0 -182
  103. package/src/actions/public/call.bench.ts +0 -48
  104. package/src/actions/public/call.test.ts +0 -99
  105. package/src/actions/public/call.ts +0 -97
  106. package/src/actions/public/createBlockFilter.bench.ts +0 -11
  107. package/src/actions/public/createBlockFilter.test.ts +0 -9
  108. package/src/actions/public/createBlockFilter.ts +0 -14
  109. package/src/actions/public/createContractEventFilter.test.ts +0 -119
  110. package/src/actions/public/createContractEventFilter.ts +0 -69
  111. package/src/actions/public/createEventFilter.test.ts +0 -245
  112. package/src/actions/public/createEventFilter.ts +0 -76
  113. package/src/actions/public/createPendingTransactionFilter.bench.ts +0 -11
  114. package/src/actions/public/createPendingTransactionFilter.test.ts +0 -9
  115. package/src/actions/public/createPendingTransactionFilter.ts +0 -14
  116. package/src/actions/public/deployContract.test.ts +0 -56
  117. package/src/actions/public/deployContract.ts +0 -38
  118. package/src/actions/public/estimateGas.bench.ts +0 -46
  119. package/src/actions/public/estimateGas.test.ts +0 -92
  120. package/src/actions/public/estimateGas.ts +0 -61
  121. package/src/actions/public/getBalance.test.ts +0 -83
  122. package/src/actions/public/getBalance.ts +0 -37
  123. package/src/actions/public/getBlock.bench.ts +0 -28
  124. package/src/actions/public/getBlock.test.ts +0 -575
  125. package/src/actions/public/getBlock.ts +0 -65
  126. package/src/actions/public/getBlockNumber.bench.ts +0 -28
  127. package/src/actions/public/getBlockNumber.test.ts +0 -27
  128. package/src/actions/public/getBlockNumber.ts +0 -32
  129. package/src/actions/public/getBlockTransactionCount.bench.ts +0 -15
  130. package/src/actions/public/getBlockTransactionCount.test.ts +0 -57
  131. package/src/actions/public/getBlockTransactionCount.ts +0 -52
  132. package/src/actions/public/getBytecode.test.ts +0 -27
  133. package/src/actions/public/getBytecode.ts +0 -32
  134. package/src/actions/public/getChainId.bench.ts +0 -15
  135. package/src/actions/public/getChainId.test.ts +0 -8
  136. package/src/actions/public/getChainId.ts +0 -7
  137. package/src/actions/public/getFeeHistory.bench.ts +0 -18
  138. package/src/actions/public/getFeeHistory.test.ts +0 -137
  139. package/src/actions/public/getFeeHistory.ts +0 -44
  140. package/src/actions/public/getFilterChanges.bench.ts +0 -13
  141. package/src/actions/public/getFilterChanges.test.ts +0 -189
  142. package/src/actions/public/getFilterChanges.ts +0 -23
  143. package/src/actions/public/getFilterLogs.test.ts +0 -104
  144. package/src/actions/public/getFilterLogs.ts +0 -20
  145. package/src/actions/public/getGasPrice.bench.ts +0 -19
  146. package/src/actions/public/getGasPrice.test.ts +0 -8
  147. package/src/actions/public/getGasPrice.ts +0 -15
  148. package/src/actions/public/getLogs.test.ts +0 -107
  149. package/src/actions/public/getLogs.ts +0 -84
  150. package/src/actions/public/getStorageAt.test.ts +0 -34
  151. package/src/actions/public/getStorageAt.ts +0 -32
  152. package/src/actions/public/getTransaction.bench.ts +0 -33
  153. package/src/actions/public/getTransaction.test.ts +0 -311
  154. package/src/actions/public/getTransaction.ts +0 -95
  155. package/src/actions/public/getTransactionConfirmations.test.ts +0 -69
  156. package/src/actions/public/getTransactionConfirmations.ts +0 -38
  157. package/src/actions/public/getTransactionCount.test.ts +0 -56
  158. package/src/actions/public/getTransactionCount.ts +0 -34
  159. package/src/actions/public/getTransactionReceipt.bench.ts +0 -33
  160. package/src/actions/public/getTransactionReceipt.test.ts +0 -179
  161. package/src/actions/public/getTransactionReceipt.ts +0 -34
  162. package/src/actions/public/index.test.ts +0 -44
  163. package/src/actions/public/index.ts +0 -152
  164. package/src/actions/public/multicall.test.ts +0 -452
  165. package/src/actions/public/multicall.ts +0 -103
  166. package/src/actions/public/readContract.test.ts +0 -328
  167. package/src/actions/public/readContract.ts +0 -73
  168. package/src/actions/public/simulateContract.bench.ts +0 -41
  169. package/src/actions/public/simulateContract.test.ts +0 -410
  170. package/src/actions/public/simulateContract.ts +0 -94
  171. package/src/actions/public/uninstallFilter.bench.ts +0 -13
  172. package/src/actions/public/uninstallFilter.test.ts +0 -65
  173. package/src/actions/public/uninstallFilter.ts +0 -17
  174. package/src/actions/public/waitForTransactionReceipt.test.ts +0 -322
  175. package/src/actions/public/waitForTransactionReceipt.ts +0 -170
  176. package/src/actions/public/watchBlockNumber.test.ts +0 -166
  177. package/src/actions/public/watchBlockNumber.ts +0 -79
  178. package/src/actions/public/watchBlocks.test.ts +0 -210
  179. package/src/actions/public/watchBlocks.ts +0 -114
  180. package/src/actions/public/watchContractEvent.test.ts +0 -305
  181. package/src/actions/public/watchContractEvent.ts +0 -108
  182. package/src/actions/public/watchEvent.test.ts +0 -195
  183. package/src/actions/public/watchEvent.ts +0 -95
  184. package/src/actions/public/watchPendingTransactions.test.ts +0 -116
  185. package/src/actions/public/watchPendingTransactions.ts +0 -74
  186. package/src/actions/test/dropTransaction.test.ts +0 -34
  187. package/src/actions/test/dropTransaction.ts +0 -17
  188. package/src/actions/test/getAutomine.test.ts +0 -14
  189. package/src/actions/test/getAutomine.ts +0 -11
  190. package/src/actions/test/getTxpoolContent.test.ts +0 -45
  191. package/src/actions/test/getTxpoolContent.ts +0 -7
  192. package/src/actions/test/getTxpoolStatus.test.ts +0 -41
  193. package/src/actions/test/getTxpoolStatus.ts +0 -12
  194. package/src/actions/test/impersonateAccount.test.ts +0 -26
  195. package/src/actions/test/impersonateAccount.ts +0 -17
  196. package/src/actions/test/increaseTime.test.ts +0 -18
  197. package/src/actions/test/increaseTime.ts +0 -17
  198. package/src/actions/test/index.test.ts +0 -38
  199. package/src/actions/test/index.ts +0 -77
  200. package/src/actions/test/inspectTxpool.test.ts +0 -50
  201. package/src/actions/test/inspectTxpool.ts +0 -7
  202. package/src/actions/test/mine.test.ts +0 -20
  203. package/src/actions/test/mine.ts +0 -16
  204. package/src/actions/test/removeBlockTimestampInterval.test.ts +0 -23
  205. package/src/actions/test/removeBlockTimestampInterval.ts +0 -7
  206. package/src/actions/test/reset.test.ts +0 -19
  207. package/src/actions/test/reset.ts +0 -18
  208. package/src/actions/test/revert.test.ts +0 -39
  209. package/src/actions/test/revert.ts +0 -14
  210. package/src/actions/test/sendUnsignedTransaction.test.ts +0 -52
  211. package/src/actions/test/sendUnsignedTransaction.ts +0 -19
  212. package/src/actions/test/setAutomine.test.ts +0 -14
  213. package/src/actions/test/setAutomine.ts +0 -8
  214. package/src/actions/test/setBalance.test.ts +0 -29
  215. package/src/actions/test/setBalance.ts +0 -20
  216. package/src/actions/test/setBlockGasLimit.test.ts +0 -21
  217. package/src/actions/test/setBlockGasLimit.ts +0 -17
  218. package/src/actions/test/setBlockTimestampInterval.test.ts +0 -23
  219. package/src/actions/test/setBlockTimestampInterval.ts +0 -16
  220. package/src/actions/test/setCode.test.ts +0 -26
  221. package/src/actions/test/setCode.ts +0 -19
  222. package/src/actions/test/setCoinbase.test.ts +0 -11
  223. package/src/actions/test/setCoinbase.ts +0 -17
  224. package/src/actions/test/setIntervalMining.test.ts +0 -30
  225. package/src/actions/test/setIntervalMining.ts +0 -16
  226. package/src/actions/test/setLoggingEnabled.test.ts +0 -10
  227. package/src/actions/test/setLoggingEnabled.ts +0 -8
  228. package/src/actions/test/setMinGasPrice.test.ts +0 -22
  229. package/src/actions/test/setMinGasPrice.ts +0 -17
  230. package/src/actions/test/setNextBlockBaseFeePerGas.test.ts +0 -23
  231. package/src/actions/test/setNextBlockBaseFeePerGas.ts +0 -17
  232. package/src/actions/test/setNextBlockTimestamp.test.ts +0 -19
  233. package/src/actions/test/setNextBlockTimestamp.ts +0 -17
  234. package/src/actions/test/setNonce.test.ts +0 -28
  235. package/src/actions/test/setNonce.ts +0 -20
  236. package/src/actions/test/setRpcUrl.test.ts +0 -9
  237. package/src/actions/test/setRpcUrl.ts +0 -8
  238. package/src/actions/test/setStorageAt.test.ts +0 -36
  239. package/src/actions/test/setStorageAt.ts +0 -26
  240. package/src/actions/test/snapshot.test.ts +0 -18
  241. package/src/actions/test/snapshot.ts +0 -7
  242. package/src/actions/test/stopImpersonatingAccount.test.ts +0 -29
  243. package/src/actions/test/stopImpersonatingAccount.ts +0 -17
  244. package/src/actions/wallet/addChain.test.ts +0 -14
  245. package/src/actions/wallet/addChain.ts +0 -21
  246. package/src/actions/wallet/getAccounts.test.ts +0 -22
  247. package/src/actions/wallet/getAccounts.ts +0 -7
  248. package/src/actions/wallet/getPermissions.test.ts +0 -24
  249. package/src/actions/wallet/getPermissions.ts +0 -9
  250. package/src/actions/wallet/index.test.ts +0 -20
  251. package/src/actions/wallet/index.ts +0 -30
  252. package/src/actions/wallet/requestAccounts.test.ts +0 -13
  253. package/src/actions/wallet/requestAccounts.ts +0 -7
  254. package/src/actions/wallet/requestPermissions.test.ts +0 -26
  255. package/src/actions/wallet/requestPermissions.ts +0 -19
  256. package/src/actions/wallet/sendTransaction.bench.ts +0 -57
  257. package/src/actions/wallet/sendTransaction.test.ts +0 -440
  258. package/src/actions/wallet/sendTransaction.ts +0 -77
  259. package/src/actions/wallet/signMessage.test.ts +0 -61
  260. package/src/actions/wallet/signMessage.ts +0 -35
  261. package/src/actions/wallet/switchChain.test.ts +0 -21
  262. package/src/actions/wallet/switchChain.ts +0 -19
  263. package/src/actions/wallet/watchAsset.test.ts +0 -40
  264. package/src/actions/wallet/watchAsset.ts +0 -16
  265. package/src/actions/wallet/writeContract.test.ts +0 -84
  266. package/src/actions/wallet/writeContract.ts +0 -47
  267. package/src/chains.test.ts +0 -1912
  268. package/src/chains.ts +0 -99
  269. package/src/clients/createClient.test.ts +0 -295
  270. package/src/clients/createClient.ts +0 -81
  271. package/src/clients/createPublicClient.test.ts +0 -165
  272. package/src/clients/createPublicClient.ts +0 -49
  273. package/src/clients/createTestClient.test.ts +0 -145
  274. package/src/clients/createTestClient.ts +0 -72
  275. package/src/clients/createWalletClient.test.ts +0 -121
  276. package/src/clients/createWalletClient.ts +0 -54
  277. package/src/clients/index.test.ts +0 -19
  278. package/src/clients/index.ts +0 -31
  279. package/src/clients/transports/createTransport.test.ts +0 -58
  280. package/src/clients/transports/createTransport.ts +0 -48
  281. package/src/clients/transports/custom.test.ts +0 -98
  282. package/src/clients/transports/custom.ts +0 -34
  283. package/src/clients/transports/fallback.test.ts +0 -257
  284. package/src/clients/transports/fallback.ts +0 -50
  285. package/src/clients/transports/http.test.ts +0 -109
  286. package/src/clients/transports/http.ts +0 -51
  287. package/src/clients/transports/index.test.ts +0 -15
  288. package/src/clients/transports/index.ts +0 -17
  289. package/src/clients/transports/webSocket.test.ts +0 -163
  290. package/src/clients/transports/webSocket.ts +0 -117
  291. package/src/constants/abis.test.ts +0 -53
  292. package/src/constants/abis.ts +0 -44
  293. package/src/constants/index.test.ts +0 -14
  294. package/src/constants/index.ts +0 -3
  295. package/src/constants/solidity.test.ts +0 -41
  296. package/src/constants/solidity.ts +0 -35
  297. package/src/ens.ts +0 -5
  298. package/src/errors/abi.test.ts +0 -81
  299. package/src/errors/abi.ts +0 -238
  300. package/src/errors/address.test.ts +0 -14
  301. package/src/errors/address.ts +0 -9
  302. package/src/errors/base.test.ts +0 -114
  303. package/src/errors/base.ts +0 -57
  304. package/src/errors/block.test.ts +0 -24
  305. package/src/errors/block.ts +0 -18
  306. package/src/errors/contract.test.ts +0 -233
  307. package/src/errors/contract.ts +0 -178
  308. package/src/errors/data.ts +0 -20
  309. package/src/errors/encoding.ts +0 -60
  310. package/src/errors/index.ts +0 -79
  311. package/src/errors/log.ts +0 -8
  312. package/src/errors/request.test.ts +0 -330
  313. package/src/errors/request.ts +0 -163
  314. package/src/errors/rpc.test.ts +0 -87
  315. package/src/errors/rpc.ts +0 -113
  316. package/src/errors/transaction.test.ts +0 -83
  317. package/src/errors/transaction.ts +0 -54
  318. package/src/errors/transport.test.ts +0 -11
  319. package/src/errors/transport.ts +0 -12
  320. package/src/index.test.ts +0 -263
  321. package/src/index.ts +0 -389
  322. package/src/public.ts +0 -80
  323. package/src/test.ts +0 -51
  324. package/src/types/block.ts +0 -71
  325. package/src/types/chain.ts +0 -6
  326. package/src/types/contract.ts +0 -393
  327. package/src/types/eip1193.ts +0 -1041
  328. package/src/types/fee.ts +0 -47
  329. package/src/types/filter.ts +0 -8
  330. package/src/types/formatter.ts +0 -23
  331. package/src/types/index.ts +0 -83
  332. package/src/types/log.ts +0 -22
  333. package/src/types/misc.ts +0 -5
  334. package/src/types/multicall.ts +0 -82
  335. package/src/types/rpc.ts +0 -35
  336. package/src/types/transaction.ts +0 -145
  337. package/src/types/utils.ts +0 -67
  338. package/src/types/window.ts +0 -9
  339. package/src/utils/abi/decodeAbi.bench.ts +0 -135
  340. package/src/utils/abi/decodeAbi.test.ts +0 -1614
  341. package/src/utils/abi/decodeAbi.ts +0 -300
  342. package/src/utils/abi/decodeDeployData.test.ts +0 -151
  343. package/src/utils/abi/decodeDeployData.ts +0 -44
  344. package/src/utils/abi/decodeErrorResult.test.ts +0 -230
  345. package/src/utils/abi/decodeErrorResult.ts +0 -45
  346. package/src/utils/abi/decodeFunctionData.test.ts +0 -139
  347. package/src/utils/abi/decodeFunctionData.ts +0 -29
  348. package/src/utils/abi/decodeFunctionResult.test.ts +0 -333
  349. package/src/utils/abi/decodeFunctionResult.ts +0 -57
  350. package/src/utils/abi/encodeAbi.bench.ts +0 -163
  351. package/src/utils/abi/encodeAbi.test.ts +0 -1447
  352. package/src/utils/abi/encodeAbi.ts +0 -273
  353. package/src/utils/abi/encodeDeployData.test.ts +0 -124
  354. package/src/utils/abi/encodeDeployData.ts +0 -40
  355. package/src/utils/abi/encodeErrorResult.test.ts +0 -192
  356. package/src/utils/abi/encodeErrorResult.ts +0 -47
  357. package/src/utils/abi/encodeEventTopics.test.ts +0 -345
  358. package/src/utils/abi/encodeEventTopics.ts +0 -75
  359. package/src/utils/abi/encodeFunctionData.test.ts +0 -138
  360. package/src/utils/abi/encodeFunctionData.ts +0 -45
  361. package/src/utils/abi/encodeFunctionResult.test.ts +0 -279
  362. package/src/utils/abi/encodeFunctionResult.ts +0 -41
  363. package/src/utils/abi/formatAbiItem.test.ts +0 -335
  364. package/src/utils/abi/formatAbiItem.ts +0 -41
  365. package/src/utils/abi/formatAbiItemWithArgs.test.ts +0 -291
  366. package/src/utils/abi/formatAbiItemWithArgs.ts +0 -27
  367. package/src/utils/abi/getAbiItem.test.ts +0 -547
  368. package/src/utils/abi/getAbiItem.ts +0 -95
  369. package/src/utils/abi/index.test.ts +0 -23
  370. package/src/utils/abi/index.ts +0 -42
  371. package/src/utils/address/getAddress.bench.ts +0 -22
  372. package/src/utils/address/getAddress.test.ts +0 -46
  373. package/src/utils/address/getAddress.ts +0 -28
  374. package/src/utils/address/getContractAddress.bench.ts +0 -20
  375. package/src/utils/address/getContractAddress.test.ts +0 -78
  376. package/src/utils/address/getContractAddress.ts +0 -59
  377. package/src/utils/address/index.test.ts +0 -17
  378. package/src/utils/address/index.ts +0 -16
  379. package/src/utils/address/isAddress.test.ts +0 -10
  380. package/src/utils/address/isAddress.ts +0 -10
  381. package/src/utils/address/isAddressEqual.test.ts +0 -55
  382. package/src/utils/address/isAddressEqual.ts +0 -6
  383. package/src/utils/buildRequest.test.ts +0 -365
  384. package/src/utils/buildRequest.ts +0 -45
  385. package/src/utils/chain.test.ts +0 -43
  386. package/src/utils/chain.ts +0 -8
  387. package/src/utils/contract/extractFunctionParts.test.ts +0 -109
  388. package/src/utils/contract/extractFunctionParts.ts +0 -27
  389. package/src/utils/contract/getContractError.test.ts +0 -282
  390. package/src/utils/contract/getContractError.ts +0 -58
  391. package/src/utils/contract/index.test.ts +0 -15
  392. package/src/utils/contract/index.ts +0 -8
  393. package/src/utils/data/concat.test.ts +0 -35
  394. package/src/utils/data/concat.ts +0 -34
  395. package/src/utils/data/index.test.ts +0 -23
  396. package/src/utils/data/index.ts +0 -13
  397. package/src/utils/data/isBytes.test.ts +0 -9
  398. package/src/utils/data/isBytes.ts +0 -7
  399. package/src/utils/data/isHex.test.ts +0 -13
  400. package/src/utils/data/isHex.ts +0 -5
  401. package/src/utils/data/pad.bench.ts +0 -30
  402. package/src/utils/data/pad.test.ts +0 -367
  403. package/src/utils/data/pad.ts +0 -53
  404. package/src/utils/data/size.test.ts +0 -18
  405. package/src/utils/data/size.ts +0 -13
  406. package/src/utils/data/slice.test.ts +0 -203
  407. package/src/utils/data/slice.ts +0 -60
  408. package/src/utils/data/trim.bench.ts +0 -34
  409. package/src/utils/data/trim.test.ts +0 -175
  410. package/src/utils/data/trim.ts +0 -33
  411. package/src/utils/encoding/decodeBytes.bench.ts +0 -40
  412. package/src/utils/encoding/decodeBytes.test.ts +0 -144
  413. package/src/utils/encoding/decodeBytes.ts +0 -63
  414. package/src/utils/encoding/decodeHex.bench.ts +0 -24
  415. package/src/utils/encoding/decodeHex.test.ts +0 -167
  416. package/src/utils/encoding/decodeHex.ts +0 -76
  417. package/src/utils/encoding/decodeRlp.bench.ts +0 -34
  418. package/src/utils/encoding/decodeRlp.test.ts +0 -350
  419. package/src/utils/encoding/decodeRlp.ts +0 -121
  420. package/src/utils/encoding/encodeBytes.bench.ts +0 -29
  421. package/src/utils/encoding/encodeBytes.test.ts +0 -676
  422. package/src/utils/encoding/encodeBytes.ts +0 -59
  423. package/src/utils/encoding/encodeHex.bench.ts +0 -49
  424. package/src/utils/encoding/encodeHex.test.ts +0 -232
  425. package/src/utils/encoding/encodeHex.ts +0 -104
  426. package/src/utils/encoding/encodeRlp.bench.ts +0 -54
  427. package/src/utils/encoding/encodeRlp.test.ts +0 -254
  428. package/src/utils/encoding/encodeRlp.ts +0 -48
  429. package/src/utils/encoding/index.test.ts +0 -32
  430. package/src/utils/encoding/index.ts +0 -36
  431. package/src/utils/ens/index.test.ts +0 -13
  432. package/src/utils/ens/index.ts +0 -5
  433. package/src/utils/ens/labelhash.test.ts +0 -55
  434. package/src/utils/ens/labelhash.ts +0 -16
  435. package/src/utils/ens/namehash.test.ts +0 -65
  436. package/src/utils/ens/namehash.ts +0 -28
  437. package/src/utils/ens/normalize.bench.ts +0 -14
  438. package/src/utils/ens/normalize.test.ts +0 -35
  439. package/src/utils/ens/normalize.ts +0 -14
  440. package/src/utils/formatters/block.bench.ts +0 -51
  441. package/src/utils/formatters/block.test.ts +0 -115
  442. package/src/utils/formatters/block.ts +0 -37
  443. package/src/utils/formatters/extract.test.ts +0 -14
  444. package/src/utils/formatters/extract.ts +0 -18
  445. package/src/utils/formatters/feeHistory.test.ts +0 -66
  446. package/src/utils/formatters/feeHistory.ts +0 -12
  447. package/src/utils/formatters/format.test.ts +0 -93
  448. package/src/utils/formatters/format.ts +0 -90
  449. package/src/utils/formatters/index.test.ts +0 -27
  450. package/src/utils/formatters/index.ts +0 -34
  451. package/src/utils/formatters/log.test.ts +0 -79
  452. package/src/utils/formatters/log.ts +0 -12
  453. package/src/utils/formatters/transaction.test.ts +0 -271
  454. package/src/utils/formatters/transaction.ts +0 -63
  455. package/src/utils/formatters/transactionReceipt.bench.ts +0 -73
  456. package/src/utils/formatters/transactionReceipt.test.ts +0 -151
  457. package/src/utils/formatters/transactionReceipt.ts +0 -63
  458. package/src/utils/formatters/transactionRequest.bench.ts +0 -29
  459. package/src/utils/formatters/transactionRequest.test.ts +0 -237
  460. package/src/utils/formatters/transactionRequest.ts +0 -56
  461. package/src/utils/hash/getEventSignature.test.ts +0 -61
  462. package/src/utils/hash/getEventSignature.ts +0 -4
  463. package/src/utils/hash/getFunctionSignature.test.ts +0 -22
  464. package/src/utils/hash/getFunctionSignature.ts +0 -5
  465. package/src/utils/hash/hashFunction.test.ts +0 -65
  466. package/src/utils/hash/hashFunction.ts +0 -12
  467. package/src/utils/hash/index.test.ts +0 -13
  468. package/src/utils/hash/index.ts +0 -5
  469. package/src/utils/hash/keccak256.test.ts +0 -59
  470. package/src/utils/hash/keccak256.ts +0 -21
  471. package/src/utils/index.test.ts +0 -113
  472. package/src/utils/index.ts +0 -141
  473. package/src/utils/observe.test.ts +0 -176
  474. package/src/utils/observe.ts +0 -66
  475. package/src/utils/poll.test.ts +0 -127
  476. package/src/utils/poll.ts +0 -42
  477. package/src/utils/promise/index.test.ts +0 -14
  478. package/src/utils/promise/index.ts +0 -3
  479. package/src/utils/promise/withCache.test.ts +0 -97
  480. package/src/utils/promise/withCache.ts +0 -73
  481. package/src/utils/promise/withRetry.test.ts +0 -231
  482. package/src/utils/promise/withRetry.ts +0 -61
  483. package/src/utils/promise/withTimeout.test.ts +0 -37
  484. package/src/utils/promise/withTimeout.ts +0 -39
  485. package/src/utils/rpc.test.ts +0 -989
  486. package/src/utils/rpc.ts +0 -292
  487. package/src/utils/stringify.test.ts +0 -13
  488. package/src/utils/stringify.ts +0 -5
  489. package/src/utils/uid.ts +0 -14
  490. package/src/utils/unit/constants.test.ts +0 -22
  491. package/src/utils/unit/constants.ts +0 -12
  492. package/src/utils/unit/formatEther.test.ts +0 -75
  493. package/src/utils/unit/formatEther.ts +0 -6
  494. package/src/utils/unit/formatGwei.test.ts +0 -32
  495. package/src/utils/unit/formatGwei.ts +0 -6
  496. package/src/utils/unit/formatUnit.bench.ts +0 -21
  497. package/src/utils/unit/formatUnit.test.ts +0 -40
  498. package/src/utils/unit/formatUnit.ts +0 -16
  499. package/src/utils/unit/index.test.ts +0 -28
  500. package/src/utils/unit/index.ts +0 -7
  501. package/src/utils/unit/parseEther.test.ts +0 -126
  502. package/src/utils/unit/parseEther.ts +0 -6
  503. package/src/utils/unit/parseGwei.test.ts +0 -50
  504. package/src/utils/unit/parseGwei.ts +0 -6
  505. package/src/utils/unit/parseUnit.bench.ts +0 -21
  506. package/src/utils/unit/parseUnit.test.ts +0 -54
  507. package/src/utils/unit/parseUnit.ts +0 -27
  508. package/src/utils/wait.ts +0 -3
  509. package/src/wallet.ts +0 -23
  510. package/src/window.ts +0 -1
package/src/types/fee.ts DELETED
@@ -1,47 +0,0 @@
1
- import type { Address, Hex } from './misc'
2
-
3
- export type EstimateGasParameters<TQuantity = bigint> = {
4
- /** Contract code or a hashed method call with encoded args */
5
- data?: Hex
6
- /** Gas provided for transaction execution */
7
- gas?: TQuantity
8
- /** Transaction sender */
9
- from?: Address
10
- /** Transaction recipient */
11
- to?: Address
12
- /** Value in wei sent with this transaction */
13
- value?: TQuantity
14
- } & Partial<FeeValues<TQuantity>>
15
-
16
- export type FeeHistory<TQuantity = bigint> = {
17
- /**
18
- * An array of block base fees per gas (in wei). This includes the next block after
19
- * the newest of the returned range, because this value can be derived from the newest block.
20
- * Zeroes are returned for pre-EIP-1559 blocks. */
21
- baseFeePerGas: TQuantity[]
22
- /** An array of block gas used ratios. These are calculated as the ratio of gasUsed and gasLimit. */
23
- gasUsedRatio: number[]
24
- /** Lowest number block of the returned range. */
25
- oldestBlock: TQuantity
26
- /** An array of effective priority fees (in wei) per gas data points from a single block. All zeroes are returned if the block is empty. */
27
- reward?: TQuantity[][]
28
- }
29
-
30
- export type FeeValuesLegacy<TQuantity = bigint> = {
31
- /** Base fee per gas. */
32
- gasPrice: TQuantity
33
- maxFeePerGas?: never
34
- maxPriorityFeePerGas?: never
35
- }
36
-
37
- export type FeeValuesEIP1559<TQuantity = bigint> = {
38
- gasPrice?: never
39
- /** Total fee per gas in wei (gasPrice/baseFeePerGas + maxPriorityFeePerGas). */
40
- maxFeePerGas: TQuantity
41
- /** Max priority fee per gas (in wei). */
42
- maxPriorityFeePerGas: TQuantity
43
- }
44
-
45
- export type FeeValues<TQuantity = bigint> =
46
- | FeeValuesLegacy<TQuantity>
47
- | FeeValuesEIP1559<TQuantity>
@@ -1,8 +0,0 @@
1
- import type { Hex } from './misc'
2
-
3
- export type FilterType = 'transaction' | 'block' | 'event'
4
-
5
- export type Filter<TFilterType extends FilterType = 'event'> = {
6
- id: Hex
7
- type: TFilterType
8
- }
@@ -1,23 +0,0 @@
1
- import { Block } from './block'
2
- import {
3
- RpcBlock,
4
- RpcTransaction,
5
- RpcTransactionReceipt,
6
- RpcTransactionRequest,
7
- } from './rpc'
8
- import {
9
- Transaction,
10
- TransactionReceipt,
11
- TransactionRequest,
12
- } from './transaction'
13
-
14
- export type Formatter<TSource = any, TTarget = any> = (
15
- value: TSource & { [key: string]: unknown },
16
- ) => TTarget
17
-
18
- export type Formatters = {
19
- block?: Formatter<RpcBlock, Block>
20
- transaction?: Formatter<RpcTransaction, Transaction>
21
- transactionReceipt?: Formatter<RpcTransactionReceipt, TransactionReceipt>
22
- transactionRequest?: Formatter<TransactionRequest, RpcTransactionRequest>
23
- }
@@ -1,83 +0,0 @@
1
- export type {
2
- Block,
3
- BlockIdentifier,
4
- BlockNumber,
5
- BlockTag,
6
- Uncle,
7
- } from './block'
8
-
9
- export type { Chain } from './chain'
10
-
11
- export type {
12
- AbiItem,
13
- AbiEventParametersToPrimitiveTypes,
14
- ContractConfig,
15
- EventDefinition,
16
- ExtractArgsFromAbi,
17
- ExtractArgsFromEventDefinition,
18
- ExtractArgsFromFunctionDefinition,
19
- ExtractConstructorArgsFromAbi,
20
- ExtractErrorArgsFromAbi,
21
- ExtractErrorNameFromAbi,
22
- ExtractEventArgsFromAbi,
23
- ExtractEventNameFromAbi,
24
- ExtractFunctionNameFromAbi,
25
- ExtractNameFromAbi,
26
- ExtractResultFromAbi,
27
- GetValue,
28
- } from './contract'
29
-
30
- export type {
31
- EstimateGasParameters,
32
- FeeHistory,
33
- FeeValues,
34
- FeeValuesEIP1559,
35
- FeeValuesLegacy,
36
- } from './fee'
37
-
38
- export type { Filter, FilterType } from './filter'
39
-
40
- export type { Formatter, Formatters } from './formatter'
41
-
42
- export type { Log } from './log'
43
-
44
- export type { Address, ByteArray, Hex, Hash, LogTopic } from './misc'
45
-
46
- export type { MulticallContracts } from './multicall'
47
-
48
- export type {
49
- Index,
50
- Quantity,
51
- RpcBlock,
52
- RpcBlockIdentifier,
53
- RpcBlockNumber,
54
- RpcEstimateGasParameters,
55
- RpcFeeHistory,
56
- RpcFeeValues,
57
- RpcLog,
58
- RpcTransactionReceipt,
59
- RpcTransactionRequest,
60
- RpcTransaction,
61
- RpcUncle,
62
- } from './rpc'
63
-
64
- export type {
65
- AccessList,
66
- TransactionReceipt,
67
- TransactionRequest,
68
- TransactionRequestBase,
69
- TransactionRequestEIP1559,
70
- TransactionRequestEIP2930,
71
- TransactionRequestLegacy,
72
- Transaction,
73
- TransactionBase,
74
- TransactionEIP1559,
75
- TransactionEIP2930,
76
- TransactionLegacy,
77
- } from './transaction'
78
-
79
- export type {
80
- PartialBy,
81
- MergeIntersectionProperties,
82
- OptionalNullable,
83
- } from './utils'
package/src/types/log.ts DELETED
@@ -1,22 +0,0 @@
1
- import type { Address, Hash, Hex } from './misc'
2
-
3
- export type Log<TQuantity = bigint, TIndex = number> = {
4
- /** The address from which this log originated */
5
- address: Address
6
- /** Hash of block containing this log or `null` if pending */
7
- blockHash: Hash | null
8
- /** Number of block containing this log or `null` if pending */
9
- blockNumber: TQuantity | null
10
- /** Contains the non-indexed arguments of the log */
11
- data: Hex
12
- /** Index of this log within its block or `null` if pending */
13
- logIndex: TIndex | null
14
- /** Hash of the transaction that created this log or `null` if pending */
15
- transactionHash: Hash | null
16
- /** Index of the transaction that created this log or `null` if pending */
17
- transactionIndex: TIndex | null
18
- /** List of order-dependent topics */
19
- topics: Hex[]
20
- /** `true` if this filter has been destroyed and is invalid */
21
- removed: boolean
22
- }
package/src/types/misc.ts DELETED
@@ -1,5 +0,0 @@
1
- export type Address = `0x${string}`
2
- export type ByteArray = Uint8Array
3
- export type Hex = `0x${string}`
4
- export type Hash = `0x${string}`
5
- export type LogTopic = Hex | Hex[] | null
@@ -1,82 +0,0 @@
1
- import { Abi } from 'abitype';
2
- import { ContractConfig, ExtractResultFromAbi } from './contract';
3
-
4
- type MAXIMUM_DEPTH = 20
5
-
6
- export type Contract<
7
- TAbi extends Abi | readonly unknown[] = Abi | readonly unknown[],
8
- TFunctionName extends string = string,
9
- > = { abi: TAbi; functionName: TFunctionName }
10
-
11
- export type MulticallContracts<
12
- TContracts extends Contract[],
13
- TProperties extends Record<string, any> = object,
14
- Result extends any[] = [],
15
- Depth extends ReadonlyArray<number> = [],
16
- > = Depth['length'] extends MAXIMUM_DEPTH
17
- ? (ContractConfig & TProperties)[]
18
- : TContracts extends []
19
- ? []
20
- : TContracts extends [infer Head extends Contract]
21
- ? [
22
- ...Result,
23
- ContractConfig<Head['abi'], Head['functionName']> &
24
- TProperties,
25
- ]
26
- : TContracts extends [
27
- infer Head extends Contract,
28
- ...infer Tail extends Contract[],
29
- ]
30
- ? MulticallContracts<
31
- [...Tail],
32
- TProperties,
33
- [
34
- ...Result,
35
- ContractConfig<Head['abi'], Head['functionName']> &
36
- TProperties,
37
- ],
38
- [...Depth, 1]
39
- >
40
- : unknown[] extends TContracts
41
- ? TContracts
42
- : // If `TContracts` is *some* array but we couldn't assign `unknown[]` to it, then it must hold some known/homogenous type!
43
- // use this to infer the param types in the case of Array.map() argument
44
- TContracts extends ContractConfig<infer TAbi, infer TFunctionName>[]
45
- ? (ContractConfig<TAbi, TFunctionName> & TProperties)[]
46
- : (ContractConfig & TProperties)[]
47
-
48
-
49
- export type MulticallResult<Result, TAllowFailure extends boolean = true> = TAllowFailure extends true ? ({
50
- error?: undefined
51
- result: Result
52
- status: 'success'
53
- } | {
54
- error: Error
55
- result?: undefined
56
- status: 'error'
57
- }) : Result
58
-
59
- export type MulticallResults<
60
- TContracts extends Contract[],
61
- TAllowFailure extends boolean = true,
62
- Result extends any[] = [],
63
- Depth extends ReadonlyArray<number> = [],
64
- > = Depth['length'] extends MAXIMUM_DEPTH
65
- ? MulticallResult<ExtractResultFromAbi, TAllowFailure>[]
66
- : TContracts extends []
67
- ? []
68
- : TContracts extends [infer Head extends Contract]
69
- ? [...Result, MulticallResult<ExtractResultFromAbi<Head['abi'], Head['functionName']>, TAllowFailure>]
70
- : TContracts extends [
71
- infer Head extends Contract,
72
- ...infer Tail extends Contract[],
73
- ]
74
- ? MulticallResults<
75
- [...Tail],
76
- TAllowFailure,
77
- [...Result, MulticallResult<ExtractResultFromAbi<Head['abi'], Head['functionName']>, TAllowFailure>],
78
- [...Depth, 1]
79
- >
80
- : TContracts extends ContractConfig<infer TAbi, infer TFunctionName>[]
81
- ? MulticallResult<ExtractResultFromAbi<TAbi, TFunctionName>, TAllowFailure>[]
82
- : MulticallResult<ExtractResultFromAbi, TAllowFailure>[]
package/src/types/rpc.ts DELETED
@@ -1,35 +0,0 @@
1
- import type { Block, BlockIdentifier, BlockNumber, Uncle } from './block'
2
- import type { EstimateGasParameters, FeeHistory, FeeValues } from './fee'
3
- import type { Log } from './log'
4
- import type {
5
- TransactionEIP1559,
6
- TransactionEIP2930,
7
- TransactionLegacy,
8
- TransactionReceipt,
9
- TransactionRequest,
10
- } from './transaction'
11
-
12
- export type Index = `0x${string}`
13
- export type Quantity = `0x${string}`
14
- export type Status = '0x0' | '0x1'
15
- export type TransactionType = '0x0' | '0x1' | '0x2'
16
-
17
- export type RpcBlock = Block<Quantity, RpcTransaction>
18
- export type RpcBlockNumber = BlockNumber<Quantity>
19
- export type RpcBlockIdentifier = BlockIdentifier<Quantity>
20
- export type RpcEstimateGasParameters = EstimateGasParameters<Quantity>
21
- export type RpcUncle = Uncle<Quantity>
22
- export type RpcFeeHistory = FeeHistory<Quantity>
23
- export type RpcFeeValues = FeeValues<Quantity>
24
- export type RpcLog = Log<Quantity, Index>
25
- export type RpcTransactionReceipt = TransactionReceipt<
26
- Quantity,
27
- Index,
28
- Status,
29
- TransactionType
30
- >
31
- export type RpcTransactionRequest = TransactionRequest<Quantity, Index>
32
- export type RpcTransaction =
33
- | TransactionLegacy<Quantity, Index, '0x0'>
34
- | TransactionEIP2930<Quantity, Index, '0x1'>
35
- | TransactionEIP1559<Quantity, Index, '0x2'>
@@ -1,145 +0,0 @@
1
- import { transactionType } from '../utils'
2
- import type { FeeValuesEIP1559, FeeValuesLegacy } from './fee'
3
- import type { Log } from './log'
4
- import type { Address, Hash, Hex } from './misc'
5
- import type { ValueOf } from './utils'
6
-
7
- export type AccessList = Array<{ address: Address; storageKeys: Array<Hex> }>
8
-
9
- export type TransactionType = ValueOf<typeof transactionType>
10
-
11
- export type TransactionReceipt<
12
- TQuantity = bigint,
13
- TIndex = number,
14
- TStatus = 'success' | 'reverted',
15
- TType = TransactionType,
16
- > = {
17
- /** Hash of block containing this transaction */
18
- blockHash: Hash
19
- /** Number of block containing this transaction */
20
- blockNumber: TQuantity
21
- /** Address of new contract or `null` if no contract was created */
22
- contractAddress: Address | null
23
- /** Gas used by this and all preceding transactions in this block */
24
- cumulativeGasUsed: TQuantity
25
- /** Pre-London, it is equal to the transaction's gasPrice. Post-London, it is equal to the actual gas price paid for inclusion. */
26
- effectiveGasPrice: TQuantity
27
- /** Transaction sender */
28
- from: Address
29
- /** Gas used by this transaction */
30
- gasUsed: TQuantity
31
- /** List of log objects generated by this transaction */
32
- logs: Log<TQuantity, TIndex>[]
33
- /** Logs bloom filter */
34
- logsBloom: Hex
35
- /** `1` if this transaction was successful or `0` if it failed */
36
- status: TStatus
37
- /** Transaction recipient or `null` if deploying a contract */
38
- to: Address | null
39
- /** Hash of this transaction */
40
- transactionHash: Hash
41
- /** Index of this transaction in the block */
42
- transactionIndex: TIndex
43
- /** Transaction type */
44
- type: TType
45
- }
46
-
47
- export type TransactionBase<TQuantity = bigint, TIndex = number> = {
48
- /** Hash of block containing this transaction or `null` if pending */
49
- blockHash: Hash | null
50
- /** Number of block containing this transaction or `null` if pending */
51
- blockNumber: TQuantity | null
52
- /** Transaction sender */
53
- from: Address
54
- /** Gas provided for transaction execution */
55
- gas: TQuantity
56
- /** Hash of this transaction */
57
- hash: Hash
58
- /** Contract code or a hashed method call */
59
- input: Hex
60
- /** Unique number identifying this transaction */
61
- nonce: TIndex
62
- /** ECDSA signature r */
63
- r: Hex
64
- /** ECDSA signature s */
65
- s: Hex
66
- /** Transaction recipient or `null` if deploying a contract */
67
- to: Address | null
68
- /** Index of this transaction in the block or `null` if pending */
69
- transactionIndex: TIndex | null
70
- /** ECDSA recovery ID */
71
- v: TQuantity
72
- /** Value in wei sent with this transaction */
73
- value: TQuantity
74
- }
75
- export type TransactionLegacy<
76
- TQuantity = bigint,
77
- TIndex = number,
78
- TType = 'legacy',
79
- > = TransactionBase<TQuantity, TIndex> &
80
- FeeValuesLegacy<TQuantity> & {
81
- accessList?: never
82
- type: TType
83
- }
84
- export type TransactionEIP2930<
85
- TQuantity = bigint,
86
- TIndex = number,
87
- TType = 'eip2930',
88
- > = TransactionBase<TQuantity, TIndex> &
89
- FeeValuesLegacy<TQuantity> & {
90
- accessList: AccessList
91
- type: TType
92
- }
93
- export type TransactionEIP1559<
94
- TQuantity = bigint,
95
- TIndex = number,
96
- TType = 'eip1559',
97
- > = TransactionBase<TQuantity, TIndex> &
98
- FeeValuesEIP1559<TQuantity> & {
99
- accessList: AccessList
100
- type: TType
101
- }
102
- export type Transaction<TQuantity = bigint, TIndex = number> =
103
- | TransactionLegacy<TQuantity, TIndex>
104
- | TransactionEIP2930<TQuantity, TIndex>
105
- | TransactionEIP1559<TQuantity, TIndex>
106
-
107
- export type TransactionRequestBase<TQuantity = bigint, TIndex = number> = {
108
- /** Contract code or a hashed method call with encoded args */
109
- data?: Hex
110
- /** Transaction sender */
111
- from: Address
112
- /** Gas provided for transaction execution */
113
- gas?: TQuantity
114
- /** Unique number identifying this transaction */
115
- nonce?: TIndex
116
- /** Transaction recipient */
117
- to?: Address
118
- /** Value in wei sent with this transaction */
119
- value?: TQuantity
120
- }
121
- export type TransactionRequestLegacy<
122
- TQuantity = bigint,
123
- TIndex = number,
124
- > = TransactionRequestBase<TQuantity, TIndex> &
125
- Partial<FeeValuesLegacy<TQuantity>> & {
126
- accessList?: never
127
- }
128
- export type TransactionRequestEIP2930<
129
- TQuantity = bigint,
130
- TIndex = number,
131
- > = TransactionRequestBase<TQuantity, TIndex> &
132
- Partial<FeeValuesLegacy<TQuantity>> & {
133
- accessList?: AccessList
134
- }
135
- export type TransactionRequestEIP1559<
136
- TQuantity = bigint,
137
- TIndex = number,
138
- > = TransactionRequestBase<TQuantity, TIndex> &
139
- Partial<FeeValuesEIP1559<TQuantity>> & {
140
- accessList?: AccessList
141
- }
142
- export type TransactionRequest<TQuantity = bigint, TIndex = number> =
143
- | TransactionRequestLegacy<TQuantity, TIndex>
144
- | TransactionRequestEIP2930<TQuantity, TIndex>
145
- | TransactionRequestEIP1559<TQuantity, TIndex>
@@ -1,67 +0,0 @@
1
- export type MaybePromise<T> = T | Promise<T>
2
-
3
- /**
4
- * @description Merges the intersection properties of T and U.
5
- *
6
- * @example
7
- * MergeIntersectionProperties<{ a: string, b: number }, { a: number, c: boolean }>
8
- * => { a: number, b: number }
9
- */
10
- export type MergeIntersectionProperties<T, U> = {
11
- [K in
12
- keyof T as K extends keyof U
13
- ? U[K] extends void
14
- ? never
15
- : K
16
- : K]: K extends keyof U ? U[K] : T[K]
17
- }
18
-
19
- /**
20
- * @description Makes nullable properties from T optional.
21
- *
22
- * @example
23
- * OptionalNullable<{ a: string | undefined, c: number }>
24
- * => { a?: string | undefined, c: number }
25
- */
26
- export type OptionalNullable<T> = {
27
- [K in keyof T as T[K] extends NonNullable<unknown> ? K : never]: T[K]
28
- } & {
29
- [K in keyof T as T[K] extends NonNullable<unknown> ? never : K]?: T[K]
30
- }
31
-
32
- /**
33
- * @description Creates a type that is a partial of T, but with the required keys K.
34
- *
35
- * @example
36
- * PartialBy<{ a: string, b: number }, 'a'>
37
- * => { a?: string, b: number }
38
- */
39
- export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>
40
-
41
- type TrimLeft<T, Chars extends string = ' '> = T extends `${Chars}${infer R}`
42
- ? TrimLeft<R>
43
- : T
44
- type TrimRight<T, Chars extends string = ' '> = T extends `${infer R}${Chars}`
45
- ? TrimRight<R>
46
- : T
47
-
48
- /**
49
- * @description Trims empty space from type T.
50
- *
51
- * @example
52
- * Trim<' lol '>
53
- * => 'lol'
54
- */
55
- export type Trim<T, Chars extends string = ' '> = TrimLeft<
56
- TrimRight<T, Chars>,
57
- Chars
58
- >
59
-
60
- /**
61
- * @description Creates a type that extracts the values of T.
62
- *
63
- * @example
64
- * ValueOf<{ a: string, b: number }>
65
- * => string | number
66
- */
67
- export type ValueOf<T> = T[keyof T]
@@ -1,9 +0,0 @@
1
- import type { Events, Requests } from './eip1193'
2
-
3
- type WindowProvider = Requests & Events
4
-
5
- declare global {
6
- interface Window {
7
- ethereum?: WindowProvider
8
- }
9
- }
@@ -1,135 +0,0 @@
1
- import { AbiCoder } from 'ethers/lib/utils'
2
- import { bench, describe } from 'vitest'
3
-
4
- import { decodeAbi } from './decodeAbi'
5
-
6
- describe('ABI Decode (static struct)', () => {
7
- bench('viem: `decodeAbi`', () => {
8
- decodeAbi({
9
- data: '0x00000000000000000000000000000000000000000000000000000000000001a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ac00000000000000000000000000000000000000000000000000000000000000450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c961145a54c96e3ae9baa048c4f4d6b04c13916b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002',
10
- params: [
11
- {
12
- components: [
13
- {
14
- components: [
15
- {
16
- internalType: 'uint256',
17
- name: 'x',
18
- type: 'uint256',
19
- },
20
- {
21
- internalType: 'bool',
22
- name: 'y',
23
- type: 'bool',
24
- },
25
- {
26
- internalType: 'address',
27
- name: 'z',
28
- type: 'address',
29
- },
30
- ],
31
- internalType: 'struct ABIExample.Foo',
32
- name: 'foo',
33
- type: 'tuple',
34
- },
35
- {
36
- components: [
37
- {
38
- internalType: 'uint256',
39
- name: 'x',
40
- type: 'uint256',
41
- },
42
- {
43
- internalType: 'bool',
44
- name: 'y',
45
- type: 'bool',
46
- },
47
- {
48
- internalType: 'address',
49
- name: 'z',
50
- type: 'address',
51
- },
52
- ],
53
- internalType: 'struct ABIExample.Foo',
54
- name: 'baz',
55
- type: 'tuple',
56
- },
57
- {
58
- internalType: 'uint8[2]',
59
- name: 'x',
60
- type: 'uint8[2]',
61
- },
62
- ],
63
- internalType: 'struct ABIExample.Bar',
64
- name: 'barOut',
65
- type: 'tuple',
66
- },
67
- ],
68
- })
69
- })
70
-
71
- bench('ethers: `AbiCoder.decode`', () => {
72
- const coder = new AbiCoder()
73
- coder.decode(
74
- [
75
- {
76
- components: [
77
- {
78
- components: [
79
- {
80
- internalType: 'uint256',
81
- name: 'x',
82
- type: 'uint256',
83
- },
84
- {
85
- internalType: 'bool',
86
- name: 'y',
87
- type: 'bool',
88
- },
89
- {
90
- internalType: 'address',
91
- name: 'z',
92
- type: 'address',
93
- },
94
- ],
95
- internalType: 'struct ABIExample.Foo',
96
- name: 'foo',
97
- type: 'tuple',
98
- },
99
- {
100
- components: [
101
- {
102
- internalType: 'uint256',
103
- name: 'x',
104
- type: 'uint256',
105
- },
106
- {
107
- internalType: 'bool',
108
- name: 'y',
109
- type: 'bool',
110
- },
111
- {
112
- internalType: 'address',
113
- name: 'z',
114
- type: 'address',
115
- },
116
- ],
117
- internalType: 'struct ABIExample.Foo',
118
- name: 'baz',
119
- type: 'tuple',
120
- },
121
- {
122
- internalType: 'uint8[2]',
123
- name: 'x',
124
- type: 'uint8[2]',
125
- },
126
- ],
127
- internalType: 'struct ABIExample.Bar',
128
- name: 'barOut',
129
- type: 'tuple',
130
- },
131
- ],
132
- '0x00000000000000000000000000000000000000000000000000000000000001a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a5cc3c03994db5b0d9a5eedd10cabab0813678ac00000000000000000000000000000000000000000000000000000000000000450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c961145a54c96e3ae9baa048c4f4d6b04c13916b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002',
133
- )
134
- })
135
- })