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