viem 0.0.1-sushi.26 → 0.1.0

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 (525) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +132 -2
  3. package/abi/package.json +4 -0
  4. package/dist/abi.d.ts +6 -0
  5. package/dist/abi.js +21 -0
  6. package/dist/abi.js.map +1 -0
  7. package/dist/abi.mjs +21 -0
  8. package/dist/abi.mjs.map +1 -0
  9. package/dist/chain-819c7ff7.d.ts +553 -0
  10. package/dist/{chain-c4ccb458.d.ts → chain-a4f98ba3.d.ts} +1 -1
  11. package/dist/chains.d.ts +5 -3
  12. package/dist/chains.js +46 -46
  13. package/dist/chains.mjs +1 -1
  14. package/dist/chunk-APZXOA44.mjs +208 -0
  15. package/dist/chunk-APZXOA44.mjs.map +1 -0
  16. package/dist/chunk-HCZO3OIX.js +208 -0
  17. package/dist/chunk-HCZO3OIX.js.map +1 -0
  18. package/dist/{chunk-SD5X7F4U.mjs → chunk-I7AINPMM.mjs} +2756 -456
  19. package/dist/chunk-I7AINPMM.mjs.map +1 -0
  20. package/dist/chunk-QJNPIGP5.js +5326 -0
  21. package/dist/chunk-QJNPIGP5.js.map +1 -0
  22. package/dist/contract.d.ts +9 -122
  23. package/dist/contract.js +4 -4
  24. package/dist/contract.mjs +18 -18
  25. package/dist/{createClient-68ee4bb4.d.ts → createClient-a47ae6f5.d.ts} +13 -13
  26. package/dist/createPublicClient-e2eae0fc.d.ts +771 -0
  27. package/dist/{eip1193-6f9ba163.d.ts → eip1193-a882d1b8.d.ts} +14 -3
  28. package/dist/encodeFunctionResult-9eb553ce.d.ts +75 -0
  29. package/dist/encodePacked-4c019ed8.d.ts +12 -0
  30. package/dist/ens.d.ts +8 -69
  31. package/dist/ens.js +4 -199
  32. package/dist/ens.js.map +1 -1
  33. package/dist/ens.mjs +6 -201
  34. package/dist/ens.mjs.map +1 -1
  35. package/dist/formatAbiItem-622d2303.d.ts +14 -0
  36. package/dist/getAbiItem-159f3263.d.ts +22 -0
  37. package/dist/index.d.ts +106 -55
  38. package/dist/index.js +451 -41
  39. package/dist/index.js.map +1 -1
  40. package/dist/index.mjs +445 -35
  41. package/dist/index.mjs.map +1 -1
  42. package/dist/namehash-afff0feb.d.ts +25 -0
  43. package/dist/parseGwei-a2d0d77a.d.ts +497 -0
  44. package/dist/public.d.ts +11 -336
  45. package/dist/public.js +4 -3
  46. package/dist/public.mjs +3 -2
  47. package/dist/test-13f4413b.d.ts +205 -0
  48. package/dist/test.d.ts +8 -149
  49. package/dist/test.js +19 -222
  50. package/dist/test.js.map +1 -1
  51. package/dist/test.mjs +29 -232
  52. package/dist/test.mjs.map +1 -1
  53. package/dist/utils/index.d.ts +44 -231
  54. package/dist/utils/index.js +30 -2
  55. package/dist/utils/index.mjs +61 -33
  56. package/dist/wallet.d.ts +6 -41
  57. package/dist/wallet.js +2 -3
  58. package/dist/wallet.mjs +5 -6
  59. package/dist/window.d.ts +4 -2
  60. package/package.json +11 -6
  61. package/public/package.json +4 -0
  62. package/test/package.json +4 -0
  63. package/dist/call-ac509982.d.ts +0 -23
  64. package/dist/chain-f16512e8.d.ts +0 -372
  65. package/dist/chunk-2PFNLP3F.js +0 -192
  66. package/dist/chunk-2PFNLP3F.js.map +0 -1
  67. package/dist/chunk-5ND4P6QL.mjs +0 -192
  68. package/dist/chunk-5ND4P6QL.mjs.map +0 -1
  69. package/dist/chunk-NXCI5KQC.js +0 -3026
  70. package/dist/chunk-NXCI5KQC.js.map +0 -1
  71. package/dist/chunk-O7T5NQLB.mjs +0 -1091
  72. package/dist/chunk-O7T5NQLB.mjs.map +0 -1
  73. package/dist/chunk-SD5X7F4U.mjs.map +0 -1
  74. package/dist/chunk-UTL6F7UN.js +0 -1091
  75. package/dist/chunk-UTL6F7UN.js.map +0 -1
  76. package/dist/contract-9e76e561.d.ts +0 -166
  77. package/dist/createPublicClient-b732194e.d.ts +0 -19
  78. package/dist/createTestClient-dedf321e.d.ts +0 -34
  79. package/dist/createWalletClient-75813d83.d.ts +0 -30
  80. package/dist/decodeErrorResult-0b934d23.d.ts +0 -16
  81. package/dist/getAbiItem-c8e6e7d4.d.ts +0 -97
  82. package/dist/readContract-4f6e2692.d.ts +0 -10
  83. package/dist/rpc-a5a7f376.d.ts +0 -121
  84. package/dist/sendTransaction-e713f90c.d.ts +0 -12
  85. package/dist/transactionReceipt-2a86c7c7.d.ts +0 -26
  86. package/dist/transactionRequest-c7794f5e.d.ts +0 -15
  87. package/dist/watchEvent-c346c12d.d.ts +0 -41
  88. package/src/_test/abis.ts +0 -1420
  89. package/src/_test/bench.ts +0 -15
  90. package/src/_test/constants.ts +0 -63
  91. package/src/_test/generated.ts +0 -128
  92. package/src/_test/globalSetup.ts +0 -11
  93. package/src/_test/index.ts +0 -25
  94. package/src/_test/setup.ts +0 -8
  95. package/src/_test/utils.ts +0 -155
  96. package/src/actions/ens/getEnsAddress.bench.ts +0 -26
  97. package/src/actions/ens/getEnsAddress.test.ts +0 -97
  98. package/src/actions/ens/getEnsAddress.ts +0 -122
  99. package/src/actions/ens/getEnsName.bench.ts +0 -30
  100. package/src/actions/ens/getEnsName.test.ts +0 -101
  101. package/src/actions/ens/getEnsName.ts +0 -106
  102. package/src/actions/ens/index.test.ts +0 -12
  103. package/src/actions/ens/index.ts +0 -3
  104. package/src/actions/index.test.ts +0 -81
  105. package/src/actions/index.ts +0 -182
  106. package/src/actions/public/call.bench.ts +0 -48
  107. package/src/actions/public/call.test.ts +0 -99
  108. package/src/actions/public/call.ts +0 -97
  109. package/src/actions/public/createBlockFilter.bench.ts +0 -11
  110. package/src/actions/public/createBlockFilter.test.ts +0 -9
  111. package/src/actions/public/createBlockFilter.ts +0 -14
  112. package/src/actions/public/createContractEventFilter.test.ts +0 -119
  113. package/src/actions/public/createContractEventFilter.ts +0 -69
  114. package/src/actions/public/createEventFilter.test.ts +0 -277
  115. package/src/actions/public/createEventFilter.ts +0 -93
  116. package/src/actions/public/createPendingTransactionFilter.bench.ts +0 -11
  117. package/src/actions/public/createPendingTransactionFilter.test.ts +0 -9
  118. package/src/actions/public/createPendingTransactionFilter.ts +0 -14
  119. package/src/actions/public/estimateGas.bench.ts +0 -46
  120. package/src/actions/public/estimateGas.test.ts +0 -92
  121. package/src/actions/public/estimateGas.ts +0 -61
  122. package/src/actions/public/getBalance.test.ts +0 -83
  123. package/src/actions/public/getBalance.ts +0 -37
  124. package/src/actions/public/getBlock.bench.ts +0 -28
  125. package/src/actions/public/getBlock.test.ts +0 -575
  126. package/src/actions/public/getBlock.ts +0 -65
  127. package/src/actions/public/getBlockNumber.bench.ts +0 -28
  128. package/src/actions/public/getBlockNumber.test.ts +0 -27
  129. package/src/actions/public/getBlockNumber.ts +0 -32
  130. package/src/actions/public/getBlockTransactionCount.bench.ts +0 -15
  131. package/src/actions/public/getBlockTransactionCount.test.ts +0 -57
  132. package/src/actions/public/getBlockTransactionCount.ts +0 -52
  133. package/src/actions/public/getBytecode.test.ts +0 -27
  134. package/src/actions/public/getBytecode.ts +0 -32
  135. package/src/actions/public/getChainId.bench.ts +0 -15
  136. package/src/actions/public/getChainId.test.ts +0 -8
  137. package/src/actions/public/getChainId.ts +0 -7
  138. package/src/actions/public/getFeeHistory.bench.ts +0 -18
  139. package/src/actions/public/getFeeHistory.test.ts +0 -137
  140. package/src/actions/public/getFeeHistory.ts +0 -44
  141. package/src/actions/public/getFilterChanges.bench.ts +0 -13
  142. package/src/actions/public/getFilterChanges.test.ts +0 -383
  143. package/src/actions/public/getFilterChanges.ts +0 -23
  144. package/src/actions/public/getFilterLogs.test.ts +0 -297
  145. package/src/actions/public/getFilterLogs.ts +0 -20
  146. package/src/actions/public/getGasPrice.bench.ts +0 -19
  147. package/src/actions/public/getGasPrice.test.ts +0 -8
  148. package/src/actions/public/getGasPrice.ts +0 -15
  149. package/src/actions/public/getLogs.test.ts +0 -306
  150. package/src/actions/public/getLogs.ts +0 -84
  151. package/src/actions/public/getStorageAt.test.ts +0 -34
  152. package/src/actions/public/getStorageAt.ts +0 -32
  153. package/src/actions/public/getTransaction.bench.ts +0 -33
  154. package/src/actions/public/getTransaction.test.ts +0 -311
  155. package/src/actions/public/getTransaction.ts +0 -95
  156. package/src/actions/public/getTransactionConfirmations.test.ts +0 -69
  157. package/src/actions/public/getTransactionConfirmations.ts +0 -38
  158. package/src/actions/public/getTransactionCount.test.ts +0 -56
  159. package/src/actions/public/getTransactionCount.ts +0 -34
  160. package/src/actions/public/getTransactionReceipt.bench.ts +0 -33
  161. package/src/actions/public/getTransactionReceipt.test.ts +0 -179
  162. package/src/actions/public/getTransactionReceipt.ts +0 -34
  163. package/src/actions/public/index.test.ts +0 -43
  164. package/src/actions/public/index.ts +0 -146
  165. package/src/actions/public/multicall.test.ts +0 -452
  166. package/src/actions/public/multicall.ts +0 -108
  167. package/src/actions/public/readContract.test.ts +0 -328
  168. package/src/actions/public/readContract.ts +0 -73
  169. package/src/actions/public/simulateContract.bench.ts +0 -41
  170. package/src/actions/public/simulateContract.test.ts +0 -410
  171. package/src/actions/public/simulateContract.ts +0 -91
  172. package/src/actions/public/uninstallFilter.bench.ts +0 -13
  173. package/src/actions/public/uninstallFilter.test.ts +0 -65
  174. package/src/actions/public/uninstallFilter.ts +0 -17
  175. package/src/actions/public/waitForTransactionReceipt.test.ts +0 -322
  176. package/src/actions/public/waitForTransactionReceipt.ts +0 -170
  177. package/src/actions/public/watchBlockNumber.test.ts +0 -166
  178. package/src/actions/public/watchBlockNumber.ts +0 -79
  179. package/src/actions/public/watchBlocks.test.ts +0 -210
  180. package/src/actions/public/watchBlocks.ts +0 -114
  181. package/src/actions/public/watchContractEvent.test.ts +0 -305
  182. package/src/actions/public/watchContractEvent.ts +0 -108
  183. package/src/actions/public/watchEvent.test.ts +0 -195
  184. package/src/actions/public/watchEvent.ts +0 -95
  185. package/src/actions/public/watchPendingTransactions.test.ts +0 -116
  186. package/src/actions/public/watchPendingTransactions.ts +0 -74
  187. package/src/actions/test/dropTransaction.test.ts +0 -34
  188. package/src/actions/test/dropTransaction.ts +0 -17
  189. package/src/actions/test/getAutomine.test.ts +0 -14
  190. package/src/actions/test/getAutomine.ts +0 -11
  191. package/src/actions/test/getTxpoolContent.test.ts +0 -45
  192. package/src/actions/test/getTxpoolContent.ts +0 -7
  193. package/src/actions/test/getTxpoolStatus.test.ts +0 -41
  194. package/src/actions/test/getTxpoolStatus.ts +0 -12
  195. package/src/actions/test/impersonateAccount.test.ts +0 -26
  196. package/src/actions/test/impersonateAccount.ts +0 -17
  197. package/src/actions/test/increaseTime.test.ts +0 -18
  198. package/src/actions/test/increaseTime.ts +0 -17
  199. package/src/actions/test/index.test.ts +0 -38
  200. package/src/actions/test/index.ts +0 -77
  201. package/src/actions/test/inspectTxpool.test.ts +0 -50
  202. package/src/actions/test/inspectTxpool.ts +0 -7
  203. package/src/actions/test/mine.test.ts +0 -20
  204. package/src/actions/test/mine.ts +0 -16
  205. package/src/actions/test/removeBlockTimestampInterval.test.ts +0 -23
  206. package/src/actions/test/removeBlockTimestampInterval.ts +0 -7
  207. package/src/actions/test/reset.test.ts +0 -19
  208. package/src/actions/test/reset.ts +0 -18
  209. package/src/actions/test/revert.test.ts +0 -39
  210. package/src/actions/test/revert.ts +0 -14
  211. package/src/actions/test/sendUnsignedTransaction.test.ts +0 -52
  212. package/src/actions/test/sendUnsignedTransaction.ts +0 -19
  213. package/src/actions/test/setAutomine.test.ts +0 -14
  214. package/src/actions/test/setAutomine.ts +0 -8
  215. package/src/actions/test/setBalance.test.ts +0 -29
  216. package/src/actions/test/setBalance.ts +0 -20
  217. package/src/actions/test/setBlockGasLimit.test.ts +0 -21
  218. package/src/actions/test/setBlockGasLimit.ts +0 -17
  219. package/src/actions/test/setBlockTimestampInterval.test.ts +0 -23
  220. package/src/actions/test/setBlockTimestampInterval.ts +0 -16
  221. package/src/actions/test/setCode.test.ts +0 -26
  222. package/src/actions/test/setCode.ts +0 -19
  223. package/src/actions/test/setCoinbase.test.ts +0 -11
  224. package/src/actions/test/setCoinbase.ts +0 -17
  225. package/src/actions/test/setIntervalMining.test.ts +0 -30
  226. package/src/actions/test/setIntervalMining.ts +0 -16
  227. package/src/actions/test/setLoggingEnabled.test.ts +0 -10
  228. package/src/actions/test/setLoggingEnabled.ts +0 -8
  229. package/src/actions/test/setMinGasPrice.test.ts +0 -22
  230. package/src/actions/test/setMinGasPrice.ts +0 -17
  231. package/src/actions/test/setNextBlockBaseFeePerGas.test.ts +0 -23
  232. package/src/actions/test/setNextBlockBaseFeePerGas.ts +0 -17
  233. package/src/actions/test/setNextBlockTimestamp.test.ts +0 -19
  234. package/src/actions/test/setNextBlockTimestamp.ts +0 -17
  235. package/src/actions/test/setNonce.test.ts +0 -28
  236. package/src/actions/test/setNonce.ts +0 -20
  237. package/src/actions/test/setRpcUrl.test.ts +0 -9
  238. package/src/actions/test/setRpcUrl.ts +0 -8
  239. package/src/actions/test/setStorageAt.test.ts +0 -36
  240. package/src/actions/test/setStorageAt.ts +0 -26
  241. package/src/actions/test/snapshot.test.ts +0 -18
  242. package/src/actions/test/snapshot.ts +0 -7
  243. package/src/actions/test/stopImpersonatingAccount.test.ts +0 -29
  244. package/src/actions/test/stopImpersonatingAccount.ts +0 -17
  245. package/src/actions/wallet/addChain.test.ts +0 -14
  246. package/src/actions/wallet/addChain.ts +0 -21
  247. package/src/actions/wallet/deployContract.test.ts +0 -55
  248. package/src/actions/wallet/deployContract.ts +0 -38
  249. package/src/actions/wallet/getAccounts.test.ts +0 -22
  250. package/src/actions/wallet/getAccounts.ts +0 -7
  251. package/src/actions/wallet/getPermissions.test.ts +0 -24
  252. package/src/actions/wallet/getPermissions.ts +0 -9
  253. package/src/actions/wallet/index.test.ts +0 -21
  254. package/src/actions/wallet/index.ts +0 -36
  255. package/src/actions/wallet/requestAccounts.test.ts +0 -13
  256. package/src/actions/wallet/requestAccounts.ts +0 -7
  257. package/src/actions/wallet/requestPermissions.test.ts +0 -26
  258. package/src/actions/wallet/requestPermissions.ts +0 -19
  259. package/src/actions/wallet/sendTransaction.bench.ts +0 -57
  260. package/src/actions/wallet/sendTransaction.test.ts +0 -440
  261. package/src/actions/wallet/sendTransaction.ts +0 -77
  262. package/src/actions/wallet/signMessage.test.ts +0 -61
  263. package/src/actions/wallet/signMessage.ts +0 -35
  264. package/src/actions/wallet/switchChain.test.ts +0 -21
  265. package/src/actions/wallet/switchChain.ts +0 -19
  266. package/src/actions/wallet/watchAsset.test.ts +0 -40
  267. package/src/actions/wallet/watchAsset.ts +0 -16
  268. package/src/actions/wallet/writeContract.test.ts +0 -84
  269. package/src/actions/wallet/writeContract.ts +0 -47
  270. package/src/chains.test.ts +0 -439
  271. package/src/chains.ts +0 -99
  272. package/src/clients/createClient.test.ts +0 -295
  273. package/src/clients/createClient.ts +0 -81
  274. package/src/clients/createPublicClient.test.ts +0 -165
  275. package/src/clients/createPublicClient.ts +0 -49
  276. package/src/clients/createTestClient.test.ts +0 -145
  277. package/src/clients/createTestClient.ts +0 -72
  278. package/src/clients/createWalletClient.test.ts +0 -121
  279. package/src/clients/createWalletClient.ts +0 -54
  280. package/src/clients/index.test.ts +0 -19
  281. package/src/clients/index.ts +0 -31
  282. package/src/clients/transports/createTransport.test.ts +0 -58
  283. package/src/clients/transports/createTransport.ts +0 -48
  284. package/src/clients/transports/custom.test.ts +0 -98
  285. package/src/clients/transports/custom.ts +0 -34
  286. package/src/clients/transports/fallback.test.ts +0 -393
  287. package/src/clients/transports/fallback.ts +0 -58
  288. package/src/clients/transports/http.test.ts +0 -109
  289. package/src/clients/transports/http.ts +0 -51
  290. package/src/clients/transports/index.test.ts +0 -15
  291. package/src/clients/transports/index.ts +0 -17
  292. package/src/clients/transports/webSocket.test.ts +0 -164
  293. package/src/clients/transports/webSocket.ts +0 -118
  294. package/src/constants/abis.test.ts +0 -53
  295. package/src/constants/abis.ts +0 -44
  296. package/src/constants/index.test.ts +0 -14
  297. package/src/constants/index.ts +0 -3
  298. package/src/constants/solidity.test.ts +0 -41
  299. package/src/constants/solidity.ts +0 -35
  300. package/src/contract.test.ts +0 -32
  301. package/src/contract.ts +0 -68
  302. package/src/ens.test.ts +0 -15
  303. package/src/ens.ts +0 -8
  304. package/src/errors/abi.test.ts +0 -81
  305. package/src/errors/abi.ts +0 -254
  306. package/src/errors/address.test.ts +0 -14
  307. package/src/errors/address.ts +0 -9
  308. package/src/errors/base.test.ts +0 -114
  309. package/src/errors/base.ts +0 -57
  310. package/src/errors/block.test.ts +0 -24
  311. package/src/errors/block.ts +0 -18
  312. package/src/errors/chain.test.ts +0 -46
  313. package/src/errors/chain.ts +0 -33
  314. package/src/errors/contract.test.ts +0 -233
  315. package/src/errors/contract.ts +0 -178
  316. package/src/errors/data.ts +0 -20
  317. package/src/errors/encoding.ts +0 -60
  318. package/src/errors/index.ts +0 -82
  319. package/src/errors/log.ts +0 -8
  320. package/src/errors/request.test.ts +0 -330
  321. package/src/errors/request.ts +0 -163
  322. package/src/errors/rpc.test.ts +0 -87
  323. package/src/errors/rpc.ts +0 -113
  324. package/src/errors/transaction.test.ts +0 -83
  325. package/src/errors/transaction.ts +0 -54
  326. package/src/errors/transport.test.ts +0 -11
  327. package/src/errors/transport.ts +0 -12
  328. package/src/index.test.ts +0 -116
  329. package/src/index.ts +0 -132
  330. package/src/public.test.ts +0 -36
  331. package/src/public.ts +0 -76
  332. package/src/test.test.ts +0 -38
  333. package/src/test.ts +0 -52
  334. package/src/types/block.ts +0 -71
  335. package/src/types/chain.ts +0 -6
  336. package/src/types/contract.ts +0 -497
  337. package/src/types/eip1193.ts +0 -1041
  338. package/src/types/fee.ts +0 -47
  339. package/src/types/filter.ts +0 -8
  340. package/src/types/formatter.ts +0 -23
  341. package/src/types/index.ts +0 -84
  342. package/src/types/log.ts +0 -22
  343. package/src/types/misc.ts +0 -5
  344. package/src/types/multicall.ts +0 -82
  345. package/src/types/rpc.ts +0 -35
  346. package/src/types/transaction.ts +0 -145
  347. package/src/types/utils.ts +0 -88
  348. package/src/types/window.ts +0 -9
  349. package/src/utils/abi/decodeAbi.bench.ts +0 -135
  350. package/src/utils/abi/decodeAbi.test.ts +0 -1614
  351. package/src/utils/abi/decodeAbi.ts +0 -300
  352. package/src/utils/abi/decodeDeployData.test.ts +0 -151
  353. package/src/utils/abi/decodeDeployData.ts +0 -44
  354. package/src/utils/abi/decodeErrorResult.test.ts +0 -230
  355. package/src/utils/abi/decodeErrorResult.ts +0 -45
  356. package/src/utils/abi/decodeEventLog.test.ts +0 -542
  357. package/src/utils/abi/decodeEventLog.ts +0 -107
  358. package/src/utils/abi/decodeFunctionData.test.ts +0 -138
  359. package/src/utils/abi/decodeFunctionData.ts +0 -32
  360. package/src/utils/abi/decodeFunctionResult.test.ts +0 -333
  361. package/src/utils/abi/decodeFunctionResult.ts +0 -57
  362. package/src/utils/abi/encodeAbi.bench.ts +0 -163
  363. package/src/utils/abi/encodeAbi.test.ts +0 -1447
  364. package/src/utils/abi/encodeAbi.ts +0 -273
  365. package/src/utils/abi/encodeDeployData.test.ts +0 -124
  366. package/src/utils/abi/encodeDeployData.ts +0 -40
  367. package/src/utils/abi/encodeErrorResult.test.ts +0 -192
  368. package/src/utils/abi/encodeErrorResult.ts +0 -47
  369. package/src/utils/abi/encodeEventTopics.test.ts +0 -345
  370. package/src/utils/abi/encodeEventTopics.ts +0 -75
  371. package/src/utils/abi/encodeFunctionData.test.ts +0 -138
  372. package/src/utils/abi/encodeFunctionData.ts +0 -42
  373. package/src/utils/abi/encodeFunctionResult.test.ts +0 -279
  374. package/src/utils/abi/encodeFunctionResult.ts +0 -41
  375. package/src/utils/abi/formatAbiItem.test.ts +0 -335
  376. package/src/utils/abi/formatAbiItem.ts +0 -41
  377. package/src/utils/abi/formatAbiItemWithArgs.test.ts +0 -291
  378. package/src/utils/abi/formatAbiItemWithArgs.ts +0 -27
  379. package/src/utils/abi/getAbiItem.test.ts +0 -547
  380. package/src/utils/abi/getAbiItem.ts +0 -95
  381. package/src/utils/abi/index.test.ts +0 -24
  382. package/src/utils/abi/index.ts +0 -48
  383. package/src/utils/address/getAddress.bench.ts +0 -22
  384. package/src/utils/address/getAddress.test.ts +0 -46
  385. package/src/utils/address/getAddress.ts +0 -28
  386. package/src/utils/address/getContractAddress.bench.ts +0 -20
  387. package/src/utils/address/getContractAddress.test.ts +0 -78
  388. package/src/utils/address/getContractAddress.ts +0 -59
  389. package/src/utils/address/index.test.ts +0 -17
  390. package/src/utils/address/index.ts +0 -16
  391. package/src/utils/address/isAddress.test.ts +0 -10
  392. package/src/utils/address/isAddress.ts +0 -10
  393. package/src/utils/address/isAddressEqual.test.ts +0 -55
  394. package/src/utils/address/isAddressEqual.ts +0 -6
  395. package/src/utils/buildRequest.test.ts +0 -428
  396. package/src/utils/buildRequest.ts +0 -72
  397. package/src/utils/chain.test.ts +0 -43
  398. package/src/utils/chain.ts +0 -8
  399. package/src/utils/contract/extractFunctionParts.test.ts +0 -109
  400. package/src/utils/contract/extractFunctionParts.ts +0 -27
  401. package/src/utils/contract/getContractError.test.ts +0 -282
  402. package/src/utils/contract/getContractError.ts +0 -58
  403. package/src/utils/contract/index.test.ts +0 -15
  404. package/src/utils/contract/index.ts +0 -8
  405. package/src/utils/data/concat.test.ts +0 -35
  406. package/src/utils/data/concat.ts +0 -34
  407. package/src/utils/data/index.test.ts +0 -23
  408. package/src/utils/data/index.ts +0 -13
  409. package/src/utils/data/isBytes.test.ts +0 -9
  410. package/src/utils/data/isBytes.ts +0 -7
  411. package/src/utils/data/isHex.test.ts +0 -13
  412. package/src/utils/data/isHex.ts +0 -5
  413. package/src/utils/data/pad.bench.ts +0 -30
  414. package/src/utils/data/pad.test.ts +0 -367
  415. package/src/utils/data/pad.ts +0 -53
  416. package/src/utils/data/size.test.ts +0 -18
  417. package/src/utils/data/size.ts +0 -13
  418. package/src/utils/data/slice.test.ts +0 -203
  419. package/src/utils/data/slice.ts +0 -60
  420. package/src/utils/data/trim.bench.ts +0 -34
  421. package/src/utils/data/trim.test.ts +0 -175
  422. package/src/utils/data/trim.ts +0 -33
  423. package/src/utils/encoding/decodeBytes.bench.ts +0 -40
  424. package/src/utils/encoding/decodeBytes.test.ts +0 -144
  425. package/src/utils/encoding/decodeBytes.ts +0 -63
  426. package/src/utils/encoding/decodeHex.bench.ts +0 -24
  427. package/src/utils/encoding/decodeHex.test.ts +0 -167
  428. package/src/utils/encoding/decodeHex.ts +0 -76
  429. package/src/utils/encoding/decodeRlp.bench.ts +0 -34
  430. package/src/utils/encoding/decodeRlp.test.ts +0 -350
  431. package/src/utils/encoding/decodeRlp.ts +0 -121
  432. package/src/utils/encoding/encodeBytes.bench.ts +0 -29
  433. package/src/utils/encoding/encodeBytes.test.ts +0 -676
  434. package/src/utils/encoding/encodeBytes.ts +0 -59
  435. package/src/utils/encoding/encodeHex.bench.ts +0 -49
  436. package/src/utils/encoding/encodeHex.test.ts +0 -232
  437. package/src/utils/encoding/encodeHex.ts +0 -104
  438. package/src/utils/encoding/encodeRlp.bench.ts +0 -54
  439. package/src/utils/encoding/encodeRlp.test.ts +0 -254
  440. package/src/utils/encoding/encodeRlp.ts +0 -48
  441. package/src/utils/encoding/index.test.ts +0 -32
  442. package/src/utils/encoding/index.ts +0 -36
  443. package/src/utils/ens/index.test.ts +0 -14
  444. package/src/utils/ens/index.ts +0 -7
  445. package/src/utils/ens/labelhash.test.ts +0 -55
  446. package/src/utils/ens/labelhash.ts +0 -16
  447. package/src/utils/ens/namehash.test.ts +0 -65
  448. package/src/utils/ens/namehash.ts +0 -28
  449. package/src/utils/ens/normalize.bench.ts +0 -14
  450. package/src/utils/ens/normalize.test.ts +0 -35
  451. package/src/utils/ens/normalize.ts +0 -14
  452. package/src/utils/ens/packetToBytes.test.ts +0 -11
  453. package/src/utils/ens/packetToBytes.ts +0 -29
  454. package/src/utils/formatters/block.bench.ts +0 -51
  455. package/src/utils/formatters/block.test.ts +0 -115
  456. package/src/utils/formatters/block.ts +0 -37
  457. package/src/utils/formatters/extract.test.ts +0 -14
  458. package/src/utils/formatters/extract.ts +0 -18
  459. package/src/utils/formatters/feeHistory.test.ts +0 -66
  460. package/src/utils/formatters/feeHistory.ts +0 -12
  461. package/src/utils/formatters/format.test.ts +0 -93
  462. package/src/utils/formatters/format.ts +0 -90
  463. package/src/utils/formatters/index.test.ts +0 -27
  464. package/src/utils/formatters/index.ts +0 -34
  465. package/src/utils/formatters/log.test.ts +0 -79
  466. package/src/utils/formatters/log.ts +0 -12
  467. package/src/utils/formatters/transaction.test.ts +0 -271
  468. package/src/utils/formatters/transaction.ts +0 -63
  469. package/src/utils/formatters/transactionReceipt.bench.ts +0 -73
  470. package/src/utils/formatters/transactionReceipt.test.ts +0 -151
  471. package/src/utils/formatters/transactionReceipt.ts +0 -63
  472. package/src/utils/formatters/transactionRequest.bench.ts +0 -29
  473. package/src/utils/formatters/transactionRequest.test.ts +0 -237
  474. package/src/utils/formatters/transactionRequest.ts +0 -56
  475. package/src/utils/hash/getEventSignature.test.ts +0 -61
  476. package/src/utils/hash/getEventSignature.ts +0 -4
  477. package/src/utils/hash/getFunctionSignature.test.ts +0 -22
  478. package/src/utils/hash/getFunctionSignature.ts +0 -5
  479. package/src/utils/hash/hashFunction.test.ts +0 -65
  480. package/src/utils/hash/hashFunction.ts +0 -12
  481. package/src/utils/hash/index.test.ts +0 -13
  482. package/src/utils/hash/index.ts +0 -5
  483. package/src/utils/hash/keccak256.test.ts +0 -59
  484. package/src/utils/hash/keccak256.ts +0 -21
  485. package/src/utils/index.test.ts +0 -111
  486. package/src/utils/index.ts +0 -142
  487. package/src/utils/observe.test.ts +0 -176
  488. package/src/utils/observe.ts +0 -66
  489. package/src/utils/poll.test.ts +0 -127
  490. package/src/utils/poll.ts +0 -42
  491. package/src/utils/promise/index.test.ts +0 -14
  492. package/src/utils/promise/index.ts +0 -3
  493. package/src/utils/promise/withCache.test.ts +0 -97
  494. package/src/utils/promise/withCache.ts +0 -73
  495. package/src/utils/promise/withRetry.test.ts +0 -231
  496. package/src/utils/promise/withRetry.ts +0 -61
  497. package/src/utils/promise/withTimeout.test.ts +0 -37
  498. package/src/utils/promise/withTimeout.ts +0 -39
  499. package/src/utils/rpc.test.ts +0 -990
  500. package/src/utils/rpc.ts +0 -294
  501. package/src/utils/stringify.test.ts +0 -13
  502. package/src/utils/stringify.ts +0 -5
  503. package/src/utils/uid.ts +0 -14
  504. package/src/utils/unit/constants.test.ts +0 -22
  505. package/src/utils/unit/constants.ts +0 -12
  506. package/src/utils/unit/formatEther.test.ts +0 -75
  507. package/src/utils/unit/formatEther.ts +0 -6
  508. package/src/utils/unit/formatGwei.test.ts +0 -32
  509. package/src/utils/unit/formatGwei.ts +0 -6
  510. package/src/utils/unit/formatUnit.bench.ts +0 -21
  511. package/src/utils/unit/formatUnit.test.ts +0 -40
  512. package/src/utils/unit/formatUnit.ts +0 -16
  513. package/src/utils/unit/index.test.ts +0 -28
  514. package/src/utils/unit/index.ts +0 -7
  515. package/src/utils/unit/parseEther.test.ts +0 -126
  516. package/src/utils/unit/parseEther.ts +0 -6
  517. package/src/utils/unit/parseGwei.test.ts +0 -50
  518. package/src/utils/unit/parseGwei.ts +0 -6
  519. package/src/utils/unit/parseUnit.bench.ts +0 -21
  520. package/src/utils/unit/parseUnit.test.ts +0 -54
  521. package/src/utils/unit/parseUnit.ts +0 -27
  522. package/src/utils/wait.ts +0 -3
  523. package/src/wallet.test.ts +0 -19
  524. package/src/wallet.ts +0 -23
  525. 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,84 +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
