essential-eth 0.4.6 → 0.4.9-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/..eslintrc.js.un~ +0 -0
- package/..npmignore.un~ +0 -0
- package/.env +1 -0
- package/.eslintignore +4 -0
- package/.eslintrc.js +34 -0
- package/.gitattributes +1 -0
- package/.github/workflows/.test.yml.un~ +0 -0
- package/.github/workflows/test.yml +29 -0
- package/.package.json.un~ +0 -0
- package/.prettierignore +7 -0
- package/.travis.yml +5 -0
- package/jest.config.js +9 -0
- package/package.json +34 -20
- package/readme.md +1 -2
- package/scripts/build-website.sh +4 -0
- package/scripts/bump-minor.sh +4 -0
- package/scripts/bump-patch.sh +4 -0
- package/scripts/fetch-chains-info.ts +70 -0
- package/scripts/pre-commit.sh +5 -0
- package/src/classes/Contract.ts +161 -0
- package/src/classes/test/Contract/crv-abi.ts +488 -0
- package/src/classes/test/Contract/crv.test.ts +56 -0
- package/src/classes/test/Contract/ens-abi.ts +452 -0
- package/src/classes/test/Contract/ens.test.ts +39 -0
- package/src/classes/test/Contract/fei-abi.ts +526 -0
- package/src/classes/test/Contract/fei.test.ts +86 -0
- package/src/classes/test/Contract/foo-abi.ts +42 -0
- package/src/classes/test/Contract/foo.test.ts +33 -0
- package/src/classes/test/Contract/uni.test.ts +72 -0
- package/src/classes/test/Contract/uniswap-abi.ts +121 -0
- package/src/classes/utils/clean-block.ts +49 -0
- package/src/classes/utils/clean-transaction.ts +35 -0
- package/src/classes/utils/encode-decode-transaction.ts +126 -0
- package/src/classes/utils/fetchers.ts +27 -0
- package/{lib/cjs/classes/utils/hex-to-decimal.d.ts → src/classes/utils/hex-to-decimal.ts} +3 -1
- package/src/index.ts +27 -0
- package/src/providers/JsonRpcProvider.ts +94 -0
- package/src/providers/test/get-block.test.ts +63 -0
- package/src/providers/test/get-network.test.ts +34 -0
- package/src/providers/utils/chains-info.ts +1079 -0
- package/src/shared/tiny-big/helpers.test.ts +30 -0
- package/src/shared/tiny-big/helpers.ts +89 -0
- package/src/shared/tiny-big/tiny-big.test.ts +10 -0
- package/src/shared/tiny-big/tiny-big.ts +36 -0
- package/src/shared/validate-type.ts +20 -0
- package/src/types/.Contract.types.ts.un~ +0 -0
- package/src/types/Block.types.ts +50 -0
- package/src/types/Contract.types.ts +67 -0
- package/src/types/Network.types.ts +8 -0
- package/src/types/Transaction.types.ts +35 -0
- package/{lib/cjs/utils/ether-to-wei.d.ts → src/utils/ether-to-wei.ts} +10 -2
- package/src/utils/index.ts +6 -0
- package/src/utils/is-address.ts +16 -0
- package/src/utils/tests/ether-to-wei.test.ts +65 -0
- package/src/utils/tests/is-address.test.ts +52 -0
- package/src/utils/tests/to-checksum-address.test.ts +43 -0
- package/src/utils/tests/wei-to-ether.test.ts +72 -0
- package/src/utils/to-checksum-address.ts +47 -0
- package/{lib/cjs/utils/wei-to-ether.d.ts → src/utils/wei-to-ether.ts} +8 -1
- package/test/global-setup.js +8 -0
- package/test/global-teardown.js +5 -0
- package/test/jest.setup-after-env.js +1 -0
- package/test/server.js +24 -0
- package/tsconfig-cjs.json +8 -0
- package/tsconfig.json +25 -0
- package/typedoc/options-new-version.js +8 -0
- package/typedoc/options.js +9 -0
- package/types/just-omit.d.ts +1 -0
- package/website/.nojekyll +1 -0
- package/website/assets/highlight.css +71 -0
- package/website/assets/icons.css +1043 -0
- package/website/assets/icons.png +0 -0
- package/website/assets/icons@2x.png +0 -0
- package/website/assets/main.js +52 -0
- package/website/assets/search.js +1 -0
- package/website/assets/style.css +1413 -0
- package/website/assets/widgets.png +0 -0
- package/website/assets/widgets@2x.png +0 -0
- package/website/classes/Contract.html +13 -0
- package/website/classes/JsonRpcProvider.html +8 -0
- package/website/classes/TinyBig.html +161 -0
- package/website/index.html +207 -0
- package/website/interfaces/Block.html +1 -0
- package/website/interfaces/JSONABIArgument.html +1 -0
- package/website/interfaces/Network.html +3 -0
- package/website/interfaces/Transaction.html +1 -0
- package/website/modules.html +32 -0
- package/website/versions/0.1.2/assets/highlight.css +57 -0
- package/website/versions/0.1.2/assets/icons.css +1043 -0
- package/website/versions/0.1.2/assets/icons.png +0 -0
- package/website/versions/0.1.2/assets/icons@2x.png +0 -0
- package/website/versions/0.1.2/assets/main.js +52 -0
- package/website/versions/0.1.2/assets/search.js +1 -0
- package/website/versions/0.1.2/assets/style.css +1341 -0
- package/website/versions/0.1.2/assets/widgets.png +0 -0
- package/website/versions/0.1.2/assets/widgets@2x.png +0 -0
- package/website/versions/0.1.2/classes/TinyBig.html +4 -0
- package/website/versions/0.1.2/index.html +20 -0
- package/website/versions/0.1.2/modules.html +23 -0
- package/website/versions/0.1.3/assets/highlight.css +64 -0
- package/website/versions/0.1.3/assets/icons.css +1043 -0
- package/website/versions/0.1.3/assets/icons.png +0 -0
- package/website/versions/0.1.3/assets/icons@2x.png +0 -0
- package/website/versions/0.1.3/assets/main.js +52 -0
- package/website/versions/0.1.3/assets/search.js +1 -0
- package/website/versions/0.1.3/assets/style.css +1341 -0
- package/website/versions/0.1.3/assets/widgets.png +0 -0
- package/website/versions/0.1.3/assets/widgets@2x.png +0 -0
- package/website/versions/0.1.3/classes/TinyBig.html +4 -0
- package/website/versions/0.1.3/index.html +53 -0
- package/website/versions/0.1.3/modules.html +23 -0
- package/website/versions/0.1.4/assets/highlight.css +64 -0
- package/website/versions/0.1.4/assets/icons.css +1043 -0
- package/website/versions/0.1.4/assets/icons.png +0 -0
- package/website/versions/0.1.4/assets/icons@2x.png +0 -0
- package/website/versions/0.1.4/assets/main.js +52 -0
- package/website/versions/0.1.4/assets/search.js +1 -0
- package/website/versions/0.1.4/assets/style.css +1341 -0
- package/website/versions/0.1.4/assets/widgets.png +0 -0
- package/website/versions/0.1.4/assets/widgets@2x.png +0 -0
- package/website/versions/0.1.4/classes/EssentialEth.html +1 -0
- package/website/versions/0.1.4/classes/TinyBig.html +4 -0
- package/website/versions/0.1.4/index.html +58 -0
- package/website/versions/0.1.4/modules.html +23 -0
- package/website/versions/0.2.0/assets/highlight.css +64 -0
- package/website/versions/0.2.0/assets/icons.css +1043 -0
- package/website/versions/0.2.0/assets/icons.png +0 -0
- package/website/versions/0.2.0/assets/icons@2x.png +0 -0
- package/website/versions/0.2.0/assets/main.js +52 -0
- package/website/versions/0.2.0/assets/search.js +1 -0
- package/website/versions/0.2.0/assets/style.css +1341 -0
- package/website/versions/0.2.0/assets/widgets.png +0 -0
- package/website/versions/0.2.0/assets/widgets@2x.png +0 -0
- package/website/versions/0.2.0/classes/EssentialEth.html +5 -0
- package/website/versions/0.2.0/classes/TinyBig.html +146 -0
- package/website/versions/0.2.0/index.html +89 -0
- package/website/versions/0.2.0/modules.html +25 -0
- package/website/versions/0.2.1/assets/highlight.css +64 -0
- package/website/versions/0.2.1/assets/icons.css +1043 -0
- package/website/versions/0.2.1/assets/icons.png +0 -0
- package/website/versions/0.2.1/assets/icons@2x.png +0 -0
- package/website/versions/0.2.1/assets/main.js +52 -0
- package/website/versions/0.2.1/assets/search.js +1 -0
- package/website/versions/0.2.1/assets/style.css +1341 -0
- package/website/versions/0.2.1/assets/widgets.png +0 -0
- package/website/versions/0.2.1/assets/widgets@2x.png +0 -0
- package/website/versions/0.2.1/classes/EssentialEth.html +5 -0
- package/website/versions/0.2.1/classes/TinyBig.html +146 -0
- package/website/versions/0.2.1/index.html +96 -0
- package/website/versions/0.2.1/modules.html +29 -0
- package/website/versions/0.2.2/assets/highlight.css +64 -0
- package/website/versions/0.2.2/assets/icons.css +1043 -0
- package/website/versions/0.2.2/assets/icons.png +0 -0
- package/website/versions/0.2.2/assets/icons@2x.png +0 -0
- package/website/versions/0.2.2/assets/main.js +52 -0
- package/website/versions/0.2.2/assets/search.js +1 -0
- package/website/versions/0.2.2/assets/style.css +1341 -0
- package/website/versions/0.2.2/assets/widgets.png +0 -0
- package/website/versions/0.2.2/assets/widgets@2x.png +0 -0
- package/website/versions/0.2.2/classes/EssentialEth.html +5 -0
- package/website/versions/0.2.2/classes/TinyBig.html +146 -0
- package/website/versions/0.2.2/index.html +96 -0
- package/website/versions/0.2.2/modules.html +29 -0
- package/website/versions/0.3.0/.nojekyll +1 -0
- package/website/versions/0.3.0/assets/highlight.css +71 -0
- package/website/versions/0.3.0/assets/icons.css +1043 -0
- package/website/versions/0.3.0/assets/icons.png +0 -0
- package/website/versions/0.3.0/assets/icons@2x.png +0 -0
- package/website/versions/0.3.0/assets/main.js +52 -0
- package/website/versions/0.3.0/assets/search.js +1 -0
- package/website/versions/0.3.0/assets/style.css +1384 -0
- package/website/versions/0.3.0/assets/widgets.png +0 -0
- package/website/versions/0.3.0/assets/widgets@2x.png +0 -0
- package/website/versions/0.3.0/classes/Contract.html +15 -0
- package/website/versions/0.3.0/classes/TinyBig.html +156 -0
- package/website/versions/0.3.0/index.html +123 -0
- package/website/versions/0.3.0/modules.html +32 -0
- package/website/versions/0.3.1/.nojekyll +1 -0
- package/website/versions/0.3.1/assets/highlight.css +71 -0
- package/website/versions/0.3.1/assets/icons.css +1043 -0
- package/website/versions/0.3.1/assets/icons.png +0 -0
- package/website/versions/0.3.1/assets/icons@2x.png +0 -0
- package/website/versions/0.3.1/assets/main.js +52 -0
- package/website/versions/0.3.1/assets/search.js +1 -0
- package/website/versions/0.3.1/assets/style.css +1384 -0
- package/website/versions/0.3.1/assets/widgets.png +0 -0
- package/website/versions/0.3.1/assets/widgets@2x.png +0 -0
- package/website/versions/0.3.1/classes/Contract.html +15 -0
- package/website/versions/0.3.1/classes/TinyBig.html +156 -0
- package/website/versions/0.3.1/index.html +123 -0
- package/website/versions/0.3.1/modules.html +32 -0
- package/website/versions/0.3.2/.nojekyll +1 -0
- package/website/versions/0.3.2/assets/highlight.css +71 -0
- package/website/versions/0.3.2/assets/icons.css +1043 -0
- package/website/versions/0.3.2/assets/icons.png +0 -0
- package/website/versions/0.3.2/assets/icons@2x.png +0 -0
- package/website/versions/0.3.2/assets/main.js +52 -0
- package/website/versions/0.3.2/assets/search.js +1 -0
- package/website/versions/0.3.2/assets/style.css +1384 -0
- package/website/versions/0.3.2/assets/widgets.png +0 -0
- package/website/versions/0.3.2/assets/widgets@2x.png +0 -0
- package/website/versions/0.3.2/classes/Contract.html +15 -0
- package/website/versions/0.3.2/classes/JsonRpcProvider.html +5 -0
- package/website/versions/0.3.2/classes/TinyBig.html +156 -0
- package/website/versions/0.3.2/index.html +123 -0
- package/website/versions/0.3.2/modules.html +32 -0
- package/website/versions/0.3.3/.nojekyll +1 -0
- package/website/versions/0.3.3/assets/highlight.css +71 -0
- package/website/versions/0.3.3/assets/icons.css +1043 -0
- package/website/versions/0.3.3/assets/icons.png +0 -0
- package/website/versions/0.3.3/assets/icons@2x.png +0 -0
- package/website/versions/0.3.3/assets/main.js +52 -0
- package/website/versions/0.3.3/assets/search.js +1 -0
- package/website/versions/0.3.3/assets/style.css +1384 -0
- package/website/versions/0.3.3/assets/widgets.png +0 -0
- package/website/versions/0.3.3/assets/widgets@2x.png +0 -0
- package/website/versions/0.3.3/classes/Contract.html +15 -0
- package/website/versions/0.3.3/classes/JsonRpcProvider.html +5 -0
- package/website/versions/0.3.3/classes/TinyBig.html +156 -0
- package/website/versions/0.3.3/index.html +123 -0
- package/website/versions/0.3.3/interfaces/Block.html +1 -0
- package/website/versions/0.3.3/interfaces/Transaction.html +1 -0
- package/website/versions/0.3.3/modules.html +32 -0
- package/website/versions/0.4.0/.nojekyll +1 -0
- package/website/versions/0.4.0/assets/highlight.css +71 -0
- package/website/versions/0.4.0/assets/icons.css +1043 -0
- package/website/versions/0.4.0/assets/icons.png +0 -0
- package/website/versions/0.4.0/assets/icons@2x.png +0 -0
- package/website/versions/0.4.0/assets/main.js +52 -0
- package/website/versions/0.4.0/assets/search.js +1 -0
- package/website/versions/0.4.0/assets/style.css +1384 -0
- package/website/versions/0.4.0/assets/widgets.png +0 -0
- package/website/versions/0.4.0/assets/widgets@2x.png +0 -0
- package/website/versions/0.4.0/classes/Contract.html +15 -0
- package/website/versions/0.4.0/classes/JsonRpcProvider.html +6 -0
- package/website/versions/0.4.0/classes/TinyBig.html +156 -0
- package/website/versions/0.4.0/index.html +148 -0
- package/website/versions/0.4.0/interfaces/Block.html +1 -0
- package/website/versions/0.4.0/interfaces/Transaction.html +1 -0
- package/website/versions/0.4.0/modules.html +32 -0
- package/website/versions/0.4.1/.nojekyll +1 -0
- package/website/versions/0.4.1/assets/highlight.css +71 -0
- package/website/versions/0.4.1/assets/icons.css +1043 -0
- package/website/versions/0.4.1/assets/icons.png +0 -0
- package/website/versions/0.4.1/assets/icons@2x.png +0 -0
- package/website/versions/0.4.1/assets/main.js +52 -0
- package/website/versions/0.4.1/assets/search.js +1 -0
- package/website/versions/0.4.1/assets/style.css +1384 -0
- package/website/versions/0.4.1/assets/widgets.png +0 -0
- package/website/versions/0.4.1/assets/widgets@2x.png +0 -0
- package/website/versions/0.4.1/classes/Contract.html +15 -0
- package/website/versions/0.4.1/classes/JsonRpcProvider.html +6 -0
- package/website/versions/0.4.1/classes/TinyBig.html +156 -0
- package/website/versions/0.4.1/index.html +148 -0
- package/website/versions/0.4.1/interfaces/Block.html +1 -0
- package/website/versions/0.4.1/interfaces/Transaction.html +1 -0
- package/website/versions/0.4.1/modules.html +32 -0
- package/website/versions/0.4.2/.nojekyll +1 -0
- package/website/versions/0.4.2/assets/highlight.css +71 -0
- package/website/versions/0.4.2/assets/icons.css +1043 -0
- package/website/versions/0.4.2/assets/icons.png +0 -0
- package/website/versions/0.4.2/assets/icons@2x.png +0 -0
- package/website/versions/0.4.2/assets/main.js +52 -0
- package/website/versions/0.4.2/assets/search.js +1 -0
- package/website/versions/0.4.2/assets/style.css +1384 -0
- package/website/versions/0.4.2/assets/widgets.png +0 -0
- package/website/versions/0.4.2/assets/widgets@2x.png +0 -0
- package/website/versions/0.4.2/classes/Contract.html +15 -0
- package/website/versions/0.4.2/classes/JsonRpcProvider.html +8 -0
- package/website/versions/0.4.2/classes/TinyBig.html +156 -0
- package/website/versions/0.4.2/index.html +199 -0
- package/website/versions/0.4.2/interfaces/Block.html +1 -0
- package/website/versions/0.4.2/interfaces/Transaction.html +1 -0
- package/website/versions/0.4.2/modules.html +34 -0
- package/website/versions/0.4.3/.nojekyll +1 -0
- package/website/versions/0.4.3/assets/highlight.css +71 -0
- package/website/versions/0.4.3/assets/icons.css +1043 -0
- package/website/versions/0.4.3/assets/icons.png +0 -0
- package/website/versions/0.4.3/assets/icons@2x.png +0 -0
- package/website/versions/0.4.3/assets/main.js +52 -0
- package/website/versions/0.4.3/assets/search.js +1 -0
- package/website/versions/0.4.3/assets/style.css +1384 -0
- package/website/versions/0.4.3/assets/widgets.png +0 -0
- package/website/versions/0.4.3/assets/widgets@2x.png +0 -0
- package/website/versions/0.4.3/classes/Contract.html +15 -0
- package/website/versions/0.4.3/classes/JsonRpcProvider.html +8 -0
- package/website/versions/0.4.3/classes/TinyBig.html +159 -0
- package/website/versions/0.4.3/index.html +199 -0
- package/website/versions/0.4.3/interfaces/Block.html +1 -0
- package/website/versions/0.4.3/interfaces/Transaction.html +1 -0
- package/website/versions/0.4.3/modules.html +34 -0
- package/website/versions/0.4.6/.nojekyll +1 -0
- package/website/versions/0.4.6/assets/highlight.css +71 -0
- package/website/versions/0.4.6/assets/icons.css +1043 -0
- package/website/versions/0.4.6/assets/icons.png +0 -0
- package/website/versions/0.4.6/assets/icons@2x.png +0 -0
- package/website/versions/0.4.6/assets/main.js +52 -0
- package/website/versions/0.4.6/assets/search.js +1 -0
- package/website/versions/0.4.6/assets/style.css +1413 -0
- package/website/versions/0.4.6/assets/widgets.png +0 -0
- package/website/versions/0.4.6/assets/widgets@2x.png +0 -0
- package/website/versions/0.4.6/classes/Contract.html +15 -0
- package/website/versions/0.4.6/classes/JsonRpcProvider.html +8 -0
- package/website/versions/0.4.6/classes/TinyBig.html +159 -0
- package/website/versions/0.4.6/index.html +207 -0
- package/website/versions/0.4.6/interfaces/Block.html +1 -0
- package/website/versions/0.4.6/interfaces/Transaction.html +1 -0
- package/website/versions/0.4.6/modules.html +34 -0
- package/website/versions/0.4.8/.nojekyll +1 -0
- package/website/versions/0.4.8/assets/highlight.css +71 -0
- package/website/versions/0.4.8/assets/icons.css +1043 -0
- package/website/versions/0.4.8/assets/icons.png +0 -0
- package/website/versions/0.4.8/assets/icons@2x.png +0 -0
- package/website/versions/0.4.8/assets/main.js +52 -0
- package/website/versions/0.4.8/assets/search.js +1 -0
- package/website/versions/0.4.8/assets/style.css +1413 -0
- package/website/versions/0.4.8/assets/widgets.png +0 -0
- package/website/versions/0.4.8/assets/widgets@2x.png +0 -0
- package/website/versions/0.4.8/classes/Contract.html +15 -0
- package/website/versions/0.4.8/classes/JsonRpcProvider.html +8 -0
- package/website/versions/0.4.8/classes/TinyBig.html +161 -0
- package/website/versions/0.4.8/index.html +207 -0
- package/website/versions/0.4.8/interfaces/Block.html +1 -0
- package/website/versions/0.4.8/interfaces/Transaction.html +1 -0
- package/website/versions/0.4.8/modules.html +34 -0
- package/website/versions/0.4.9-beta.0/.nojekyll +1 -0
- package/website/versions/0.4.9-beta.0/assets/highlight.css +71 -0
- package/website/versions/0.4.9-beta.0/assets/icons.css +1043 -0
- package/website/versions/0.4.9-beta.0/assets/icons.png +0 -0
- package/website/versions/0.4.9-beta.0/assets/icons@2x.png +0 -0
- package/website/versions/0.4.9-beta.0/assets/main.js +52 -0
- package/website/versions/0.4.9-beta.0/assets/search.js +1 -0
- package/website/versions/0.4.9-beta.0/assets/style.css +1413 -0
- package/website/versions/0.4.9-beta.0/assets/widgets.png +0 -0
- package/website/versions/0.4.9-beta.0/assets/widgets@2x.png +0 -0
- package/website/versions/0.4.9-beta.0/classes/Contract.html +13 -0
- package/website/versions/0.4.9-beta.0/classes/JsonRpcProvider.html +8 -0
- package/website/versions/0.4.9-beta.0/classes/TinyBig.html +161 -0
- package/website/versions/0.4.9-beta.0/index.html +207 -0
- package/website/versions/0.4.9-beta.0/interfaces/Block.html +1 -0
- package/website/versions/0.4.9-beta.0/interfaces/JSONABIArgument.html +1 -0
- package/website/versions/0.4.9-beta.0/interfaces/Network.html +3 -0
- package/website/versions/0.4.9-beta.0/interfaces/Transaction.html +1 -0
- package/website/versions/0.4.9-beta.0/modules.html +32 -0
- package/website/versions/versions/0.1.2/assets/highlight.css +57 -0
- package/website/versions/versions/0.1.2/assets/icons.css +1043 -0
- package/website/versions/versions/0.1.2/assets/icons.png +0 -0
- package/website/versions/versions/0.1.2/assets/icons@2x.png +0 -0
- package/website/versions/versions/0.1.2/assets/main.js +52 -0
- package/website/versions/versions/0.1.2/assets/search.js +1 -0
- package/website/versions/versions/0.1.2/assets/style.css +1341 -0
- package/website/versions/versions/0.1.2/assets/widgets.png +0 -0
- package/website/versions/versions/0.1.2/assets/widgets@2x.png +0 -0
- package/website/versions/versions/0.1.2/classes/TinyBig.html +4 -0
- package/website/versions/versions/0.1.2/index.html +20 -0
- package/website/versions/versions/0.1.2/modules.html +23 -0
- package/website/versions/versions/0.1.3/assets/highlight.css +64 -0
- package/website/versions/versions/0.1.3/assets/icons.css +1043 -0
- package/website/versions/versions/0.1.3/assets/icons.png +0 -0
- package/website/versions/versions/0.1.3/assets/icons@2x.png +0 -0
- package/website/versions/versions/0.1.3/assets/main.js +52 -0
- package/website/versions/versions/0.1.3/assets/search.js +1 -0
- package/website/versions/versions/0.1.3/assets/style.css +1341 -0
- package/website/versions/versions/0.1.3/assets/widgets.png +0 -0
- package/website/versions/versions/0.1.3/assets/widgets@2x.png +0 -0
- package/website/versions/versions/0.1.3/classes/TinyBig.html +4 -0
- package/website/versions/versions/0.1.3/index.html +53 -0
- package/website/versions/versions/0.1.3/modules.html +23 -0
- package/website/versions/versions/0.1.4/assets/highlight.css +64 -0
- package/website/versions/versions/0.1.4/assets/icons.css +1043 -0
- package/website/versions/versions/0.1.4/assets/icons.png +0 -0
- package/website/versions/versions/0.1.4/assets/icons@2x.png +0 -0
- package/website/versions/versions/0.1.4/assets/main.js +52 -0
- package/website/versions/versions/0.1.4/assets/search.js +1 -0
- package/website/versions/versions/0.1.4/assets/style.css +1341 -0
- package/website/versions/versions/0.1.4/assets/widgets.png +0 -0
- package/website/versions/versions/0.1.4/assets/widgets@2x.png +0 -0
- package/website/versions/versions/0.1.4/classes/TinyBig.html +4 -0
- package/website/versions/versions/0.1.4/index.html +58 -0
- package/website/versions/versions/0.1.4/modules.html +23 -0
- package/lib/cjs/classes/Contract.d.ts +0 -72
- package/lib/cjs/classes/Contract.js +0 -126
- package/lib/cjs/classes/test/Contract/crv-abi.d.ts +0 -2
- package/lib/cjs/classes/test/Contract/crv-abi.js +0 -488
- package/lib/cjs/classes/test/Contract/ens-abi.d.ts +0 -2
- package/lib/cjs/classes/test/Contract/ens-abi.js +0 -453
- package/lib/cjs/classes/test/Contract/fei-abi.d.ts +0 -2
- package/lib/cjs/classes/test/Contract/fei-abi.js +0 -526
- package/lib/cjs/classes/test/Contract/foo-abi.d.ts +0 -2
- package/lib/cjs/classes/test/Contract/foo-abi.js +0 -42
- package/lib/cjs/classes/test/Contract/uniswap-abi.d.ts +0 -2
- package/lib/cjs/classes/test/Contract/uniswap-abi.js +0 -121
- package/lib/cjs/classes/utils/clean-block.d.ts +0 -6
- package/lib/cjs/classes/utils/clean-block.js +0 -46
- package/lib/cjs/classes/utils/clean-transaction.d.ts +0 -5
- package/lib/cjs/classes/utils/clean-transaction.js +0 -38
- package/lib/cjs/classes/utils/encode-decode-transaction.d.ts +0 -3
- package/lib/cjs/classes/utils/encode-decode-transaction.js +0 -113
- package/lib/cjs/classes/utils/fetchers.d.ts +0 -9
- package/lib/cjs/classes/utils/fetchers.js +0 -33
- package/lib/cjs/classes/utils/hex-to-decimal.js +0 -11
- package/lib/cjs/index.d.ts +0 -12
- package/lib/cjs/index.js +0 -19
- package/lib/cjs/providers/JsonRpcProvider.d.ts +0 -22
- package/lib/cjs/providers/JsonRpcProvider.js +0 -69
- package/lib/cjs/providers/utils/chains-info.d.ts +0 -338
- package/lib/cjs/providers/utils/chains-info.js +0 -1015
- package/lib/cjs/shared/tiny-big/helpers.d.ts +0 -1
- package/lib/cjs/shared/tiny-big/helpers.js +0 -71
- package/lib/cjs/shared/tiny-big/tiny-big.d.ts +0 -19
- package/lib/cjs/shared/tiny-big/tiny-big.js +0 -41
- package/lib/cjs/shared/validate-type.d.ts +0 -3
- package/lib/cjs/shared/validate-type.js +0 -9
- package/lib/cjs/types/Block.types.d.ts +0 -47
- package/lib/cjs/types/Block.types.js +0 -2
- package/lib/cjs/types/Contract.types.d.ts +0 -24
- package/lib/cjs/types/Contract.types.js +0 -2
- package/lib/cjs/types/Network.types.d.ts +0 -8
- package/lib/cjs/types/Network.types.js +0 -2
- package/lib/cjs/types/Transaction.types.d.ts +0 -34
- package/lib/cjs/types/Transaction.types.js +0 -2
- package/lib/cjs/utils/ether-to-wei.js +0 -32
- package/lib/cjs/utils/is-address.d.ts +0 -5
- package/lib/cjs/utils/is-address.js +0 -20
- package/lib/cjs/utils/to-checksum-address.d.ts +0 -17
- package/lib/cjs/utils/to-checksum-address.js +0 -46
- package/lib/cjs/utils/wei-to-ether.js +0 -34
- package/lib/esm/classes/Contract.d.ts +0 -12
- package/lib/esm/classes/Contract.js +0 -63
- package/lib/esm/classes/test/Contract/crv-abi.d.ts +0 -2
- package/lib/esm/classes/test/Contract/crv-abi.js +0 -470
- package/lib/esm/classes/test/Contract/ens-abi.d.ts +0 -2
- package/lib/esm/classes/test/Contract/ens-abi.js +0 -435
- package/lib/esm/classes/test/Contract/fei-abi.d.ts +0 -2
- package/lib/esm/classes/test/Contract/fei-abi.js +0 -521
- package/lib/esm/classes/test/Contract/foo-abi.d.ts +0 -2
- package/lib/esm/classes/test/Contract/foo-abi.js +0 -33
- package/lib/esm/classes/test/Contract/uniswap-abi.d.ts +0 -2
- package/lib/esm/classes/test/Contract/uniswap-abi.js +0 -116
- package/lib/esm/classes/utils/clean-block.d.ts +0 -3
- package/lib/esm/classes/utils/clean-block.js +0 -35
- package/lib/esm/classes/utils/clean-transaction.d.ts +0 -2
- package/lib/esm/classes/utils/clean-transaction.js +0 -29
- package/lib/esm/classes/utils/encode-decode-transaction.d.ts +0 -3
- package/lib/esm/classes/utils/encode-decode-transaction.js +0 -98
- package/lib/esm/classes/utils/fetchers.d.ts +0 -9
- package/lib/esm/classes/utils/fetchers.js +0 -25
- package/lib/esm/classes/utils/hex-to-decimal.d.ts +0 -1
- package/lib/esm/classes/utils/hex-to-decimal.js +0 -3
- package/lib/esm/index.d.ts +0 -12
- package/lib/esm/index.js +0 -8
- package/lib/esm/providers/JsonRpcProvider.d.ts +0 -9
- package/lib/esm/providers/JsonRpcProvider.js +0 -49
- package/lib/esm/providers/utils/chains-info.d.ts +0 -338
- package/lib/esm/providers/utils/chains-info.js +0 -1011
- package/lib/esm/shared/tiny-big/helpers.d.ts +0 -1
- package/lib/esm/shared/tiny-big/helpers.js +0 -58
- package/lib/esm/shared/tiny-big/tiny-big.d.ts +0 -8
- package/lib/esm/shared/tiny-big/tiny-big.js +0 -22
- package/lib/esm/shared/validate-type.d.ts +0 -3
- package/lib/esm/shared/validate-type.js +0 -5
- package/lib/esm/types/Block.types.d.ts +0 -47
- package/lib/esm/types/Block.types.js +0 -1
- package/lib/esm/types/Contract.types.d.ts +0 -24
- package/lib/esm/types/Contract.types.js +0 -1
- package/lib/esm/types/Network.types.d.ts +0 -5
- package/lib/esm/types/Network.types.js +0 -1
- package/lib/esm/types/Transaction.types.d.ts +0 -34
- package/lib/esm/types/Transaction.types.js +0 -1
- package/lib/esm/utils/ether-to-wei.d.ts +0 -3
- package/lib/esm/utils/ether-to-wei.js +0 -7
- package/lib/esm/utils/is-address.d.ts +0 -1
- package/lib/esm/utils/is-address.js +0 -12
- package/lib/esm/utils/to-checksum-address.d.ts +0 -1
- package/lib/esm/utils/to-checksum-address.js +0 -25
- package/lib/esm/utils/wei-to-ether.d.ts +0 -3
- package/lib/esm/utils/wei-to-ether.js +0 -7
|
@@ -1,46 +0,0 @@
|
|
|
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;
|
|
@@ -1,38 +0,0 @@
|
|
|
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;
|
|
@@ -1,3 +0,0 @@
|
|
|
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)[];
|
|
@@ -1,113 +0,0 @@
|
|
|
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;
|
|
@@ -1,9 +0,0 @@
|
|
|
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 {};
|
|
@@ -1,33 +0,0 @@
|
|
|
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;
|
|
@@ -1,11 +0,0 @@
|
|
|
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;
|
package/lib/cjs/index.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
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 { etherToWei } from './utils/ether-to-wei';
|
|
9
|
-
import { isAddress } from './utils/is-address';
|
|
10
|
-
import { toChecksumAddress } from './utils/to-checksum-address';
|
|
11
|
-
import { weiToEther } from './utils/wei-to-ether';
|
|
12
|
-
export { etherToWei, isAddress, jsonRpcProvider, JsonRpcProvider, tinyBig, toChecksumAddress, weiToEther, Contract, TinyBig, Block, ContractTypes, JSONABI, JSONABIArgument, Network, Transaction, };
|
package/lib/cjs/index.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TinyBig = exports.Contract = exports.weiToEther = exports.toChecksumAddress = exports.tinyBig = exports.JsonRpcProvider = exports.jsonRpcProvider = exports.isAddress = exports.etherToWei = void 0;
|
|
4
|
-
const Contract_1 = require("./classes/Contract");
|
|
5
|
-
Object.defineProperty(exports, "Contract", { enumerable: true, get: function () { return Contract_1.Contract; } });
|
|
6
|
-
const JsonRpcProvider_1 = require("./providers/JsonRpcProvider");
|
|
7
|
-
Object.defineProperty(exports, "JsonRpcProvider", { enumerable: true, get: function () { return JsonRpcProvider_1.JsonRpcProvider; } });
|
|
8
|
-
Object.defineProperty(exports, "jsonRpcProvider", { enumerable: true, get: function () { return JsonRpcProvider_1.jsonRpcProvider; } });
|
|
9
|
-
const tiny_big_1 = require("./shared/tiny-big/tiny-big");
|
|
10
|
-
Object.defineProperty(exports, "tinyBig", { enumerable: true, get: function () { return tiny_big_1.tinyBig; } });
|
|
11
|
-
Object.defineProperty(exports, "TinyBig", { enumerable: true, get: function () { return tiny_big_1.TinyBig; } });
|
|
12
|
-
const ether_to_wei_1 = require("./utils/ether-to-wei");
|
|
13
|
-
Object.defineProperty(exports, "etherToWei", { enumerable: true, get: function () { return ether_to_wei_1.etherToWei; } });
|
|
14
|
-
const is_address_1 = require("./utils/is-address");
|
|
15
|
-
Object.defineProperty(exports, "isAddress", { enumerable: true, get: function () { return is_address_1.isAddress; } });
|
|
16
|
-
const to_checksum_address_1 = require("./utils/to-checksum-address");
|
|
17
|
-
Object.defineProperty(exports, "toChecksumAddress", { enumerable: true, get: function () { return to_checksum_address_1.toChecksumAddress; } });
|
|
18
|
-
const wei_to_ether_1 = require("./utils/wei-to-ether");
|
|
19
|
-
Object.defineProperty(exports, "weiToEther", { enumerable: true, get: function () { return wei_to_ether_1.weiToEther; } });
|
|
@@ -1,22 +0,0 @@
|
|
|
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
|
-
_rpcUrl: string;
|
|
8
|
-
constructor(rpcUrl?: string);
|
|
9
|
-
/**
|
|
10
|
-
* Returns the block requested
|
|
11
|
-
* Same as `web3.eth.getBlock`
|
|
12
|
-
*/
|
|
13
|
-
getBlock(timeFrame: 'latest' | 'earliest' | 'pending' | number, returnTransactionObjects?: boolean): Promise<Block>;
|
|
14
|
-
/**
|
|
15
|
-
* Returns the network this provider is connected to
|
|
16
|
-
*/
|
|
17
|
-
getNetwork(): Promise<Network>;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Helper function to avoid "new"
|
|
21
|
-
*/
|
|
22
|
-
export declare function jsonRpcProvider(rpcUrl?: string): JsonRpcProvider;
|
|
@@ -1,69 +0,0 @@
|
|
|
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 = rpcUrl || 'https://free-eth-node.com/api/eth';
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Returns the block requested
|
|
26
|
-
* Same as `web3.eth.getBlock`
|
|
27
|
-
*/
|
|
28
|
-
getBlock(timeFrame /* block number as integer */, returnTransactionObjects = false) {
|
|
29
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
let rpcTimeFrame;
|
|
31
|
-
if (typeof timeFrame === 'number') {
|
|
32
|
-
// exact block numbers require hex string format
|
|
33
|
-
rpcTimeFrame = `0x${timeFrame.toString(16)}`;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
// "latest", "earliest", and "pending" require no manipulation
|
|
37
|
-
rpcTimeFrame = timeFrame;
|
|
38
|
-
}
|
|
39
|
-
const nodeResponse = (yield (0, fetchers_1.post)(this._rpcUrl, (0, fetchers_1.buildRPCPostBody)('eth_getBlockByNumber', [
|
|
40
|
-
rpcTimeFrame,
|
|
41
|
-
returnTransactionObjects,
|
|
42
|
-
])));
|
|
43
|
-
return (0, clean_block_1.cleanBlock)(nodeResponse, returnTransactionObjects);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Returns the network this provider is connected to
|
|
48
|
-
*/
|
|
49
|
-
getNetwork() {
|
|
50
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
const nodeResponse = (yield (0, fetchers_1.post)(this._rpcUrl, (0, fetchers_1.buildRPCPostBody)('eth_chainId', [])));
|
|
52
|
-
const chainId = (0, hex_to_decimal_1.hexToDecimal)(nodeResponse);
|
|
53
|
-
const info = chains_info_1.default[chainId];
|
|
54
|
-
return {
|
|
55
|
-
chainId: Number(chainId),
|
|
56
|
-
name: info[0] || 'unknown',
|
|
57
|
-
ensAddress: info[1] || null, // only send ensAddress if it exists
|
|
58
|
-
};
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.JsonRpcProvider = JsonRpcProvider;
|
|
63
|
-
/**
|
|
64
|
-
* Helper function to avoid "new"
|
|
65
|
-
*/
|
|
66
|
-
function jsonRpcProvider(rpcUrl) {
|
|
67
|
-
return new JsonRpcProvider(rpcUrl);
|
|
68
|
-
}
|
|
69
|
-
exports.jsonRpcProvider = jsonRpcProvider;
|