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 @@
1
+ export declare function scientificStrToDecimalStr(scientificString: string): string;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.scientificStrToDecimalStr = void 0;
4
+ // strips both leading and trailing zeroes
5
+ function stripTrailingZeroes(numberString) {
6
+ const isNegative = numberString.startsWith('-');
7
+ numberString = numberString.replace('-', '');
8
+ numberString = numberString.replace(/\.0*$/g, '' /* for numbers like "1.0" -> "1" */);
9
+ numberString = numberString.replace(/^0+/, '');
10
+ // for numbers like "1.10" -> "1.1"
11
+ if (numberString.includes('.')) {
12
+ numberString = numberString.replace(/0+$/, '');
13
+ }
14
+ if (numberString.startsWith('.')) {
15
+ // so that ".1" returns as "0.1"
16
+ numberString = `0${numberString}`;
17
+ }
18
+ return `${isNegative ? '-' : ''}${numberString}`;
19
+ }
20
+ function scientificStrToDecimalStr(scientificString) {
21
+ // Does not contain "e" nor "E"
22
+ if (!scientificString.match(/e/i /* lowercase and uppercase E */)) {
23
+ return stripTrailingZeroes(scientificString);
24
+ }
25
+ // eslint-disable-next-line prefer-const
26
+ let [base, power] = scientificString.split(/e/i /* lowercase and uppercase E */);
27
+ // remove the leading "-" if negative
28
+ const isNegative = Number(base) < 0;
29
+ base = base.replace('-', '');
30
+ base = stripTrailingZeroes(base);
31
+ const [wholeNumber, fraction /* move decimal this many places */ = ''] = base.split('.');
32
+ if (Number(power) === 0) {
33
+ return `${isNegative ? '-' : ''}${stripTrailingZeroes(base)}`;
34
+ }
35
+ else {
36
+ const includesDecimal = base.includes('.');
37
+ if (!includesDecimal) {
38
+ base = `${base}.`;
39
+ }
40
+ base = base.replace('.', '');
41
+ const baseLength = base.length;
42
+ let splitPaddedNumber;
43
+ if (Number(power) < 0) {
44
+ // move decimal left
45
+ if (wholeNumber.length < Math.abs(Number(power))) {
46
+ base = base.padStart(baseLength + Math.abs(Number(power)) - wholeNumber.length, '0');
47
+ }
48
+ splitPaddedNumber = base.split('');
49
+ if (wholeNumber.length < Math.abs(Number(power))) {
50
+ // starts with zeroes
51
+ splitPaddedNumber = ['.', ...splitPaddedNumber];
52
+ }
53
+ else {
54
+ splitPaddedNumber.splice(splitPaddedNumber.length - Math.abs(Number(power)), 0, '.');
55
+ }
56
+ }
57
+ else {
58
+ // move decimal right
59
+ if (fraction.length < Math.abs(Number(power))) {
60
+ base = base.padEnd(baseLength + Math.abs(Number(power)) - fraction.length, '0');
61
+ }
62
+ splitPaddedNumber = base.split('');
63
+ if (fraction.length > Math.abs(Number(power))) {
64
+ splitPaddedNumber.splice(splitPaddedNumber.length - Math.abs(Number(power)), 0, '.');
65
+ }
66
+ }
67
+ const toReturn = stripTrailingZeroes(splitPaddedNumber.join(''));
68
+ return `${isNegative ? '-' : ''}${toReturn}`;
69
+ }
70
+ }
71
+ exports.scientificStrToDecimalStr = scientificStrToDecimalStr;
@@ -0,0 +1,19 @@
1
+ import Big from 'big.js';
2
+ /**
3
+ * A wrapper around big.js which expands scientific notation and creates a "toHexString" function.
4
+ * This is the return type of every operation on ether, wei, etc.
5
+ */
6
+ export declare class TinyBig extends Big {
7
+ constructor(value: string | number | TinyBig | Big);
8
+ /**
9
+ * Used anytime you're passing in "value" to ethers or web3
10
+ * For now, TypeScript will complain that `TinyBig` is not a `BigNumberish`. You can // @ts-ignore or call this
11
+ */
12
+ toHexString(): string;
13
+ toNumber(): number;
14
+ toString(): string;
15
+ }
16
+ /**
17
+ * Helper factory function so that you don't have to type "new" when instantiating a new TinyBig
18
+ */
19
+ export declare function tinyBig(value: string | number | TinyBig | Big): TinyBig;
@@ -0,0 +1,41 @@
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.tinyBig = exports.TinyBig = void 0;
7
+ const big_js_1 = __importDefault(require("big.js"));
8
+ const helpers_1 = require("./helpers");
9
+ /**
10
+ * A wrapper around big.js which expands scientific notation and creates a "toHexString" function.
11
+ * This is the return type of every operation on ether, wei, etc.
12
+ */
13
+ class TinyBig extends big_js_1.default {
14
+ constructor(value) {
15
+ super(value);
16
+ }
17
+ /**
18
+ * Used anytime you're passing in "value" to ethers or web3
19
+ * For now, TypeScript will complain that `TinyBig` is not a `BigNumberish`. You can // @ts-ignore or call this
20
+ */
21
+ toHexString() {
22
+ return `0x${BigInt(this.toString()).toString(16)}`;
23
+ }
24
+ toNumber() {
25
+ return Number((0, helpers_1.scientificStrToDecimalStr)(super.toString()));
26
+ }
27
+ toString() {
28
+ if (this.toNumber() === 0) {
29
+ return '0';
30
+ }
31
+ return (0, helpers_1.scientificStrToDecimalStr)(super.toString());
32
+ }
33
+ }
34
+ exports.TinyBig = TinyBig;
35
+ /**
36
+ * Helper factory function so that you don't have to type "new" when instantiating a new TinyBig
37
+ */
38
+ function tinyBig(value) {
39
+ return new TinyBig(value);
40
+ }
41
+ exports.tinyBig = tinyBig;
@@ -0,0 +1,3 @@
1
+ declare type JSPrimitiveTypes = 'string' | 'number' | 'bigint' | 'boolean' | 'symbol' | 'undefined' | 'object' | 'function';
2
+ export declare const validateType: (value: unknown, allowedTypes: JSPrimitiveTypes[]) => void;
3
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateType = void 0;
4
+ const validateType = (value, allowedTypes) => {
5
+ if (!allowedTypes.includes(typeof value)) {
6
+ throw new Error(`${allowedTypes.join(' or ')} required. Received ${typeof value}`);
7
+ }
8
+ };
9
+ exports.validateType = validateType;
@@ -0,0 +1,47 @@
1
+ import { RPCTransaction, Transaction } from './Transaction.types';
2
+ export interface Block {
3
+ baseFeePerGas: string;
4
+ difficulty: number;
5
+ extraData: string;
6
+ gasLimit: number;
7
+ gasUsed: number;
8
+ hash: string;
9
+ logsBloom: string;
10
+ miner: string;
11
+ mixHash: string;
12
+ nonce: string;
13
+ number: number;
14
+ parentHash: string;
15
+ receiptsRoot: string;
16
+ sha3Uncles: string;
17
+ size: number;
18
+ stateRoot: string;
19
+ timestamp: number;
20
+ totalDifficulty: number;
21
+ transactions: string[] | Transaction[];
22
+ transactionsRoot: string;
23
+ uncles: unknown[];
24
+ }
25
+ export interface RPCBlock {
26
+ baseFeePerGas: string;
27
+ difficulty: string;
28
+ extraData: string;
29
+ gasLimit: string;
30
+ gasUsed: string;
31
+ hash: string;
32
+ logsBloom: string;
33
+ miner: string;
34
+ mixHash: string;
35
+ nonce: string;
36
+ number: string;
37
+ parentHash: string;
38
+ receiptsRoot: string;
39
+ sha3Uncles: string;
40
+ size: string;
41
+ stateRoot: string;
42
+ timestamp: string;
43
+ totalDifficulty: string;
44
+ transactions: Array<string> | Array<RPCTransaction>;
45
+ transactionsRoot: string;
46
+ uncles: unknown[];
47
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,24 @@
1
+ export declare type ContractTypes = 'bool' | 'bytes1' | 'bytes2' | 'bytes3' | 'bytes4' | 'bytes5' | 'bytes6' | 'bytes7' | 'bytes8' | 'bytes9' | 'bytes10' | 'bytes11' | 'bytes12' | 'bytes13' | 'bytes14' | 'bytes15' | 'bytes16' | 'bytes17' | 'bytes18' | 'bytes19' | 'bytes20' | 'bytes21' | 'bytes22' | 'bytes23' | 'bytes24' | 'bytes25' | 'bytes26' | 'bytes27' | 'bytes28' | 'bytes29' | 'bytes30' | 'bytes31' | 'bytes32' | 'bytes32[]' | 'address' | 'address payable' | 'address[4]' | 'address[100]' | 'uint256' | 'uint256[100]' | 'uint8' | 'uint32' | string;
2
+ export declare type ContractInterface = JSONABI;
3
+ export declare type ContractFunction<T = any> = (...args: Array<any>) => Promise<T>;
4
+ export interface JSONABIArgument {
5
+ anonymous?: false;
6
+ inputs: {
7
+ internalType?: ContractTypes | string;
8
+ name: string;
9
+ type: ContractTypes;
10
+ indexed?: boolean;
11
+ }[];
12
+ name?: string;
13
+ outputs?: {
14
+ internalType?: ContractTypes | string;
15
+ name: string;
16
+ type: ContractTypes;
17
+ }[];
18
+ stateMutability?: 'view' | 'nonpayable' | string;
19
+ type: 'function' | 'event' | 'constructor' | 'error' | 'fallback';
20
+ gas?: number;
21
+ constant?: boolean;
22
+ payable?: boolean;
23
+ }
24
+ export declare type JSONABI = JSONABIArgument[];
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A trimmed version of https://chainid.network/chains.json
3
+ */
4
+ export interface Network {
5
+ chainId: number;
6
+ ensAddress: string | null;
7
+ name: string;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,34 @@
1
+ export interface Transaction {
2
+ blockHash: string;
3
+ blockNumber: number;
4
+ from: string;
5
+ gas: number;
6
+ gasPrice: string;
7
+ hash: string;
8
+ input: string;
9
+ nonce: number;
10
+ r: string;
11
+ s: string;
12
+ to: string;
13
+ transactionIndex: number;
14
+ type: number;
15
+ v: string;
16
+ value: string;
17
+ }
18
+ export interface RPCTransaction {
19
+ blockHash: string;
20
+ blockNumber: string;
21
+ from: string;
22
+ gas: string;
23
+ gasPrice: string;
24
+ hash: string;
25
+ input: string;
26
+ nonce: string;
27
+ r: string;
28
+ s: string;
29
+ to: string;
30
+ transactionIndex: string;
31
+ type: string;
32
+ v: string;
33
+ value: string;
34
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +1,5 @@
1
1
  import Big from 'big.js';
2
- import { TinyBig, tinyBig } from '../shared/tiny-big/tiny-big';
3
- import { validateType } from '../shared/validate-type';
4
-
2
+ import { TinyBig } from '../shared/tiny-big/tiny-big';
5
3
  /**
6
4
  * Similar to ["parseEther" in ethers.js](https://docs.ethers.io/v4/api-utils.html#ether-strings-and-wei)
7
5
  *
@@ -23,10 +21,4 @@ import { validateType } from '../shared/validate-type';
23
21
  * // 1000000000000000000000
24
22
  * ```
25
23
  */
26
- export function etherToWei(
27
- etherQuantity: string | number | TinyBig | Big,
28
- ): TinyBig {
29
- validateType(etherQuantity, ['string', 'number', 'object']);
30
- const result = tinyBig(etherQuantity).times('1000000000000000000');
31
- return tinyBig(result);
32
- }
24
+ export declare function etherToWei(etherQuantity: string | number | TinyBig | Big): TinyBig;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.etherToWei = void 0;
4
+ const tiny_big_1 = require("../shared/tiny-big/tiny-big");
5
+ const validate_type_1 = require("../shared/validate-type");
6
+ /**
7
+ * Similar to ["parseEther" in ethers.js](https://docs.ethers.io/v4/api-utils.html#ether-strings-and-wei)
8
+ *
9
+ * Similar to ["toWei" in web3](https://web3js.readthedocs.io/en/v1.2.11/web3-utils.html?highlight=towei#towei)
10
+ *
11
+ * @example
12
+ * ```javascript
13
+ * etherToWei('1000').toString()
14
+ * // '1000000000000000000000'
15
+ * etherToWei(1000).toString()
16
+ * // '1000000000000000000000'
17
+ * ```
18
+ *
19
+ * @example
20
+ * ```javascript
21
+ * etherToWei('1000').toNumber()
22
+ * // 1000000000000000000000
23
+ * etherToWei(1000).toNumber()
24
+ * // 1000000000000000000000
25
+ * ```
26
+ */
27
+ function etherToWei(etherQuantity) {
28
+ (0, validate_type_1.validateType)(etherQuantity, ['string', 'number', 'object']);
29
+ const result = (0, tiny_big_1.tinyBig)(etherQuantity).times('1000000000000000000');
30
+ return (0, tiny_big_1.tinyBig)(result);
31
+ }
32
+ exports.etherToWei = etherToWei;
@@ -2,5 +2,4 @@ import { etherToWei } from './ether-to-wei';
2
2
  import { isAddress } from './is-address';
3
3
  import { toChecksumAddress } from './to-checksum-address';
4
4
  import { weiToEther } from './wei-to-ether';
5
-
6
5
  export { etherToWei, isAddress, toChecksumAddress, weiToEther };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.weiToEther = exports.toChecksumAddress = exports.isAddress = exports.etherToWei = void 0;
4
+ const ether_to_wei_1 = require("./ether-to-wei");
5
+ Object.defineProperty(exports, "etherToWei", { enumerable: true, get: function () { return ether_to_wei_1.etherToWei; } });
6
+ const is_address_1 = require("./is-address");
7
+ Object.defineProperty(exports, "isAddress", { enumerable: true, get: function () { return is_address_1.isAddress; } });
8
+ const to_checksum_address_1 = require("./to-checksum-address");
9
+ Object.defineProperty(exports, "toChecksumAddress", { enumerable: true, get: function () { return to_checksum_address_1.toChecksumAddress; } });
10
+ const wei_to_ether_1 = require("./wei-to-ether");
11
+ Object.defineProperty(exports, "weiToEther", { enumerable: true, get: function () { return wei_to_ether_1.weiToEther; } });
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Returns a boolean as to whether the input is a valid address.
3
+ * Does NOT support ICAP addresses
4
+ */
5
+ export declare function isAddress(address: string): boolean;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isAddress = void 0;
4
+ const __1 = require("..");
5
+ const validate_type_1 = require("../shared/validate-type");
6
+ /**
7
+ * Returns a boolean as to whether the input is a valid address.
8
+ * Does NOT support ICAP addresses
9
+ */
10
+ function isAddress(address) {
11
+ (0, validate_type_1.validateType)(address, ['string']);
12
+ try {
13
+ (0, __1.toChecksumAddress)(address);
14
+ return true;
15
+ }
16
+ catch (error) {
17
+ return false;
18
+ }
19
+ }
20
+ exports.isAddress = isAddress;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Returns an Ethereum address in proper mixed-case checksum.
3
+ * Does NOT support ICAP
4
+ *
5
+ * @param address - An Ethereum address. Mixed, lower, and uppercase are all valid
6
+ *
7
+ * @example
8
+ * ```javascript
9
+ * toChecksumAddress('0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359');
10
+ * // '0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359'
11
+ * ```
12
+ *
13
+ * Similar to ["getAddress" in ethers.js](https://docs.ethers.io/v4/api-utils.html#utils-getaddress)
14
+ *
15
+ * Similar to ["toChecksumAddress" in web3](https://web3js.readthedocs.io/en/v1.2.11/web3-utils.html#tochecksumaddress)
16
+ */
17
+ export declare function toChecksumAddress(address: string): string;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toChecksumAddress = void 0;
4
+ const sha3_1 = require("sha3");
5
+ const validate_type_1 = require("../shared/validate-type");
6
+ /**
7
+ * Returns an Ethereum address in proper mixed-case checksum.
8
+ * Does NOT support ICAP
9
+ *
10
+ * @param address - An Ethereum address. Mixed, lower, and uppercase are all valid
11
+ *
12
+ * @example
13
+ * ```javascript
14
+ * toChecksumAddress('0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359');
15
+ * // '0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359'
16
+ * ```
17
+ *
18
+ * Similar to ["getAddress" in ethers.js](https://docs.ethers.io/v4/api-utils.html#utils-getaddress)
19
+ *
20
+ * Similar to ["toChecksumAddress" in web3](https://web3js.readthedocs.io/en/v1.2.11/web3-utils.html#tochecksumaddress)
21
+ */
22
+ function toChecksumAddress(address) {
23
+ (0, validate_type_1.validateType)(address, ['string']);
24
+ if (!/^(0x)?[0-9a-f]{40}$/i.test(address)) {
25
+ throw new Error(`Invalid Ethereum address "${address}"`);
26
+ }
27
+ const _address = address.toLowerCase().replace(/^0x/i, '');
28
+ const keccak = new sha3_1.Keccak(256);
29
+ const addressHash = keccak.update(_address).digest('hex').replace(/^0x/i, '');
30
+ let checksumAddress = '0x';
31
+ for (let i = 0; i < _address.length; i++) {
32
+ // If ith character is 8 to f then make it uppercase
33
+ if (parseInt(addressHash[i], 16) > 7) {
34
+ checksumAddress += _address[i].toUpperCase();
35
+ }
36
+ else {
37
+ checksumAddress += _address[i];
38
+ }
39
+ }
40
+ if (address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) &&
41
+ checksumAddress !== address) {
42
+ throw new Error(`Invalid Checksum address for "${address}"`);
43
+ }
44
+ return checksumAddress;
45
+ }
46
+ exports.toChecksumAddress = toChecksumAddress;
@@ -1,8 +1,5 @@
1
1
  import Big from 'big.js';
2
- import { tinyBig } from '../shared/tiny-big/tiny-big';
3
- import { validateType } from '../shared/validate-type';
4
2
  import { TinyBig } from './../shared/tiny-big/tiny-big';
5
-
6
3
  /**
7
4
  * Convert from Ether to Wei
8
5
  *
@@ -26,8 +23,4 @@ import { TinyBig } from './../shared/tiny-big/tiny-big';
26
23
  * // 1000000000000000000000
27
24
  * ```
28
25
  */
29
- export function weiToEther(weiQuantity: string | number | TinyBig | Big) {
30
- validateType(weiQuantity, ['string', 'number', 'object']);
31
- const result = tinyBig(weiQuantity).div('1000000000000000000');
32
- return tinyBig(result);
33
- }
26
+ export declare function weiToEther(weiQuantity: string | number | TinyBig | Big): TinyBig;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.weiToEther = void 0;
4
+ const tiny_big_1 = require("../shared/tiny-big/tiny-big");
5
+ const validate_type_1 = require("../shared/validate-type");
6
+ /**
7
+ * Convert from Ether to Wei
8
+ *
9
+ * Similar to ["formatEther" in ethers.js](https://docs.ethers.io/v4/api-utils.html#ether-strings-and-wei)
10
+ *
11
+ * Similar to ["fromWei" in web3](https://web3js.readthedocs.io/en/v1.2.11/web3-utils.html#fromwei)
12
+ *
13
+ * @example
14
+ * ```javascript
15
+ * etherToWei('1000').toString()
16
+ * // '1000000000000000000000'
17
+ * etherToWei(1000).toString()
18
+ * '1000000000000000000000'
19
+ * ```
20
+ *
21
+ * @example
22
+ * ```javascript
23
+ * etherToWei('1000').toNumber()
24
+ * // 1000000000000000000000
25
+ * etherToWei(1000).toNumber()
26
+ * // 1000000000000000000000
27
+ * ```
28
+ */
29
+ function weiToEther(weiQuantity) {
30
+ (0, validate_type_1.validateType)(weiQuantity, ['string', 'number', 'object']);
31
+ const result = (0, tiny_big_1.tinyBig)(weiQuantity).div('1000000000000000000');
32
+ return (0, tiny_big_1.tinyBig)(result);
33
+ }
34
+ exports.weiToEther = weiToEther;
@@ -0,0 +1,11 @@
1
+ import { JsonRpcProvider } from '../providers/JsonRpcProvider';
2
+ import { ContractInterface } from '../types/Contract.types';
3
+ export declare class BaseContract {
4
+ private readonly _address;
5
+ private readonly _provider;
6
+ constructor(addressOrName: string, contractInterface: ContractInterface, signerOrProvider: JsonRpcProvider);
7
+ }
8
+ export declare function defineReadOnly<T>(object: T, name: string, value: any): void;
9
+ export declare class Contract extends BaseContract {
10
+ readonly [key: string]: any;
11
+ }
@@ -0,0 +1,70 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { decodeRPCResponse, encodeData, } from './utils/encode-decode-transaction';
11
+ import { buildRPCPostBody, post } from './utils/fetchers';
12
+ function estimateGas(txnData) {
13
+ txnData.split('').reduce((previousValue, currentValue) => {
14
+ const characterCost = currentValue === '0' ? 4 : 68;
15
+ return previousValue + characterCost;
16
+ }, 0);
17
+ }
18
+ export class BaseContract {
19
+ constructor(addressOrName, contractInterface, signerOrProvider) {
20
+ this._address = addressOrName;
21
+ this._provider = signerOrProvider;
22
+ contractInterface
23
+ .filter((jsonABIArgument) => jsonABIArgument.type === 'function')
24
+ .forEach((jsonABIArgument) => {
25
+ if ('name' in jsonABIArgument &&
26
+ typeof jsonABIArgument.name === 'string') {
27
+ defineReadOnly(this, jsonABIArgument.name, (..._args) => __awaiter(this, void 0, void 0, function* () {
28
+ let functionArguments = _args;
29
+ let options = {};
30
+ const lastArg = _args[_args.length - 1];
31
+ if (!Array.isArray(lastArg) && typeof lastArg === 'object') {
32
+ options = lastArg;
33
+ functionArguments = _args.slice(0, _args.length - 1);
34
+ }
35
+ const data = encodeData(jsonABIArgument, functionArguments);
36
+ const decimalGas = typeof options.gasLimit === 'number'
37
+ ? options.gasLimit
38
+ : typeof (jsonABIArgument === null || jsonABIArgument === void 0 ? void 0 : jsonABIArgument.gas) ===
39
+ 'number'
40
+ ? estimateGas(data)
41
+ : null;
42
+ const req = () => __awaiter(this, void 0, void 0, function* () {
43
+ return yield post(this._provider._rpcUrl[this._provider._rpcUrlCounter], buildRPCPostBody('eth_call', [
44
+ Object.assign({ to: this._address.toLowerCase(), data: data }, (decimalGas
45
+ ? { gas: `0x${decimalGas.toString(16)}` }
46
+ : {})),
47
+ 'latest',
48
+ ])).catch((e) => {
49
+ if (e.code === 'ENOTFOUND') {
50
+ this._provider._rpcUrlCounter++;
51
+ return req();
52
+ }
53
+ });
54
+ });
55
+ const nodeResponse = yield req();
56
+ return decodeRPCResponse(jsonABIArgument, nodeResponse);
57
+ }));
58
+ }
59
+ });
60
+ }
61
+ }
62
+ export function defineReadOnly(object, name, value) {
63
+ Object.defineProperty(object, name, {
64
+ enumerable: true,
65
+ value: value,
66
+ writable: false,
67
+ });
68
+ }
69
+ export class Contract extends BaseContract {
70
+ }
@@ -0,0 +1,2 @@
1
+ import { JSONABI } from '../../../types/Contract.types';
2
+ export declare const abi: JSONABI;