- ExtractConstructorArgsFromAbi,
19
- ExtractErrorArgsFromAbi,
20
- ExtractErrorNameFromAbi,
21
- ExtractEventArgsFromAbi,
22
- ExtractEventArgsFromTopics,
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
- Prettify,
82
- MergeIntersectionProperties,
83
- OptionalNullable,
84
- } 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,88 +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 Constructs a type by excluding `undefined` from `T`.
34
- *
35
- * @example
36
- * NoUndefined<string | undefined>
37
- * => string
38
- */
39
- export type NoUndefined<T> = T extends undefined ? never : T
40
-
41
- /**
42
- * @description Creates a type that is a partial of T, but with the required keys K.
43
- *
44
- * @example
45
- * PartialBy<{ a: string, b: number }, 'a'>
46
- * => { a?: string, b: number }
47
- */
48
- export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>
49
-
50
- /**
51
- * @description Combines members of an intersection into a readable type.
52
- *
53
- * @link https://twitter.com/mattpocockuk/status/1622730173446557697?s=20&t=NdpAcmEFXY01xkqU3KO0Mg
54
- * @example
55
- * Prettify<{ a: string } | { b: string } | { c: number, d: bigint }>
56
- * => { a: string, b: string, c: number, d: bigint }
57
- */
58
- export type Prettify<T> = {
59
- [K in keyof T]: T[K]
60
- } & {}
61
-
62
- type TrimLeft<T, Chars extends string = ' '> = T extends `${Chars}${infer R}`
63
- ? TrimLeft<R>
64
- : T
65
- type TrimRight<T, Chars extends string = ' '> = T extends `${infer R}${Chars}`
66
- ? TrimRight<R>
67
- : T
68
-
69
- /**
70
- * @description Trims empty space from type T.
71
- *
72
- * @example
73
- * Trim<' lol '>
74
- * => 'lol'
75
- */
76
- export type Trim<T, Chars extends string = ' '> = TrimLeft<
77
- TrimRight<T, Chars>,
78
- Chars
79
- >
80
-
81
- /**
82
- * @description Creates a type that extracts the values of T.
83
- *
84
- * @example
85
- * ValueOf<{ a: string, b: number }>
86
- * => string | number
87
- */
88
- 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
- })