essential-eth 0.4.9-beta.1 → 0.4.9-beta.4

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 (498) hide show
  1. package/lib/cjs/classes/Contract.d.ts +71 -0
  2. package/lib/cjs/classes/Contract.js +133 -0
  3. package/lib/cjs/classes/test/Contract/crv-abi.d.ts +2 -0
  4. package/lib/cjs/classes/test/Contract/crv-abi.js +488 -0
  5. package/lib/cjs/classes/test/Contract/ens-abi.d.ts +2 -0
  6. package/lib/cjs/classes/test/Contract/ens-abi.js +453 -0
  7. package/lib/cjs/classes/test/Contract/fei-abi.d.ts +2 -0
  8. package/lib/cjs/classes/test/Contract/fei-abi.js +526 -0
  9. package/lib/cjs/classes/test/Contract/foo-abi.d.ts +2 -0
  10. package/lib/cjs/classes/test/Contract/foo-abi.js +42 -0
  11. package/lib/cjs/classes/test/Contract/uniswap-abi.d.ts +2 -0
  12. package/lib/cjs/classes/test/Contract/uniswap-abi.js +121 -0
  13. package/lib/cjs/classes/utils/clean-block.d.ts +6 -0
  14. package/lib/cjs/classes/utils/clean-block.js +46 -0
  15. package/lib/cjs/classes/utils/clean-transaction.d.ts +5 -0
  16. package/lib/cjs/classes/utils/clean-transaction.js +38 -0
  17. package/lib/cjs/classes/utils/encode-decode-transaction.d.ts +3 -0
  18. package/lib/cjs/classes/utils/encode-decode-transaction.js +113 -0
  19. package/lib/cjs/classes/utils/fetchers.d.ts +9 -0
  20. package/lib/cjs/classes/utils/fetchers.js +33 -0
  21. package/{src/classes/utils/hex-to-decimal.ts → lib/cjs/classes/utils/hex-to-decimal.d.ts} +1 -3
  22. package/lib/cjs/classes/utils/hex-to-decimal.js +11 -0
  23. package/lib/cjs/index.d.ts +13 -0
  24. package/lib/cjs/index.js +44 -0
  25. package/lib/cjs/providers/JsonRpcProvider.d.ts +23 -0
  26. package/lib/cjs/providers/JsonRpcProvider.js +94 -0
  27. package/lib/cjs/providers/utils/chains-info.d.ts +360 -0
  28. package/lib/cjs/providers/utils/chains-info.js +1081 -0
  29. package/lib/cjs/shared/tiny-big/helpers.d.ts +1 -0
  30. package/lib/cjs/shared/tiny-big/helpers.js +71 -0
  31. package/lib/cjs/shared/tiny-big/tiny-big.d.ts +19 -0
  32. package/lib/cjs/shared/tiny-big/tiny-big.js +41 -0
  33. package/lib/cjs/shared/validate-type.d.ts +3 -0
  34. package/lib/cjs/shared/validate-type.js +9 -0
  35. package/lib/cjs/types/Block.types.d.ts +47 -0
  36. package/lib/cjs/types/Block.types.js +2 -0
  37. package/lib/cjs/types/Contract.types.d.ts +24 -0
  38. package/lib/cjs/types/Contract.types.js +2 -0
  39. package/lib/cjs/types/Network.types.d.ts +8 -0
  40. package/lib/cjs/types/Network.types.js +2 -0
  41. package/lib/cjs/types/Transaction.types.d.ts +34 -0
  42. package/lib/cjs/types/Transaction.types.js +2 -0
  43. package/{src/utils/ether-to-wei.ts → lib/cjs/utils/ether-to-wei.d.ts} +2 -10
  44. package/lib/cjs/utils/ether-to-wei.js +32 -0
  45. package/{src/utils/index.ts → lib/cjs/utils/index.d.ts} +0 -1
  46. package/lib/cjs/utils/index.js +11 -0
  47. package/lib/cjs/utils/is-address.d.ts +5 -0
  48. package/lib/cjs/utils/is-address.js +20 -0
  49. package/lib/cjs/utils/to-checksum-address.d.ts +17 -0
  50. package/lib/cjs/utils/to-checksum-address.js +46 -0
  51. package/{src/utils/wei-to-ether.ts → lib/cjs/utils/wei-to-ether.d.ts} +1 -8
  52. package/lib/cjs/utils/wei-to-ether.js +34 -0
  53. package/lib/esm/classes/Contract.d.ts +11 -0
  54. package/lib/esm/classes/Contract.js +70 -0
  55. package/lib/esm/classes/test/Contract/crv-abi.d.ts +2 -0
  56. package/lib/esm/classes/test/Contract/crv-abi.js +470 -0
  57. package/lib/esm/classes/test/Contract/ens-abi.d.ts +2 -0
  58. package/lib/esm/classes/test/Contract/ens-abi.js +435 -0
  59. package/lib/esm/classes/test/Contract/fei-abi.d.ts +2 -0
  60. package/lib/esm/classes/test/Contract/fei-abi.js +521 -0
  61. package/lib/esm/classes/test/Contract/foo-abi.d.ts +2 -0
  62. package/lib/esm/classes/test/Contract/foo-abi.js +33 -0
  63. package/lib/esm/classes/test/Contract/uniswap-abi.d.ts +2 -0
  64. package/lib/esm/classes/test/Contract/uniswap-abi.js +116 -0
  65. package/lib/esm/classes/utils/clean-block.d.ts +3 -0
  66. package/lib/esm/classes/utils/clean-block.js +35 -0
  67. package/lib/esm/classes/utils/clean-transaction.d.ts +2 -0
  68. package/lib/esm/classes/utils/clean-transaction.js +29 -0
  69. package/lib/esm/classes/utils/encode-decode-transaction.d.ts +3 -0
  70. package/lib/esm/classes/utils/encode-decode-transaction.js +98 -0
  71. package/lib/esm/classes/utils/fetchers.d.ts +9 -0
  72. package/lib/esm/classes/utils/fetchers.js +25 -0
  73. package/lib/esm/classes/utils/hex-to-decimal.d.ts +1 -0
  74. package/lib/esm/classes/utils/hex-to-decimal.js +3 -0
  75. package/lib/esm/index.d.ts +13 -0
  76. package/lib/esm/index.js +9 -0
  77. package/lib/esm/providers/JsonRpcProvider.d.ts +10 -0
  78. package/lib/esm/providers/JsonRpcProvider.js +74 -0
  79. package/lib/esm/providers/utils/chains-info.d.ts +360 -0
  80. package/lib/esm/providers/utils/chains-info.js +1077 -0
  81. package/lib/esm/shared/tiny-big/helpers.d.ts +1 -0
  82. package/lib/esm/shared/tiny-big/helpers.js +58 -0
  83. package/lib/esm/shared/tiny-big/tiny-big.d.ts +8 -0
  84. package/lib/esm/shared/tiny-big/tiny-big.js +22 -0
  85. package/lib/esm/shared/validate-type.d.ts +3 -0
  86. package/lib/esm/shared/validate-type.js +5 -0
  87. package/lib/esm/types/Block.types.d.ts +47 -0
  88. package/lib/esm/types/Block.types.js +1 -0
  89. package/lib/esm/types/Contract.types.d.ts +24 -0
  90. package/lib/esm/types/Contract.types.js +1 -0
  91. package/lib/esm/types/Network.types.d.ts +5 -0
  92. package/lib/esm/types/Network.types.js +1 -0
  93. package/lib/esm/types/Transaction.types.d.ts +34 -0
  94. package/lib/esm/types/Transaction.types.js +1 -0
  95. package/lib/esm/utils/ether-to-wei.d.ts +3 -0
  96. package/lib/esm/utils/ether-to-wei.js +7 -0
  97. package/lib/esm/utils/index.d.ts +5 -0
  98. package/lib/esm/utils/index.js +5 -0
  99. package/lib/esm/utils/is-address.d.ts +1 -0
  100. package/lib/esm/utils/is-address.js +12 -0
  101. package/lib/esm/utils/to-checksum-address.d.ts +1 -0
  102. package/lib/esm/utils/to-checksum-address.js +25 -0
  103. package/lib/esm/utils/wei-to-ether.d.ts +3 -0
  104. package/lib/esm/utils/wei-to-ether.js +7 -0
  105. package/package.json +8 -22
  106. package/..eslintrc.js.un~ +0 -0
  107. package/..npmignore.un~ +0 -0
  108. package/.env +0 -1
  109. package/.eslintignore +0 -4
  110. package/.eslintrc.js +0 -34
  111. package/.gitattributes +0 -1
  112. package/.github/workflows/.test.yml.un~ +0 -0
  113. package/.github/workflows/test.yml +0 -29
  114. package/.package.json.un~ +0 -0
  115. package/.prettierignore +0 -7
  116. package/.travis.yml +0 -5
  117. package/jest.config.js +0 -9
  118. package/scripts/build-website.sh +0 -4
  119. package/scripts/bump-minor.sh +0 -4
  120. package/scripts/bump-patch.sh +0 -4
  121. package/scripts/fetch-chains-info.ts +0 -70
  122. package/scripts/pre-commit.sh +0 -5
  123. package/src/classes/Contract.ts +0 -161
  124. package/src/classes/test/Contract/crv-abi.ts +0 -488
  125. package/src/classes/test/Contract/crv.test.ts +0 -56
  126. package/src/classes/test/Contract/ens-abi.ts +0 -452
  127. package/src/classes/test/Contract/ens.test.ts +0 -39
  128. package/src/classes/test/Contract/fei-abi.ts +0 -526
  129. package/src/classes/test/Contract/fei.test.ts +0 -86
  130. package/src/classes/test/Contract/foo-abi.ts +0 -42
  131. package/src/classes/test/Contract/foo.test.ts +0 -33
  132. package/src/classes/test/Contract/uni.test.ts +0 -72
  133. package/src/classes/test/Contract/uniswap-abi.ts +0 -121
  134. package/src/classes/utils/clean-block.ts +0 -49
  135. package/src/classes/utils/clean-transaction.ts +0 -35
  136. package/src/classes/utils/encode-decode-transaction.ts +0 -126
  137. package/src/classes/utils/fetchers.ts +0 -27
  138. package/src/index.ts +0 -27
  139. package/src/providers/JsonRpcProvider.ts +0 -94
  140. package/src/providers/test/get-block.test.ts +0 -63
  141. package/src/providers/test/get-network.test.ts +0 -34
  142. package/src/providers/utils/chains-info.ts +0 -1079
  143. package/src/shared/tiny-big/helpers.test.ts +0 -30
  144. package/src/shared/tiny-big/helpers.ts +0 -89
  145. package/src/shared/tiny-big/tiny-big.test.ts +0 -10
  146. package/src/shared/tiny-big/tiny-big.ts +0 -36
  147. package/src/shared/validate-type.ts +0 -20
  148. package/src/types/.Contract.types.ts.un~ +0 -0
  149. package/src/types/Block.types.ts +0 -50
  150. package/src/types/Contract.types.ts +0 -67
  151. package/src/types/Network.types.ts +0 -8
  152. package/src/types/Transaction.types.ts +0 -35
  153. package/src/utils/is-address.ts +0 -16
  154. package/src/utils/tests/ether-to-wei.test.ts +0 -65
  155. package/src/utils/tests/is-address.test.ts +0 -52
  156. package/src/utils/tests/to-checksum-address.test.ts +0 -43
  157. package/src/utils/tests/wei-to-ether.test.ts +0 -72
  158. package/src/utils/to-checksum-address.ts +0 -47
  159. package/test/global-setup.js +0 -8
  160. package/test/global-teardown.js +0 -5
  161. package/test/jest.setup-after-env.js +0 -1
  162. package/test/server.js +0 -24
  163. package/tsconfig-cjs.json +0 -8
  164. package/tsconfig.json +0 -25
  165. package/typedoc/options-new-version.js +0 -8
  166. package/typedoc/options.js +0 -9
  167. package/types/just-omit.d.ts +0 -1
  168. package/website/.nojekyll +0 -1
  169. package/website/assets/highlight.css +0 -71
  170. package/website/assets/icons.css +0 -1043
  171. package/website/assets/icons.png +0 -0
  172. package/website/assets/icons@2x.png +0 -0
  173. package/website/assets/main.js +0 -52
  174. package/website/assets/search.js +0 -1
  175. package/website/assets/style.css +0 -1413
  176. package/website/assets/widgets.png +0 -0
  177. package/website/assets/widgets@2x.png +0 -0
  178. package/website/classes/Contract.html +0 -13
  179. package/website/classes/JsonRpcProvider.html +0 -8
  180. package/website/classes/TinyBig.html +0 -161
  181. package/website/index.html +0 -207
  182. package/website/interfaces/Block.html +0 -1
  183. package/website/interfaces/JSONABIArgument.html +0 -1
  184. package/website/interfaces/Network.html +0 -3
  185. package/website/interfaces/Transaction.html +0 -1
  186. package/website/modules.html +0 -32
  187. package/website/versions/0.1.2/assets/highlight.css +0 -57
  188. package/website/versions/0.1.2/assets/icons.css +0 -1043
  189. package/website/versions/0.1.2/assets/icons.png +0 -0
  190. package/website/versions/0.1.2/assets/icons@2x.png +0 -0
  191. package/website/versions/0.1.2/assets/main.js +0 -52
  192. package/website/versions/0.1.2/assets/search.js +0 -1
  193. package/website/versions/0.1.2/assets/style.css +0 -1341
  194. package/website/versions/0.1.2/assets/widgets.png +0 -0
  195. package/website/versions/0.1.2/assets/widgets@2x.png +0 -0
  196. package/website/versions/0.1.2/classes/TinyBig.html +0 -4
  197. package/website/versions/0.1.2/index.html +0 -20
  198. package/website/versions/0.1.2/modules.html +0 -23
  199. package/website/versions/0.1.3/assets/highlight.css +0 -64
  200. package/website/versions/0.1.3/assets/icons.css +0 -1043
  201. package/website/versions/0.1.3/assets/icons.png +0 -0
  202. package/website/versions/0.1.3/assets/icons@2x.png +0 -0
  203. package/website/versions/0.1.3/assets/main.js +0 -52
  204. package/website/versions/0.1.3/assets/search.js +0 -1
  205. package/website/versions/0.1.3/assets/style.css +0 -1341
  206. package/website/versions/0.1.3/assets/widgets.png +0 -0
  207. package/website/versions/0.1.3/assets/widgets@2x.png +0 -0
  208. package/website/versions/0.1.3/classes/TinyBig.html +0 -4
  209. package/website/versions/0.1.3/index.html +0 -53
  210. package/website/versions/0.1.3/modules.html +0 -23
  211. package/website/versions/0.1.4/assets/highlight.css +0 -64
  212. package/website/versions/0.1.4/assets/icons.css +0 -1043
  213. package/website/versions/0.1.4/assets/icons.png +0 -0
  214. package/website/versions/0.1.4/assets/icons@2x.png +0 -0
  215. package/website/versions/0.1.4/assets/main.js +0 -52
  216. package/website/versions/0.1.4/assets/search.js +0 -1
  217. package/website/versions/0.1.4/assets/style.css +0 -1341
  218. package/website/versions/0.1.4/assets/widgets.png +0 -0
  219. package/website/versions/0.1.4/assets/widgets@2x.png +0 -0
  220. package/website/versions/0.1.4/classes/EssentialEth.html +0 -1
  221. package/website/versions/0.1.4/classes/TinyBig.html +0 -4
  222. package/website/versions/0.1.4/index.html +0 -58
  223. package/website/versions/0.1.4/modules.html +0 -23
  224. package/website/versions/0.2.0/assets/highlight.css +0 -64
  225. package/website/versions/0.2.0/assets/icons.css +0 -1043
  226. package/website/versions/0.2.0/assets/icons.png +0 -0
  227. package/website/versions/0.2.0/assets/icons@2x.png +0 -0
  228. package/website/versions/0.2.0/assets/main.js +0 -52
  229. package/website/versions/0.2.0/assets/search.js +0 -1
  230. package/website/versions/0.2.0/assets/style.css +0 -1341
  231. package/website/versions/0.2.0/assets/widgets.png +0 -0
  232. package/website/versions/0.2.0/assets/widgets@2x.png +0 -0
  233. package/website/versions/0.2.0/classes/EssentialEth.html +0 -5
  234. package/website/versions/0.2.0/classes/TinyBig.html +0 -146
  235. package/website/versions/0.2.0/index.html +0 -89
  236. package/website/versions/0.2.0/modules.html +0 -25
  237. package/website/versions/0.2.1/assets/highlight.css +0 -64
  238. package/website/versions/0.2.1/assets/icons.css +0 -1043
  239. package/website/versions/0.2.1/assets/icons.png +0 -0
  240. package/website/versions/0.2.1/assets/icons@2x.png +0 -0
  241. package/website/versions/0.2.1/assets/main.js +0 -52
  242. package/website/versions/0.2.1/assets/search.js +0 -1
  243. package/website/versions/0.2.1/assets/style.css +0 -1341
  244. package/website/versions/0.2.1/assets/widgets.png +0 -0
  245. package/website/versions/0.2.1/assets/widgets@2x.png +0 -0
  246. package/website/versions/0.2.1/classes/EssentialEth.html +0 -5
  247. package/website/versions/0.2.1/classes/TinyBig.html +0 -146
  248. package/website/versions/0.2.1/index.html +0 -96
  249. package/website/versions/0.2.1/modules.html +0 -29
  250. package/website/versions/0.2.2/assets/highlight.css +0 -64
  251. package/website/versions/0.2.2/assets/icons.css +0 -1043
  252. package/website/versions/0.2.2/assets/icons.png +0 -0
  253. package/website/versions/0.2.2/assets/icons@2x.png +0 -0
  254. package/website/versions/0.2.2/assets/main.js +0 -52
  255. package/website/versions/0.2.2/assets/search.js +0 -1
  256. package/website/versions/0.2.2/assets/style.css +0 -1341
  257. package/website/versions/0.2.2/assets/widgets.png +0 -0
  258. package/website/versions/0.2.2/assets/widgets@2x.png +0 -0
  259. package/website/versions/0.2.2/classes/EssentialEth.html +0 -5
  260. package/website/versions/0.2.2/classes/TinyBig.html +0 -146
  261. package/website/versions/0.2.2/index.html +0 -96
  262. package/website/versions/0.2.2/modules.html +0 -29
  263. package/website/versions/0.3.0/.nojekyll +0 -1
  264. package/website/versions/0.3.0/assets/highlight.css +0 -71
  265. package/website/versions/0.3.0/assets/icons.css +0 -1043
  266. package/website/versions/0.3.0/assets/icons.png +0 -0
  267. package/website/versions/0.3.0/assets/icons@2x.png +0 -0
  268. package/website/versions/0.3.0/assets/main.js +0 -52
  269. package/website/versions/0.3.0/assets/search.js +0 -1
  270. package/website/versions/0.3.0/assets/style.css +0 -1384
  271. package/website/versions/0.3.0/assets/widgets.png +0 -0
  272. package/website/versions/0.3.0/assets/widgets@2x.png +0 -0
  273. package/website/versions/0.3.0/classes/Contract.html +0 -15
  274. package/website/versions/0.3.0/classes/TinyBig.html +0 -156
  275. package/website/versions/0.3.0/index.html +0 -123
  276. package/website/versions/0.3.0/modules.html +0 -32
  277. package/website/versions/0.3.1/.nojekyll +0 -1
  278. package/website/versions/0.3.1/assets/highlight.css +0 -71
  279. package/website/versions/0.3.1/assets/icons.css +0 -1043
  280. package/website/versions/0.3.1/assets/icons.png +0 -0
  281. package/website/versions/0.3.1/assets/icons@2x.png +0 -0
  282. package/website/versions/0.3.1/assets/main.js +0 -52
  283. package/website/versions/0.3.1/assets/search.js +0 -1
  284. package/website/versions/0.3.1/assets/style.css +0 -1384
  285. package/website/versions/0.3.1/assets/widgets.png +0 -0
  286. package/website/versions/0.3.1/assets/widgets@2x.png +0 -0
  287. package/website/versions/0.3.1/classes/Contract.html +0 -15
  288. package/website/versions/0.3.1/classes/TinyBig.html +0 -156
  289. package/website/versions/0.3.1/index.html +0 -123
  290. package/website/versions/0.3.1/modules.html +0 -32
  291. package/website/versions/0.3.2/.nojekyll +0 -1
  292. package/website/versions/0.3.2/assets/highlight.css +0 -71
  293. package/website/versions/0.3.2/assets/icons.css +0 -1043
  294. package/website/versions/0.3.2/assets/icons.png +0 -0
  295. package/website/versions/0.3.2/assets/icons@2x.png +0 -0
  296. package/website/versions/0.3.2/assets/main.js +0 -52
  297. package/website/versions/0.3.2/assets/search.js +0 -1
  298. package/website/versions/0.3.2/assets/style.css +0 -1384
  299. package/website/versions/0.3.2/assets/widgets.png +0 -0
  300. package/website/versions/0.3.2/assets/widgets@2x.png +0 -0
  301. package/website/versions/0.3.2/classes/Contract.html +0 -15
  302. package/website/versions/0.3.2/classes/JsonRpcProvider.html +0 -5
  303. package/website/versions/0.3.2/classes/TinyBig.html +0 -156
  304. package/website/versions/0.3.2/index.html +0 -123
  305. package/website/versions/0.3.2/modules.html +0 -32
  306. package/website/versions/0.3.3/.nojekyll +0 -1
  307. package/website/versions/0.3.3/assets/highlight.css +0 -71
  308. package/website/versions/0.3.3/assets/icons.css +0 -1043
  309. package/website/versions/0.3.3/assets/icons.png +0 -0
  310. package/website/versions/0.3.3/assets/icons@2x.png +0 -0
  311. package/website/versions/0.3.3/assets/main.js +0 -52
  312. package/website/versions/0.3.3/assets/search.js +0 -1
  313. package/website/versions/0.3.3/assets/style.css +0 -1384
  314. package/website/versions/0.3.3/assets/widgets.png +0 -0
  315. package/website/versions/0.3.3/assets/widgets@2x.png +0 -0
  316. package/website/versions/0.3.3/classes/Contract.html +0 -15
  317. package/website/versions/0.3.3/classes/JsonRpcProvider.html +0 -5
  318. package/website/versions/0.3.3/classes/TinyBig.html +0 -156
  319. package/website/versions/0.3.3/index.html +0 -123
  320. package/website/versions/0.3.3/interfaces/Block.html +0 -1
  321. package/website/versions/0.3.3/interfaces/Transaction.html +0 -1
  322. package/website/versions/0.3.3/modules.html +0 -32
  323. package/website/versions/0.4.0/.nojekyll +0 -1
  324. package/website/versions/0.4.0/assets/highlight.css +0 -71
  325. package/website/versions/0.4.0/assets/icons.css +0 -1043
  326. package/website/versions/0.4.0/assets/icons.png +0 -0
  327. package/website/versions/0.4.0/assets/icons@2x.png +0 -0
  328. package/website/versions/0.4.0/assets/main.js +0 -52
  329. package/website/versions/0.4.0/assets/search.js +0 -1
  330. package/website/versions/0.4.0/assets/style.css +0 -1384
  331. package/website/versions/0.4.0/assets/widgets.png +0 -0
  332. package/website/versions/0.4.0/assets/widgets@2x.png +0 -0
  333. package/website/versions/0.4.0/classes/Contract.html +0 -15
  334. package/website/versions/0.4.0/classes/JsonRpcProvider.html +0 -6
  335. package/website/versions/0.4.0/classes/TinyBig.html +0 -156
  336. package/website/versions/0.4.0/index.html +0 -148
  337. package/website/versions/0.4.0/interfaces/Block.html +0 -1
  338. package/website/versions/0.4.0/interfaces/Transaction.html +0 -1
  339. package/website/versions/0.4.0/modules.html +0 -32
  340. package/website/versions/0.4.1/.nojekyll +0 -1
  341. package/website/versions/0.4.1/assets/highlight.css +0 -71
  342. package/website/versions/0.4.1/assets/icons.css +0 -1043
  343. package/website/versions/0.4.1/assets/icons.png +0 -0
  344. package/website/versions/0.4.1/assets/icons@2x.png +0 -0
  345. package/website/versions/0.4.1/assets/main.js +0 -52
  346. package/website/versions/0.4.1/assets/search.js +0 -1
  347. package/website/versions/0.4.1/assets/style.css +0 -1384
  348. package/website/versions/0.4.1/assets/widgets.png +0 -0
  349. package/website/versions/0.4.1/assets/widgets@2x.png +0 -0
  350. package/website/versions/0.4.1/classes/Contract.html +0 -15
  351. package/website/versions/0.4.1/classes/JsonRpcProvider.html +0 -6
  352. package/website/versions/0.4.1/classes/TinyBig.html +0 -156
  353. package/website/versions/0.4.1/index.html +0 -148
  354. package/website/versions/0.4.1/interfaces/Block.html +0 -1
  355. package/website/versions/0.4.1/interfaces/Transaction.html +0 -1
  356. package/website/versions/0.4.1/modules.html +0 -32
  357. package/website/versions/0.4.2/.nojekyll +0 -1
  358. package/website/versions/0.4.2/assets/highlight.css +0 -71
  359. package/website/versions/0.4.2/assets/icons.css +0 -1043
  360. package/website/versions/0.4.2/assets/icons.png +0 -0
  361. package/website/versions/0.4.2/assets/icons@2x.png +0 -0
  362. package/website/versions/0.4.2/assets/main.js +0 -52
  363. package/website/versions/0.4.2/assets/search.js +0 -1
  364. package/website/versions/0.4.2/assets/style.css +0 -1384
  365. package/website/versions/0.4.2/assets/widgets.png +0 -0
  366. package/website/versions/0.4.2/assets/widgets@2x.png +0 -0
  367. package/website/versions/0.4.2/classes/Contract.html +0 -15
  368. package/website/versions/0.4.2/classes/JsonRpcProvider.html +0 -8
  369. package/website/versions/0.4.2/classes/TinyBig.html +0 -156
  370. package/website/versions/0.4.2/index.html +0 -199
  371. package/website/versions/0.4.2/interfaces/Block.html +0 -1
  372. package/website/versions/0.4.2/interfaces/Transaction.html +0 -1
  373. package/website/versions/0.4.2/modules.html +0 -34
  374. package/website/versions/0.4.3/.nojekyll +0 -1
  375. package/website/versions/0.4.3/assets/highlight.css +0 -71
  376. package/website/versions/0.4.3/assets/icons.css +0 -1043
  377. package/website/versions/0.4.3/assets/icons.png +0 -0
  378. package/website/versions/0.4.3/assets/icons@2x.png +0 -0
  379. package/website/versions/0.4.3/assets/main.js +0 -52
  380. package/website/versions/0.4.3/assets/search.js +0 -1
  381. package/website/versions/0.4.3/assets/style.css +0 -1384
  382. package/website/versions/0.4.3/assets/widgets.png +0 -0
  383. package/website/versions/0.4.3/assets/widgets@2x.png +0 -0
  384. package/website/versions/0.4.3/classes/Contract.html +0 -15
  385. package/website/versions/0.4.3/classes/JsonRpcProvider.html +0 -8
  386. package/website/versions/0.4.3/classes/TinyBig.html +0 -159
  387. package/website/versions/0.4.3/index.html +0 -199
  388. package/website/versions/0.4.3/interfaces/Block.html +0 -1
  389. package/website/versions/0.4.3/interfaces/Transaction.html +0 -1
  390. package/website/versions/0.4.3/modules.html +0 -34
  391. package/website/versions/0.4.6/.nojekyll +0 -1
  392. package/website/versions/0.4.6/assets/highlight.css +0 -71
  393. package/website/versions/0.4.6/assets/icons.css +0 -1043
  394. package/website/versions/0.4.6/assets/icons.png +0 -0
  395. package/website/versions/0.4.6/assets/icons@2x.png +0 -0
  396. package/website/versions/0.4.6/assets/main.js +0 -52
  397. package/website/versions/0.4.6/assets/search.js +0 -1
  398. package/website/versions/0.4.6/assets/style.css +0 -1413
  399. package/website/versions/0.4.6/assets/widgets.png +0 -0
  400. package/website/versions/0.4.6/assets/widgets@2x.png +0 -0
  401. package/website/versions/0.4.6/classes/Contract.html +0 -15
  402. package/website/versions/0.4.6/classes/JsonRpcProvider.html +0 -8
  403. package/website/versions/0.4.6/classes/TinyBig.html +0 -159
  404. package/website/versions/0.4.6/index.html +0 -207
  405. package/website/versions/0.4.6/interfaces/Block.html +0 -1
  406. package/website/versions/0.4.6/interfaces/Transaction.html +0 -1
  407. package/website/versions/0.4.6/modules.html +0 -34
  408. package/website/versions/0.4.8/.nojekyll +0 -1
  409. package/website/versions/0.4.8/assets/highlight.css +0 -71
  410. package/website/versions/0.4.8/assets/icons.css +0 -1043
  411. package/website/versions/0.4.8/assets/icons.png +0 -0
  412. package/website/versions/0.4.8/assets/icons@2x.png +0 -0
  413. package/website/versions/0.4.8/assets/main.js +0 -52
  414. package/website/versions/0.4.8/assets/search.js +0 -1
  415. package/website/versions/0.4.8/assets/style.css +0 -1413
  416. package/website/versions/0.4.8/assets/widgets.png +0 -0
  417. package/website/versions/0.4.8/assets/widgets@2x.png +0 -0
  418. package/website/versions/0.4.8/classes/Contract.html +0 -15
  419. package/website/versions/0.4.8/classes/JsonRpcProvider.html +0 -8
  420. package/website/versions/0.4.8/classes/TinyBig.html +0 -161
  421. package/website/versions/0.4.8/index.html +0 -207
  422. package/website/versions/0.4.8/interfaces/Block.html +0 -1
  423. package/website/versions/0.4.8/interfaces/Transaction.html +0 -1
  424. package/website/versions/0.4.8/modules.html +0 -34
  425. package/website/versions/0.4.9-beta.0/.nojekyll +0 -1
  426. package/website/versions/0.4.9-beta.0/assets/highlight.css +0 -71
  427. package/website/versions/0.4.9-beta.0/assets/icons.css +0 -1043
  428. package/website/versions/0.4.9-beta.0/assets/icons.png +0 -0
  429. package/website/versions/0.4.9-beta.0/assets/icons@2x.png +0 -0
  430. package/website/versions/0.4.9-beta.0/assets/main.js +0 -52
  431. package/website/versions/0.4.9-beta.0/assets/search.js +0 -1
  432. package/website/versions/0.4.9-beta.0/assets/style.css +0 -1413
  433. package/website/versions/0.4.9-beta.0/assets/widgets.png +0 -0
  434. package/website/versions/0.4.9-beta.0/assets/widgets@2x.png +0 -0
  435. package/website/versions/0.4.9-beta.0/classes/Contract.html +0 -13
  436. package/website/versions/0.4.9-beta.0/classes/JsonRpcProvider.html +0 -8
  437. package/website/versions/0.4.9-beta.0/classes/TinyBig.html +0 -161
  438. package/website/versions/0.4.9-beta.0/index.html +0 -207
  439. package/website/versions/0.4.9-beta.0/interfaces/Block.html +0 -1
  440. package/website/versions/0.4.9-beta.0/interfaces/JSONABIArgument.html +0 -1
  441. package/website/versions/0.4.9-beta.0/interfaces/Network.html +0 -3
  442. package/website/versions/0.4.9-beta.0/interfaces/Transaction.html +0 -1
  443. package/website/versions/0.4.9-beta.0/modules.html +0 -32
  444. package/website/versions/0.4.9-beta.1/.nojekyll +0 -1
  445. package/website/versions/0.4.9-beta.1/assets/highlight.css +0 -71
  446. package/website/versions/0.4.9-beta.1/assets/icons.css +0 -1043
  447. package/website/versions/0.4.9-beta.1/assets/icons.png +0 -0
  448. package/website/versions/0.4.9-beta.1/assets/icons@2x.png +0 -0
  449. package/website/versions/0.4.9-beta.1/assets/main.js +0 -52
  450. package/website/versions/0.4.9-beta.1/assets/search.js +0 -1
  451. package/website/versions/0.4.9-beta.1/assets/style.css +0 -1413
  452. package/website/versions/0.4.9-beta.1/assets/widgets.png +0 -0
  453. package/website/versions/0.4.9-beta.1/assets/widgets@2x.png +0 -0
  454. package/website/versions/0.4.9-beta.1/classes/Contract.html +0 -13
  455. package/website/versions/0.4.9-beta.1/classes/JsonRpcProvider.html +0 -8
  456. package/website/versions/0.4.9-beta.1/classes/TinyBig.html +0 -161
  457. package/website/versions/0.4.9-beta.1/index.html +0 -207
  458. package/website/versions/0.4.9-beta.1/interfaces/Block.html +0 -1
  459. package/website/versions/0.4.9-beta.1/interfaces/JSONABIArgument.html +0 -1
  460. package/website/versions/0.4.9-beta.1/interfaces/Network.html +0 -3
  461. package/website/versions/0.4.9-beta.1/interfaces/Transaction.html +0 -1
  462. package/website/versions/0.4.9-beta.1/modules.html +0 -32
  463. package/website/versions/versions/0.1.2/assets/highlight.css +0 -57
  464. package/website/versions/versions/0.1.2/assets/icons.css +0 -1043
  465. package/website/versions/versions/0.1.2/assets/icons.png +0 -0
  466. package/website/versions/versions/0.1.2/assets/icons@2x.png +0 -0
  467. package/website/versions/versions/0.1.2/assets/main.js +0 -52
  468. package/website/versions/versions/0.1.2/assets/search.js +0 -1
  469. package/website/versions/versions/0.1.2/assets/style.css +0 -1341
  470. package/website/versions/versions/0.1.2/assets/widgets.png +0 -0
  471. package/website/versions/versions/0.1.2/assets/widgets@2x.png +0 -0
  472. package/website/versions/versions/0.1.2/classes/TinyBig.html +0 -4
  473. package/website/versions/versions/0.1.2/index.html +0 -20
  474. package/website/versions/versions/0.1.2/modules.html +0 -23
  475. package/website/versions/versions/0.1.3/assets/highlight.css +0 -64
  476. package/website/versions/versions/0.1.3/assets/icons.css +0 -1043
  477. package/website/versions/versions/0.1.3/assets/icons.png +0 -0
  478. package/website/versions/versions/0.1.3/assets/icons@2x.png +0 -0
  479. package/website/versions/versions/0.1.3/assets/main.js +0 -52
  480. package/website/versions/versions/0.1.3/assets/search.js +0 -1
  481. package/website/versions/versions/0.1.3/assets/style.css +0 -1341
  482. package/website/versions/versions/0.1.3/assets/widgets.png +0 -0
  483. package/website/versions/versions/0.1.3/assets/widgets@2x.png +0 -0
  484. package/website/versions/versions/0.1.3/classes/TinyBig.html +0 -4
  485. package/website/versions/versions/0.1.3/index.html +0 -53
  486. package/website/versions/versions/0.1.3/modules.html +0 -23
  487. package/website/versions/versions/0.1.4/assets/highlight.css +0 -64
  488. package/website/versions/versions/0.1.4/assets/icons.css +0 -1043
  489. package/website/versions/versions/0.1.4/assets/icons.png +0 -0
  490. package/website/versions/versions/0.1.4/assets/icons@2x.png +0 -0
  491. package/website/versions/versions/0.1.4/assets/main.js +0 -52
  492. package/website/versions/versions/0.1.4/assets/search.js +0 -1
  493. package/website/versions/versions/0.1.4/assets/style.css +0 -1341
  494. package/website/versions/versions/0.1.4/assets/widgets.png +0 -0
  495. package/website/versions/versions/0.1.4/assets/widgets@2x.png +0 -0
  496. package/website/versions/versions/0.1.4/classes/TinyBig.html +0 -4
  497. package/website/versions/versions/0.1.4/index.html +0 -58
  498. package/website/versions/versions/0.1.4/modules.html +0 -23
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanBlock = void 0;
4
+ const __1 = require("../..");
5
+ const clean_transaction_1 = require("./clean-transaction");
6
+ const hex_to_decimal_1 = require("./hex-to-decimal");
7
+ /**
8
+ * Converts hex to decimal and checksum-addresses all addresses
9
+ */
10
+ function cleanBlock(block, returnTransactionObjects) {
11
+ const cleanedBlock = Object.assign({}, block);
12
+ Object.keys(block).forEach((key) => {
13
+ // pending blocks have null instead of a difficulty
14
+ // pending blocks have null instead of a miner address
15
+ if (!block[key])
16
+ return;
17
+ switch (key) {
18
+ case 'gasLimit':
19
+ case 'gasUsed':
20
+ case 'number':
21
+ case 'size':
22
+ case 'timestamp':
23
+ case 'baseFeePerGas':
24
+ cleanedBlock[key] = Number((0, hex_to_decimal_1.hexToDecimal)(block[key]));
25
+ break;
26
+ case 'difficulty':
27
+ case 'totalDifficulty':
28
+ cleanedBlock[key] = (0, hex_to_decimal_1.hexToDecimal)(block[key]);
29
+ break;
30
+ case 'miner':
31
+ if (block[key]) {
32
+ cleanedBlock[key] = (0, __1.toChecksumAddress)(block[key]);
33
+ }
34
+ break;
35
+ }
36
+ });
37
+ // for all full transactions
38
+ if (returnTransactionObjects) {
39
+ // could be renamed "cleanTransaction" in the future
40
+ cleanedBlock.transactions.forEach((transaction, index) => {
41
+ cleanedBlock.transactions[index] = (0, clean_transaction_1.cleanTransaction)(transaction);
42
+ });
43
+ }
44
+ return cleanedBlock;
45
+ }
46
+ exports.cleanBlock = cleanBlock;
@@ -0,0 +1,5 @@
1
+ import { RPCTransaction, Transaction } from '../../types/Transaction.types';
2
+ /**
3
+ * Converts hex to decimal and checksum-addresses all addresses
4
+ */
5
+ export declare function cleanTransaction(transaction: RPCTransaction): Transaction;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanTransaction = void 0;
4
+ const __1 = require("../..");
5
+ const hex_to_decimal_1 = require("./hex-to-decimal");
6
+ /**
7
+ * Converts hex to decimal and checksum-addresses all addresses
8
+ */
9
+ function cleanTransaction(transaction) {
10
+ const cleanedTransaction = Object.assign({}, transaction);
11
+ Object.keys(transaction).forEach((key) => {
12
+ // pending blocks have null instead of a difficulty
13
+ // pending blocks have null instead of a miner address
14
+ if (!transaction[key])
15
+ return;
16
+ switch (key) {
17
+ case 'blockNumber':
18
+ case 'gas':
19
+ case 'nonce':
20
+ case 'transactionIndex':
21
+ case 'type':
22
+ cleanedTransaction[key] = Number((0, hex_to_decimal_1.hexToDecimal)(transaction[key]));
23
+ break;
24
+ case 'gasPrice':
25
+ case 'value':
26
+ cleanedTransaction[key] = (0, hex_to_decimal_1.hexToDecimal)(transaction[key]);
27
+ break;
28
+ case 'from':
29
+ case 'to':
30
+ if (transaction[key]) {
31
+ cleanedTransaction[key] = (0, __1.toChecksumAddress)(transaction[key]);
32
+ }
33
+ break;
34
+ }
35
+ });
36
+ return cleanedTransaction;
37
+ }
38
+ exports.cleanTransaction = cleanTransaction;
@@ -0,0 +1,3 @@
1
+ import { JSONABIArgument } from '../../types/Contract.types';
2
+ export declare function encodeData(jsonABIArgument: JSONABIArgument, args: any[]): string;
3
+ export declare function decodeRPCResponse(jsonABIArgument: JSONABIArgument, nodeResponse: string): string | number | boolean | import("../..").TinyBig | (string | number | boolean | import("../..").TinyBig)[];
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeRPCResponse = exports.encodeData = void 0;
4
+ const sha3_1 = require("sha3");
5
+ const __1 = require("../..");
6
+ const hex_to_decimal_1 = require("./hex-to-decimal");
7
+ const hexTrue = '0000000000000000000000000000000000000000000000000000000000000001';
8
+ const hexFalse = '0000000000000000000000000000000000000000000000000000000000000000';
9
+ function expandType(type) {
10
+ // https://docs.soliditylang.org/en/v0.8.7/types.html#integers
11
+ if (type === 'uint[]') {
12
+ return 'uint256[]';
13
+ }
14
+ else if (type === 'int[]') {
15
+ return 'int256[]';
16
+ }
17
+ return type;
18
+ }
19
+ function encodeData(jsonABIArgument, args) {
20
+ const hash = new sha3_1.Keccak(256);
21
+ /* first 4 bytes will create the data parameter */
22
+ const functionString = `${jsonABIArgument.name}(${jsonABIArgument.inputs.map((input) => expandType(input.type))})`;
23
+ // encoding learnt from https://ethereum.stackexchange.com/questions/3514/how-to-call-a-contract-method-using-the-eth-call-json-rpc-api
24
+ const functionHash = hash.update(functionString).digest('hex');
25
+ // no arrays
26
+ const jsonABIInputsLength = jsonABIArgument.inputs.length;
27
+ let shouldValidateInputLength = true;
28
+ // inputs contains 1 or more arrays
29
+ if (jsonABIArgument.inputs.find((input) => input.type.includes('['))) {
30
+ shouldValidateInputLength = false;
31
+ }
32
+ if (shouldValidateInputLength && args.length !== jsonABIInputsLength) {
33
+ throw new Error(`args inputs of "${args.length}" does not match expected length of "${jsonABIArgument.inputs.length}"`);
34
+ }
35
+ const argsWithTypes = (jsonABIArgument.inputs || []).reduce((acc, input, i) => {
36
+ var _a;
37
+ if (input.type.includes('[')) {
38
+ // strip array and length like "[2]" from type
39
+ const basicType = (_a = /([^[]*)\[.*$/g.exec(input.type)) === null || _a === void 0 ? void 0 : _a[1];
40
+ args.forEach((arg) => {
41
+ acc = acc.concat([[arg, basicType]]);
42
+ });
43
+ return acc;
44
+ }
45
+ else {
46
+ return acc.concat([[args[i], input.type]]);
47
+ }
48
+ }, []);
49
+ const encodedArgs = argsWithTypes.map(([arg, inputType]) => {
50
+ let rawArg = arg;
51
+ switch (inputType) {
52
+ case 'bool':
53
+ return arg ? hexTrue : hexFalse;
54
+ case 'address':
55
+ // remove leading "0x"
56
+ rawArg = arg.replace(/^0x/g, '').toLowerCase();
57
+ break;
58
+ default:
59
+ if (inputType.startsWith('bytes')) {
60
+ // encode each character to hex
61
+ const argEncoded = rawArg
62
+ .split('')
63
+ .map((character) => character.charCodeAt(0).toString(16))
64
+ .join('');
65
+ const paddedEncodedArg = argEncoded.padEnd(64, '0');
66
+ return paddedEncodedArg;
67
+ }
68
+ else if (inputType === 'uint256') {
69
+ const argEncoded = BigInt(arg).toString(16);
70
+ const paddedEncodedArg = argEncoded.padStart(64, '0');
71
+ return paddedEncodedArg;
72
+ }
73
+ else if (inputType.startsWith('uint')) {
74
+ break;
75
+ }
76
+ else {
77
+ throw new Error(`essential-eth does not yet support "${inputType}" inputs. Make a PR today!"`);
78
+ }
79
+ }
80
+ const argEncoded = rawArg.toString(16);
81
+ const paddedEncodedArg = argEncoded.padStart(64, '0');
82
+ return paddedEncodedArg;
83
+ });
84
+ const functionEncoded = functionHash.slice(0, 8);
85
+ const data = `0x${functionEncoded}${encodedArgs.join('')}`;
86
+ return data;
87
+ }
88
+ exports.encodeData = encodeData;
89
+ function decodeRPCResponse(jsonABIArgument, nodeResponse) {
90
+ const rawOutputs = jsonABIArgument.outputs;
91
+ // chunk response every 64 characters
92
+ const encodedOutputs = nodeResponse.slice(2).match(/.{1,64}/g);
93
+ const outputs = (encodedOutputs || []).map((output, i) => {
94
+ const outputType = (rawOutputs || [])[i].type;
95
+ switch (outputType) {
96
+ case 'bool':
97
+ return output === hexTrue;
98
+ case 'address':
99
+ /* address types have 26 leading zeroes to remove */
100
+ return (0, __1.toChecksumAddress)(`0x${output.slice(24)}`);
101
+ case 'uint256':
102
+ return (0, __1.tinyBig)((0, hex_to_decimal_1.hexToDecimal)(`0x${output}`));
103
+ case 'bytes32':
104
+ return `0x${output}`;
105
+ case 'uint8':
106
+ return Number((0, hex_to_decimal_1.hexToDecimal)(`0x${output}`));
107
+ default:
108
+ throw new Error(`essential-eth does not yet support "${outputType}" outputs. Make a PR today!"`);
109
+ }
110
+ });
111
+ return outputs.length === 1 ? outputs[0] : outputs;
112
+ }
113
+ exports.decodeRPCResponse = decodeRPCResponse;
@@ -0,0 +1,9 @@
1
+ export declare function post(url: string, body: Record<string, unknown>): Promise<any>;
2
+ declare type RPCMethodName = 'eth_getBlockByNumber' | 'eth_call' | 'eth_chainId';
3
+ export declare function buildRPCPostBody(method: RPCMethodName, params: any[]): {
4
+ jsonrpc: string;
5
+ id: number;
6
+ method: RPCMethodName;
7
+ params: any[];
8
+ };
9
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.buildRPCPostBody = exports.post = void 0;
7
+ const isomorphic_unfetch_1 = __importDefault(require("isomorphic-unfetch"));
8
+ function post(url, body) {
9
+ return (0, isomorphic_unfetch_1.default)(url, {
10
+ method: 'POST',
11
+ headers: {
12
+ 'Content-Type': 'application/json',
13
+ },
14
+ body: JSON.stringify(body),
15
+ })
16
+ .then((r) => r.json())
17
+ .then((response) => {
18
+ if (response.error) {
19
+ throw new Error(response.error);
20
+ }
21
+ return response.result;
22
+ });
23
+ }
24
+ exports.post = post;
25
+ function buildRPCPostBody(method, params) {
26
+ return {
27
+ jsonrpc: '2.0',
28
+ id: 1,
29
+ method,
30
+ params,
31
+ };
32
+ }
33
+ exports.buildRPCPostBody = buildRPCPostBody;
@@ -2,6 +2,4 @@
2
2
  * Converts a hexadecimal string it's decimal equivalent.
3
3
  * This is needed instead of parseInt because parseInt loses precision
4
4
  */
5
- export function hexToDecimal(hex: string) {
6
- return BigInt(hex).toString();
7
- }
5
+ export declare function hexToDecimal(hex: string): string;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hexToDecimal = void 0;
4
+ /**
5
+ * Converts a hexadecimal string it's decimal equivalent.
6
+ * This is needed instead of parseInt because parseInt loses precision
7
+ */
8
+ function hexToDecimal(hex) {
9
+ return BigInt(hex).toString();
10
+ }
11
+ exports.hexToDecimal = hexToDecimal;
@@ -0,0 +1,13 @@
1
+ import { Contract } from './classes/Contract';
2
+ import { JsonRpcProvider, jsonRpcProvider } from './providers/JsonRpcProvider';
3
+ import { tinyBig, TinyBig } from './shared/tiny-big/tiny-big';
4
+ import { Block } from './types/Block.types';
5
+ import { ContractTypes, JSONABI, JSONABIArgument } from './types/Contract.types';
6
+ import { Network } from './types/Network.types';
7
+ import { Transaction } from './types/Transaction.types';
8
+ import * as utils from './utils';
9
+ import { etherToWei } from './utils/ether-to-wei';
10
+ import { isAddress } from './utils/is-address';
11
+ import { toChecksumAddress } from './utils/to-checksum-address';
12
+ import { weiToEther } from './utils/wei-to-ether';
13
+ export { utils, etherToWei, isAddress, jsonRpcProvider, JsonRpcProvider, tinyBig, toChecksumAddress, weiToEther, Contract, TinyBig, Block, ContractTypes, JSONABI, JSONABIArgument, Network, Transaction, };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.TinyBig = exports.Contract = exports.weiToEther = exports.toChecksumAddress = exports.tinyBig = exports.JsonRpcProvider = exports.jsonRpcProvider = exports.isAddress = exports.etherToWei = exports.utils = void 0;
27
+ const Contract_1 = require("./classes/Contract");
28
+ Object.defineProperty(exports, "Contract", { enumerable: true, get: function () { return Contract_1.Contract; } });
29
+ const JsonRpcProvider_1 = require("./providers/JsonRpcProvider");
30
+ Object.defineProperty(exports, "JsonRpcProvider", { enumerable: true, get: function () { return JsonRpcProvider_1.JsonRpcProvider; } });
31
+ Object.defineProperty(exports, "jsonRpcProvider", { enumerable: true, get: function () { return JsonRpcProvider_1.jsonRpcProvider; } });
32
+ const tiny_big_1 = require("./shared/tiny-big/tiny-big");
33
+ Object.defineProperty(exports, "tinyBig", { enumerable: true, get: function () { return tiny_big_1.tinyBig; } });
34
+ Object.defineProperty(exports, "TinyBig", { enumerable: true, get: function () { return tiny_big_1.TinyBig; } });
35
+ const utils = __importStar(require("./utils"));
36
+ exports.utils = utils;
37
+ const ether_to_wei_1 = require("./utils/ether-to-wei");
38
+ Object.defineProperty(exports, "etherToWei", { enumerable: true, get: function () { return ether_to_wei_1.etherToWei; } });
39
+ const is_address_1 = require("./utils/is-address");
40
+ Object.defineProperty(exports, "isAddress", { enumerable: true, get: function () { return is_address_1.isAddress; } });
41
+ const to_checksum_address_1 = require("./utils/to-checksum-address");
42
+ Object.defineProperty(exports, "toChecksumAddress", { enumerable: true, get: function () { return to_checksum_address_1.toChecksumAddress; } });
43
+ const wei_to_ether_1 = require("./utils/wei-to-ether");
44
+ Object.defineProperty(exports, "weiToEther", { enumerable: true, get: function () { return wei_to_ether_1.weiToEther; } });
@@ -0,0 +1,23 @@
1
+ import { Block } from '../types/Block.types';
2
+ import { Network } from '../types/Network.types';
3
+ export declare class JsonRpcProvider {
4
+ /**
5
+ * The URL to your Eth node. Consider POKT or Infura
6
+ */
7
+ readonly _rpcUrl: Array<string>;
8
+ _rpcUrlCounter: number;
9
+ constructor(rpcUrl?: string | Array<string>);
10
+ /**
11
+ * Returns the block requested
12
+ * Same as `web3.eth.getBlock`
13
+ */
14
+ getBlock(timeFrame: 'latest' | 'earliest' | 'pending' | number, returnTransactionObjects?: boolean): Promise<Block>;
15
+ /**
16
+ * Returns the network this provider is connected to
17
+ */
18
+ getNetwork(): Promise<Network>;
19
+ }
20
+ /**
21
+ * Helper function to avoid "new"
22
+ */
23
+ export declare function jsonRpcProvider(rpcUrl?: string): JsonRpcProvider;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.jsonRpcProvider = exports.JsonRpcProvider = void 0;
16
+ const clean_block_1 = require("../classes/utils/clean-block");
17
+ const fetchers_1 = require("../classes/utils/fetchers");
18
+ const hex_to_decimal_1 = require("../classes/utils/hex-to-decimal");
19
+ const chains_info_1 = __importDefault(require("./utils/chains-info"));
20
+ class JsonRpcProvider {
21
+ constructor(rpcUrl) {
22
+ this._rpcUrl = (() => {
23
+ if (!rpcUrl) {
24
+ return ['https://free-eth-node.com/api/eth'];
25
+ }
26
+ else if (!Array.isArray(rpcUrl)) {
27
+ return [rpcUrl];
28
+ }
29
+ return rpcUrl;
30
+ })();
31
+ this._rpcUrlCounter = 0;
32
+ }
33
+ /**
34
+ * Returns the block requested
35
+ * Same as `web3.eth.getBlock`
36
+ */
37
+ getBlock(timeFrame /* block number as integer */, returnTransactionObjects = false) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ let rpcTimeFrame;
40
+ if (typeof timeFrame === 'number') {
41
+ // exact block numbers require hex string format
42
+ rpcTimeFrame = `0x${timeFrame.toString(16)}`;
43
+ }
44
+ else {
45
+ // "latest", "earliest", and "pending" require no manipulation
46
+ rpcTimeFrame = timeFrame;
47
+ }
48
+ const req = () => __awaiter(this, void 0, void 0, function* () {
49
+ return yield (0, fetchers_1.post)(this._rpcUrl[this._rpcUrlCounter], (0, fetchers_1.buildRPCPostBody)('eth_getBlockByNumber', [
50
+ rpcTimeFrame,
51
+ returnTransactionObjects,
52
+ ])).catch((e) => {
53
+ if (e.code === 'ENOTFOUND') {
54
+ this._rpcUrlCounter++;
55
+ return req();
56
+ }
57
+ });
58
+ });
59
+ const nodeResponse = (yield req());
60
+ return (0, clean_block_1.cleanBlock)(nodeResponse, returnTransactionObjects);
61
+ });
62
+ }
63
+ /**
64
+ * Returns the network this provider is connected to
65
+ */
66
+ getNetwork() {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ const req = () => __awaiter(this, void 0, void 0, function* () {
69
+ return yield (0, fetchers_1.post)(this._rpcUrl[this._rpcUrlCounter], (0, fetchers_1.buildRPCPostBody)('eth_chainId', [])).catch((e) => {
70
+ if (e.code === 'ENOTFOUND') {
71
+ this._rpcUrlCounter++;
72
+ return req();
73
+ }
74
+ });
75
+ });
76
+ const nodeResponse = (yield req());
77
+ const chainId = (0, hex_to_decimal_1.hexToDecimal)(nodeResponse);
78
+ const info = chains_info_1.default[chainId];
79
+ return {
80
+ chainId: Number(chainId),
81
+ name: info[0] || 'unknown',
82
+ ensAddress: info[1] || null, // only send ensAddress if it exists
83
+ };
84
+ });
85
+ }
86
+ }
87
+ exports.JsonRpcProvider = JsonRpcProvider;
88
+ /**
89
+ * Helper function to avoid "new"
90
+ */
91
+ function jsonRpcProvider(rpcUrl) {
92
+ return new JsonRpcProvider(rpcUrl);
93
+ }
94
+ exports.jsonRpcProvider = jsonRpcProvider;