essential-eth 0.9.1-next.1 → 0.9.2-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.
Files changed (205) hide show
  1. package/dist/essential-eth.esm.mjs +2 -0
  2. package/dist/essential-eth.esm.mjs.map +1 -0
  3. package/dist/essential-eth.js +2 -0
  4. package/dist/essential-eth.js.map +1 -0
  5. package/dist/essential-eth.modern.mjs +2 -0
  6. package/dist/essential-eth.modern.mjs.map +1 -0
  7. package/dist/essential-eth.umd.js +2 -0
  8. package/dist/essential-eth.umd.js.map +1 -0
  9. package/dist/logger/package-version.d.ts +1 -0
  10. package/package.json +11 -13
  11. package/readme.md +1 -1
  12. package/dist/cjs/classes/Contract.js +0 -138
  13. package/dist/cjs/classes/test/Contract/crv-abi.js +0 -488
  14. package/dist/cjs/classes/test/Contract/ens-abi.js +0 -453
  15. package/dist/cjs/classes/test/Contract/fei-abi.js +0 -526
  16. package/dist/cjs/classes/test/Contract/foo-abi.js +0 -42
  17. package/dist/cjs/classes/test/Contract/uniswap-abi.js +0 -121
  18. package/dist/cjs/classes/utils/clean-block.js +0 -160
  19. package/dist/cjs/classes/utils/clean-log.js +0 -37
  20. package/dist/cjs/classes/utils/clean-transaction-receipt.js +0 -51
  21. package/dist/cjs/classes/utils/clean-transaction.js +0 -52
  22. package/dist/cjs/classes/utils/encode-decode-transaction.js +0 -177
  23. package/dist/cjs/classes/utils/fetchers.js +0 -94
  24. package/dist/cjs/classes/utils/hex-to-decimal.js +0 -24
  25. package/dist/cjs/classes/utils/prepare-transaction.js +0 -45
  26. package/dist/cjs/index.js +0 -56
  27. package/dist/cjs/index.umd.js +0 -2
  28. package/dist/cjs/index.umd.js.map +0 -1
  29. package/dist/cjs/logger/logger.js +0 -36
  30. package/dist/cjs/logger/package-version.d.ts +0 -1
  31. package/dist/cjs/logger/package-version.js +0 -5
  32. package/dist/cjs/providers/AlchemyProvider.js +0 -11
  33. package/dist/cjs/providers/BaseProvider.js +0 -549
  34. package/dist/cjs/providers/FallthroughProvider.js +0 -73
  35. package/dist/cjs/providers/JsonRpcProvider.js +0 -46
  36. package/dist/cjs/providers/test/json-rpc-provider/get-logs/mocks.js +0 -152
  37. package/dist/cjs/providers/test/mock-of.js +0 -12
  38. package/dist/cjs/providers/test/rpc-urls.js +0 -25
  39. package/dist/cjs/providers/utils/chains-info.js +0 -71
  40. package/dist/cjs/shared/tiny-big/helpers.js +0 -97
  41. package/dist/cjs/shared/tiny-big/tiny-big.js +0 -101
  42. package/dist/cjs/shared/validate-type.js +0 -9
  43. package/dist/cjs/types/Block.types.js +0 -2
  44. package/dist/cjs/types/Contract.types.js +0 -2
  45. package/dist/cjs/types/FeeData.types.js +0 -2
  46. package/dist/cjs/types/Filter.types.js +0 -2
  47. package/dist/cjs/types/Network.types.js +0 -2
  48. package/dist/cjs/types/Transaction.types.js +0 -2
  49. package/dist/cjs/utils/bytes.js +0 -711
  50. package/dist/cjs/utils/compute-address.js +0 -34
  51. package/dist/cjs/utils/compute-public-key.js +0 -26
  52. package/dist/cjs/utils/ether-to-gwei.js +0 -35
  53. package/dist/cjs/utils/ether-to-wei.js +0 -35
  54. package/dist/cjs/utils/gwei-to-ether.js +0 -35
  55. package/dist/cjs/utils/hash-message.js +0 -30
  56. package/dist/cjs/utils/is-address.js +0 -39
  57. package/dist/cjs/utils/keccak256.js +0 -31
  58. package/dist/cjs/utils/solidity-keccak256.js +0 -138
  59. package/dist/cjs/utils/split-signature.js +0 -163
  60. package/dist/cjs/utils/to-checksum-address.js +0 -46
  61. package/dist/cjs/utils/to-utf8-bytes.js +0 -21
  62. package/dist/cjs/utils/wei-to-ether.js +0 -45
  63. package/dist/esm/classes/Contract.d.ts +0 -11
  64. package/dist/esm/classes/Contract.js +0 -61
  65. package/dist/esm/classes/test/Contract/crv-abi.d.ts +0 -2
  66. package/dist/esm/classes/test/Contract/crv-abi.js +0 -470
  67. package/dist/esm/classes/test/Contract/ens-abi.d.ts +0 -2
  68. package/dist/esm/classes/test/Contract/ens-abi.js +0 -435
  69. package/dist/esm/classes/test/Contract/fei-abi.d.ts +0 -2
  70. package/dist/esm/classes/test/Contract/fei-abi.js +0 -521
  71. package/dist/esm/classes/test/Contract/foo-abi.d.ts +0 -2
  72. package/dist/esm/classes/test/Contract/foo-abi.js +0 -33
  73. package/dist/esm/classes/test/Contract/uniswap-abi.d.ts +0 -2
  74. package/dist/esm/classes/test/Contract/uniswap-abi.js +0 -116
  75. package/dist/esm/classes/utils/clean-block.d.ts +0 -2
  76. package/dist/esm/classes/utils/clean-block.js +0 -35
  77. package/dist/esm/classes/utils/clean-log.d.ts +0 -2
  78. package/dist/esm/classes/utils/clean-log.js +0 -26
  79. package/dist/esm/classes/utils/clean-transaction-receipt.d.ts +0 -2
  80. package/dist/esm/classes/utils/clean-transaction-receipt.js +0 -35
  81. package/dist/esm/classes/utils/clean-transaction.d.ts +0 -2
  82. package/dist/esm/classes/utils/clean-transaction.js +0 -34
  83. package/dist/esm/classes/utils/encode-decode-transaction.d.ts +0 -4
  84. package/dist/esm/classes/utils/encode-decode-transaction.js +0 -134
  85. package/dist/esm/classes/utils/fetchers.d.ts +0 -15
  86. package/dist/esm/classes/utils/fetchers.js +0 -46
  87. package/dist/esm/classes/utils/hex-to-decimal.d.ts +0 -1
  88. package/dist/esm/classes/utils/hex-to-decimal.js +0 -3
  89. package/dist/esm/classes/utils/prepare-transaction.d.ts +0 -2
  90. package/dist/esm/classes/utils/prepare-transaction.js +0 -34
  91. package/dist/esm/index.d.ts +0 -25
  92. package/dist/esm/index.js +0 -20
  93. package/dist/esm/logger/logger.d.ts +0 -11
  94. package/dist/esm/logger/logger.js +0 -33
  95. package/dist/esm/logger/package-version.d.ts +0 -1
  96. package/dist/esm/logger/package-version.js +0 -1
  97. package/dist/esm/providers/AlchemyProvider.d.ts +0 -4
  98. package/dist/esm/providers/AlchemyProvider.js +0 -7
  99. package/dist/esm/providers/BaseProvider.d.ts +0 -26
  100. package/dist/esm/providers/BaseProvider.js +0 -172
  101. package/dist/esm/providers/FallthroughProvider.d.ts +0 -11
  102. package/dist/esm/providers/FallthroughProvider.js +0 -49
  103. package/dist/esm/providers/JsonRpcProvider.d.ts +0 -7
  104. package/dist/esm/providers/JsonRpcProvider.js +0 -15
  105. package/dist/esm/providers/test/json-rpc-provider/get-logs/mocks.d.ts +0 -14
  106. package/dist/esm/providers/test/json-rpc-provider/get-logs/mocks.js +0 -142
  107. package/dist/esm/providers/test/mock-of.d.ts +0 -2
  108. package/dist/esm/providers/test/mock-of.js +0 -1
  109. package/dist/esm/providers/test/rpc-urls.d.ts +0 -12
  110. package/dist/esm/providers/test/rpc-urls.js +0 -19
  111. package/dist/esm/providers/utils/chains-info.d.ts +0 -24
  112. package/dist/esm/providers/utils/chains-info.js +0 -67
  113. package/dist/esm/shared/tiny-big/helpers.d.ts +0 -1
  114. package/dist/esm/shared/tiny-big/helpers.js +0 -58
  115. package/dist/esm/shared/tiny-big/tiny-big.d.ts +0 -10
  116. package/dist/esm/shared/tiny-big/tiny-big.js +0 -45
  117. package/dist/esm/shared/validate-type.d.ts +0 -3
  118. package/dist/esm/shared/validate-type.js +0 -5
  119. package/dist/esm/types/Block.types.d.ts +0 -40
  120. package/dist/esm/types/Block.types.js +0 -1
  121. package/dist/esm/types/Contract.types.d.ts +0 -24
  122. package/dist/esm/types/Contract.types.js +0 -1
  123. package/dist/esm/types/FeeData.types.d.ts +0 -7
  124. package/dist/esm/types/FeeData.types.js +0 -1
  125. package/dist/esm/types/Filter.types.d.ts +0 -12
  126. package/dist/esm/types/Filter.types.js +0 -1
  127. package/dist/esm/types/Network.types.d.ts +0 -5
  128. package/dist/esm/types/Network.types.js +0 -1
  129. package/dist/esm/types/Transaction.types.d.ts +0 -113
  130. package/dist/esm/types/Transaction.types.js +0 -1
  131. package/dist/esm/utils/bytes.d.ts +0 -40
  132. package/dist/esm/utils/bytes.js +0 -245
  133. package/dist/esm/utils/compute-address.d.ts +0 -1
  134. package/dist/esm/utils/compute-address.js +0 -12
  135. package/dist/esm/utils/compute-public-key.d.ts +0 -2
  136. package/dist/esm/utils/compute-public-key.js +0 -6
  137. package/dist/esm/utils/ether-to-gwei.d.ts +0 -3
  138. package/dist/esm/utils/ether-to-gwei.js +0 -7
  139. package/dist/esm/utils/ether-to-wei.d.ts +0 -3
  140. package/dist/esm/utils/ether-to-wei.js +0 -7
  141. package/dist/esm/utils/gwei-to-ether.d.ts +0 -3
  142. package/dist/esm/utils/gwei-to-ether.js +0 -7
  143. package/dist/esm/utils/hash-message.d.ts +0 -2
  144. package/dist/esm/utils/hash-message.js +0 -14
  145. package/dist/esm/utils/is-address.d.ts +0 -1
  146. package/dist/esm/utils/is-address.js +0 -12
  147. package/dist/esm/utils/keccak256.d.ts +0 -2
  148. package/dist/esm/utils/keccak256.js +0 -13
  149. package/dist/esm/utils/solidity-keccak256.d.ts +0 -2
  150. package/dist/esm/utils/solidity-keccak256.js +0 -85
  151. package/dist/esm/utils/split-signature.d.ts +0 -2
  152. package/dist/esm/utils/split-signature.js +0 -126
  153. package/dist/esm/utils/to-checksum-address.d.ts +0 -1
  154. package/dist/esm/utils/to-checksum-address.js +0 -25
  155. package/dist/esm/utils/to-utf8-bytes.d.ts +0 -1
  156. package/dist/esm/utils/to-utf8-bytes.js +0 -3
  157. package/dist/esm/utils/wei-to-ether.d.ts +0 -3
  158. package/dist/esm/utils/wei-to-ether.js +0 -16
  159. /package/dist/{cjs/classes → classes}/Contract.d.ts +0 -0
  160. /package/dist/{cjs/classes → classes}/test/Contract/crv-abi.d.ts +0 -0
  161. /package/dist/{cjs/classes → classes}/test/Contract/ens-abi.d.ts +0 -0
  162. /package/dist/{cjs/classes → classes}/test/Contract/fei-abi.d.ts +0 -0
  163. /package/dist/{cjs/classes → classes}/test/Contract/foo-abi.d.ts +0 -0
  164. /package/dist/{cjs/classes → classes}/test/Contract/uniswap-abi.d.ts +0 -0
  165. /package/dist/{cjs/classes → classes}/utils/clean-block.d.ts +0 -0
  166. /package/dist/{cjs/classes → classes}/utils/clean-log.d.ts +0 -0
  167. /package/dist/{cjs/classes → classes}/utils/clean-transaction-receipt.d.ts +0 -0
  168. /package/dist/{cjs/classes → classes}/utils/clean-transaction.d.ts +0 -0
  169. /package/dist/{cjs/classes → classes}/utils/encode-decode-transaction.d.ts +0 -0
  170. /package/dist/{cjs/classes → classes}/utils/fetchers.d.ts +0 -0
  171. /package/dist/{cjs/classes → classes}/utils/hex-to-decimal.d.ts +0 -0
  172. /package/dist/{cjs/classes → classes}/utils/prepare-transaction.d.ts +0 -0
  173. /package/dist/{cjs/index.d.ts → index.d.ts} +0 -0
  174. /package/dist/{cjs/logger → logger}/logger.d.ts +0 -0
  175. /package/dist/{cjs/providers → providers}/AlchemyProvider.d.ts +0 -0
  176. /package/dist/{cjs/providers → providers}/BaseProvider.d.ts +0 -0
  177. /package/dist/{cjs/providers → providers}/FallthroughProvider.d.ts +0 -0
  178. /package/dist/{cjs/providers → providers}/JsonRpcProvider.d.ts +0 -0
  179. /package/dist/{cjs/providers → providers}/test/json-rpc-provider/get-logs/mocks.d.ts +0 -0
  180. /package/dist/{cjs/providers → providers}/test/mock-of.d.ts +0 -0
  181. /package/dist/{cjs/providers → providers}/test/rpc-urls.d.ts +0 -0
  182. /package/dist/{cjs/providers → providers}/utils/chains-info.d.ts +0 -0
  183. /package/dist/{cjs/shared → shared}/tiny-big/helpers.d.ts +0 -0
  184. /package/dist/{cjs/shared → shared}/tiny-big/tiny-big.d.ts +0 -0
  185. /package/dist/{cjs/shared → shared}/validate-type.d.ts +0 -0
  186. /package/dist/{cjs/types → types}/Block.types.d.ts +0 -0
  187. /package/dist/{cjs/types → types}/Contract.types.d.ts +0 -0
  188. /package/dist/{cjs/types → types}/FeeData.types.d.ts +0 -0
  189. /package/dist/{cjs/types → types}/Filter.types.d.ts +0 -0
  190. /package/dist/{cjs/types → types}/Network.types.d.ts +0 -0
  191. /package/dist/{cjs/types → types}/Transaction.types.d.ts +0 -0
  192. /package/dist/{cjs/utils → utils}/bytes.d.ts +0 -0
  193. /package/dist/{cjs/utils → utils}/compute-address.d.ts +0 -0
  194. /package/dist/{cjs/utils → utils}/compute-public-key.d.ts +0 -0
  195. /package/dist/{cjs/utils → utils}/ether-to-gwei.d.ts +0 -0
  196. /package/dist/{cjs/utils → utils}/ether-to-wei.d.ts +0 -0
  197. /package/dist/{cjs/utils → utils}/gwei-to-ether.d.ts +0 -0
  198. /package/dist/{cjs/utils → utils}/hash-message.d.ts +0 -0
  199. /package/dist/{cjs/utils → utils}/is-address.d.ts +0 -0
  200. /package/dist/{cjs/utils → utils}/keccak256.d.ts +0 -0
  201. /package/dist/{cjs/utils → utils}/solidity-keccak256.d.ts +0 -0
  202. /package/dist/{cjs/utils → utils}/split-signature.d.ts +0 -0
  203. /package/dist/{cjs/utils → utils}/to-checksum-address.d.ts +0 -0
  204. /package/dist/{cjs/utils → utils}/to-utf8-bytes.d.ts +0 -0
  205. /package/dist/{cjs/utils → utils}/wei-to-ether.d.ts +0 -0
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FallthroughProvider = void 0;
4
- const logger_1 = require("../logger/logger");
5
- const BaseProvider_1 = require("./BaseProvider");
6
- // https://advancedweb.hu/how-to-add-timeout-to-a-promise-in-javascript/
7
- const promiseTimeout = (prom, time) => new Promise((resolve, reject) => {
8
- const timeout = setTimeout(() => reject(new Error('Promise timed out')), time);
9
- prom
10
- .then((result) => {
11
- clearTimeout(timeout);
12
- resolve(result);
13
- })
14
- .catch((error) => {
15
- clearTimeout(timeout);
16
- reject(error);
17
- });
18
- });
19
- const DEFAULT_TIMEOUT_DURATION = 8000;
20
- /**
21
- * @beta
22
- * A JSON RPC Provider which moves to the next URL when one fails.
23
- */
24
- class FallthroughProvider extends BaseProvider_1.BaseProvider {
25
- /**
26
- * @ignore
27
- */
28
- selectRpcUrl() {
29
- return this._rpcUrls[this.rpcUrlCounter];
30
- }
31
- constructor(rpcUrls, options = {}) {
32
- if (!Array.isArray(rpcUrls)) {
33
- logger_1.logger.throwError('Array required', { rpcUrls });
34
- }
35
- if (rpcUrls.length <= 1) {
36
- logger_1.logger.throwError('More than one rpcUrl is required', { rpcUrls });
37
- }
38
- super(rpcUrls);
39
- // index of current trusted rpc url
40
- /**
41
- * @ignore
42
- */
43
- this.rpcUrlCounter = 0;
44
- /**
45
- * @ignore
46
- */
47
- this.post = (body) => {
48
- // while failing post, add to rpcUrlCounter and post again
49
- const genesisCount = this.rpcUrlCounter;
50
- const recursivePostRetry = () => {
51
- // Times out request
52
- const genesisRpcUrl = this.selectRpcUrl();
53
- const res = promiseTimeout(this._post(body), this.timeoutDuration).catch((e) => {
54
- // A mutex: Only add if no other instance has discovered this url as failing yet
55
- if (genesisRpcUrl === this.selectRpcUrl()) {
56
- // add one and handle array overflow
57
- this.rpcUrlCounter =
58
- (this.rpcUrlCounter + 1) % this._rpcUrls.length;
59
- }
60
- // we've already tried this rpc, throw for good
61
- if (this.rpcUrlCounter === genesisCount) {
62
- throw e;
63
- }
64
- return recursivePostRetry();
65
- });
66
- return res;
67
- };
68
- return recursivePostRetry();
69
- };
70
- this.timeoutDuration = options.timeoutDuration || DEFAULT_TIMEOUT_DURATION;
71
- }
72
- }
73
- exports.FallthroughProvider = FallthroughProvider;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.jsonRpcProvider = exports.JsonRpcProvider = void 0;
4
- const BaseProvider_1 = require("./BaseProvider");
5
- class JsonRpcProvider extends BaseProvider_1.BaseProvider {
6
- /**
7
- * @ignore
8
- */
9
- selectRpcUrl() {
10
- return this._rpcUrls[0];
11
- }
12
- /**
13
- * @ignore
14
- */
15
- post(body) {
16
- return this._post(body);
17
- }
18
- /**
19
- * @param rpcUrl The URL to your Eth node. Consider POKT or Infura
20
- * @example
21
- * `https://free-eth-node.com/api/eth`
22
- * @example
23
- * `https://mainnet.infura.io/v3/YOUR-PROJECT-ID`
24
- */
25
- constructor(rpcUrl = 'https://free-eth-node.com/api/eth') {
26
- super([rpcUrl]);
27
- }
28
- }
29
- exports.JsonRpcProvider = JsonRpcProvider;
30
- /**
31
- * Helper function to avoid "new"
32
- *
33
- * @param rpcUrl the RPC URL to post requests to
34
- * @returns an initiated {@link JsonRpcProvider}
35
- * @example
36
- * ```javascript
37
- * jsonRpcProvider().getBlock('latest').then(block => {
38
- * console.log(block.number);
39
- * })
40
- * // 14530496
41
- * ```
42
- */
43
- function jsonRpcProvider(rpcUrl) {
44
- return new JsonRpcProvider(rpcUrl);
45
- }
46
- exports.jsonRpcProvider = jsonRpcProvider;
@@ -1,152 +0,0 @@
1
- "use strict";
2
- // Example logs that should be returned
3
- // https://etherscan.io/address/0xfbddadd80fe7bda00b901fbaf73803f2238ae655#events
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.mockRpcAllResponse = exports.mockRpcAddressTopicsResponse = exports.mockRpcAddressFromToResponse = exports.mockfilterAllLogs = exports.mockfilterAddressTopicsLogs = exports.mockfilterAddressFromToLogs = exports.filterAll = exports.WETH_ADDRESS = exports.filterAddressTopics = exports.RARELAND_ADDRESS = exports.filterAddressFromTo = exports.STRONGBLOCK_ADDRESS = void 0;
6
- // Block(s) are 14809329
7
- exports.STRONGBLOCK_ADDRESS = '0xfbddadd80fe7bda00b901fbaf73803f2238ae655';
8
- exports.filterAddressFromTo = {
9
- address: exports.STRONGBLOCK_ADDRESS,
10
- fromBlock: '0xE1F8F1',
11
- toBlock: '0xE1F8F1',
12
- };
13
- // Example logs that should be returned
14
- // https://etherscan.io/address/0x596a0f276ee432d8a28441e55737ff55cf30d0f7#events
15
- exports.RARELAND_ADDRESS = '0x596a0f276ee432d8a28441e55737ff55cf30d0f7';
16
- exports.filterAddressTopics = {
17
- address: exports.RARELAND_ADDRESS,
18
- topics: [
19
- '0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925',
20
- ],
21
- };
22
- // https://etherscan.io/address/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2#events
23
- // Address is for Wrapped Ether Contract
24
- exports.WETH_ADDRESS = '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2';
25
- exports.filterAll = {
26
- address: exports.WETH_ADDRESS,
27
- topics: [
28
- '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
29
- '0x00000000000000000000000021b8065d10f73ee2e260e5b47d3344d3ced7596e',
30
- ],
31
- fromBlock: 14825027,
32
- toBlock: 14825039,
33
- };
34
- exports.mockfilterAddressFromToLogs = [
35
- {
36
- address: '0xfbddadd80fe7bda00b901fbaf73803f2238ae655',
37
- topics: [
38
- '0xd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a',
39
- '0x00000000000000000000000028c2e3e17f8c61a9b7515f7bb1e1347846588b82',
40
- ],
41
- data: '0x0000000000000000000000000000000000000000000000001dbaed81bf64db6d',
42
- blockNumber: '0xe1f8f1',
43
- transactionHash: '0x5dec3a55b87edac0af5c4a9afdd015bb04303fdf86525dd1cc4e7aa7653b6301',
44
- transactionIndex: '0x29',
45
- blockHash: '0x343ead2d84a53b054bc191fe00807d59b40094bb0cbc49b3ba550169b046d4b8',
46
- logIndex: '0x88',
47
- removed: false,
48
- },
49
- {
50
- address: '0xfbddadd80fe7bda00b901fbaf73803f2238ae655',
51
- topics: [
52
- '0xd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a',
53
- '0x000000000000000000000000c3b80d78bb52fd734c4f730dad5e190ba4ecb830',
54
- ],
55
- data: '0x0000000000000000000000000000000000000000000000001c277de315af8924',
56
- blockNumber: '0xe1f8f1',
57
- transactionHash: '0xae04b63efd57852e34bdc84e257bb413f9f942288f63a131d4b7071c8ee0b896',
58
- transactionIndex: '0x2f',
59
- blockHash: '0x343ead2d84a53b054bc191fe00807d59b40094bb0cbc49b3ba550169b046d4b8',
60
- logIndex: '0x95',
61
- removed: false,
62
- },
63
- {
64
- address: '0xfbddadd80fe7bda00b901fbaf73803f2238ae655',
65
- topics: [
66
- '0xd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a',
67
- '0x000000000000000000000000f1a192063f0a2b2be0cbcb2978b13e95e7f35f6b',
68
- ],
69
- data: '0x00000000000000000000000000000000000000000000000018ecfa70ea275b6d',
70
- blockNumber: '0xe1f8f1',
71
- transactionHash: '0xbdba7260507b4ca24757809ac9a23e5225e80a491475ccf89a04c1894a693c77',
72
- transactionIndex: '0x30',
73
- blockHash: '0x343ead2d84a53b054bc191fe00807d59b40094bb0cbc49b3ba550169b046d4b8',
74
- logIndex: '0x97',
75
- removed: false,
76
- },
77
- {
78
- address: '0xfbddadd80fe7bda00b901fbaf73803f2238ae655',
79
- topics: [
80
- '0xd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a',
81
- '0x000000000000000000000000c78dc12c9b04858d57a108ae948020344895e910',
82
- ],
83
- data: '0x0000000000000000000000000000000000000000000000000da5142efe16e492',
84
- blockNumber: '0xe1f8f1',
85
- transactionHash: '0xdcf29bd8a44ec89a3b53488dd60b76bd7f1c532db76f88e166f3de1ab216537e',
86
- transactionIndex: '0x31',
87
- blockHash: '0x343ead2d84a53b054bc191fe00807d59b40094bb0cbc49b3ba550169b046d4b8',
88
- logIndex: '0x99',
89
- removed: false,
90
- },
91
- {
92
- address: '0xfbddadd80fe7bda00b901fbaf73803f2238ae655',
93
- topics: [
94
- '0xd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a',
95
- '0x000000000000000000000000aaf5c3760f4a77bdf23974f98d69f9ccfd778aea',
96
- ],
97
- data: '0x0000000000000000000000000000000000000000000000001086ed3d87034000',
98
- blockNumber: '0xe1f8f1',
99
- transactionHash: '0x56130c6e8fdafd0e08411b21ce984eeb56dc61d99a91f03efc7edde748d7ad81',
100
- transactionIndex: '0x35',
101
- blockHash: '0x343ead2d84a53b054bc191fe00807d59b40094bb0cbc49b3ba550169b046d4b8',
102
- logIndex: '0xac',
103
- removed: false,
104
- },
105
- {
106
- address: '0xfbddadd80fe7bda00b901fbaf73803f2238ae655',
107
- topics: [
108
- '0x39b0a0620bb668047ab7248973ddfd93d53dff1d4952bd2d56bbf5934edc1fd0',
109
- '0x0000000000000000000000001753de22132990dd5ab35f13a5951431c8ba08ea',
110
- ],
111
- data: '0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000e3203b',
112
- blockNumber: '0xe1f8f1',
113
- transactionHash: '0xf5a77d85296cc670d577d3c9a76b1fa18be77239a4cb4c05493530866d60c36f',
114
- transactionIndex: '0x3a',
115
- blockHash: '0x343ead2d84a53b054bc191fe00807d59b40094bb0cbc49b3ba550169b046d4b8',
116
- logIndex: '0xb5',
117
- removed: false,
118
- },
119
- ];
120
- exports.mockfilterAddressTopicsLogs = [];
121
- exports.mockfilterAllLogs = [
122
- {
123
- address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
124
- topics: [
125
- '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
126
- '0x00000000000000000000000021b8065d10f73ee2e260e5b47d3344d3ced7596e',
127
- '0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45',
128
- ],
129
- data: '0x000000000000000000000000000000000000000000000000005f862ee352a38a',
130
- blockNumber: '0xe23645',
131
- transactionHash: '0xbd49031be16f8fd1775f4e0fe79b408ffd8ae9c65b2827ee47e3238e3f51f4c0',
132
- transactionIndex: '0xe2',
133
- blockHash: '0x8e0dfac2f704851960f866c8708b3bef2f66c0fee0329cf25ff0261b264ca6bc',
134
- logIndex: '0x180',
135
- removed: false,
136
- },
137
- ];
138
- exports.mockRpcAddressFromToResponse = JSON.stringify({
139
- jsonrpc: '2.0',
140
- id: 1,
141
- result: exports.mockfilterAddressFromToLogs,
142
- });
143
- exports.mockRpcAddressTopicsResponse = JSON.stringify({
144
- jsonrpc: '2.0',
145
- id: 1,
146
- result: exports.mockfilterAddressTopicsLogs,
147
- });
148
- exports.mockRpcAllResponse = JSON.stringify({
149
- jsonrpc: '2.0',
150
- id: 1,
151
- result: exports.mockfilterAllLogs,
152
- });
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mockOf = void 0;
4
- /**
5
- * Helper function for mocking other functions.
6
- *
7
- * @param fn
8
- * @example mockOf(stripe.checkout.sessions.create).mockResolvedValue(mockSession);
9
- * @see https://twitter.com/scastiel/status/1631354119192473601?s=20
10
- */
11
- const mockOf = (fn) => fn;
12
- exports.mockOf = mockOf;
@@ -1,25 +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.rpcUrls = exports.fakeUrls = void 0;
7
- const zod_1 = __importDefault(require("zod"));
8
- exports.fakeUrls = {
9
- notRPCButRealHttp: 'https://httpstat.us/200',
10
- };
11
- const RPC_ORIGIN = 'https://free-eth-node.com';
12
- zod_1.default.string({
13
- required_error: '"RPC_ORIGIN" required but not found',
14
- })
15
- .url('Expected url for "RPC_ORIGIN"')
16
- .parse(RPC_ORIGIN);
17
- exports.rpcUrls = {
18
- mainnet: `${RPC_ORIGIN}/api/eth`,
19
- oeth: `${RPC_ORIGIN}/api/oeth`,
20
- matic: `${RPC_ORIGIN}/api/MATIC`,
21
- gno: `${RPC_ORIGIN}/api/gno`,
22
- bnb: `${RPC_ORIGIN}/api/bnb`,
23
- arb1: `${RPC_ORIGIN}/api/arb1`,
24
- gor: `${RPC_ORIGIN}/api/gor`,
25
- };
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- // autogenerated in "fetch-chains-info.ts"
4
- // Do not edit directly
5
- exports.default = {
6
- "1": [
7
- "eth",
8
- "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"
9
- ],
10
- "5": [
11
- "gor",
12
- "0x112234455c3a32fd11230c42e7bccd4a84e02010"
13
- ],
14
- "10": [
15
- "oeth"
16
- ],
17
- "50": [
18
- "xdc"
19
- ],
20
- "56": [
21
- "bnb"
22
- ],
23
- "100": [
24
- "gno"
25
- ],
26
- "137": [
27
- "matic"
28
- ],
29
- "250": [
30
- "ftm"
31
- ],
32
- "324": [
33
- "zksync"
34
- ],
35
- "1101": [
36
- "zkevm"
37
- ],
38
- "1337": [
39
- "geth"
40
- ],
41
- "7700": [
42
- "canto"
43
- ],
44
- "9001": [
45
- "evmos"
46
- ],
47
- "42161": [
48
- "arb1"
49
- ],
50
- "42220": [
51
- "celo"
52
- ],
53
- "43114": [
54
- "avax"
55
- ],
56
- "59140": [
57
- "linea-testnet"
58
- ],
59
- "80001": [
60
- "maticmum"
61
- ],
62
- "421613": [
63
- "arb-goerli"
64
- ],
65
- "534352": [
66
- "scr"
67
- ],
68
- "11155111": [
69
- "sep"
70
- ]
71
- };
@@ -1,97 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.scientificStrToDecimalStr = void 0;
4
- /**
5
- * Strips both leading and trailing zeroes from a number string
6
- *
7
- * @param numberString the string of numbers to strip zeros from
8
- * @returns a string of numbers without leading or trailing zeros
9
- * @example
10
- * ```javascript
11
- * stripTrailingZeros('0005280');
12
- * // '5280'
13
- * ```
14
- */
15
- function stripTrailingZeroes(numberString) {
16
- const isNegative = numberString.startsWith('-');
17
- numberString = numberString.replace('-', '');
18
- numberString = numberString.replace(/\.0*$/g, '' /* for numbers like "1.0" -> "1" */);
19
- numberString = numberString.replace(/^0+/, '');
20
- // for numbers like "1.10" -> "1.1"
21
- if (numberString.includes('.')) {
22
- numberString = numberString.replace(/0+$/, '');
23
- }
24
- if (numberString.startsWith('.')) {
25
- // so that ".1" returns as "0.1"
26
- numberString = `0${numberString}`;
27
- }
28
- return `${isNegative ? '-' : ''}${numberString}`;
29
- }
30
- /**
31
- * Converts a string in scientific notation formatting to string in decimal format
32
- *
33
- * @param scientificString a string in scientific format to convert to decimal
34
- * @returns a string of a decimal number equivalent to the specified scientificString
35
- * @example
36
- * ```javascript
37
- * scientificStrToDecimalStr('2.3e-5');
38
- * // '0.000023'
39
- * ```
40
- * @example
41
- * ```javascript
42
- * scientificStrToDecimalStr('2.3e+5');
43
- * // '230000'
44
- * ```
45
- */
46
- function scientificStrToDecimalStr(scientificString) {
47
- // Does not contain "e" nor "E"
48
- if (!scientificString.match(/e/i /* lowercase and uppercase E */)) {
49
- return stripTrailingZeroes(scientificString);
50
- }
51
- // eslint-disable-next-line prefer-const
52
- let [base, power] = scientificString.split(/e/i /* lowercase and uppercase E */);
53
- // remove the leading "-" if negative
54
- const isNegative = Number(base) < 0;
55
- base = base.replace('-', '');
56
- base = stripTrailingZeroes(base);
57
- const [wholeNumber, fraction /* move decimal this many places */ = ''] = base.split('.');
58
- if (Number(power) === 0) {
59
- return `${isNegative ? '-' : ''}${stripTrailingZeroes(base)}`;
60
- }
61
- else {
62
- const includesDecimal = base.includes('.');
63
- if (!includesDecimal) {
64
- base = `${base}.`;
65
- }
66
- base = base.replace('.', '');
67
- const baseLength = base.length;
68
- let splitPaddedNumber;
69
- if (Number(power) < 0) {
70
- // move decimal left
71
- if (wholeNumber.length < Math.abs(Number(power))) {
72
- base = base.padStart(baseLength + Math.abs(Number(power)) - wholeNumber.length, '0');
73
- }
74
- splitPaddedNumber = base.split('');
75
- if (wholeNumber.length < Math.abs(Number(power))) {
76
- // starts with zeroes
77
- splitPaddedNumber = ['.', ...splitPaddedNumber];
78
- }
79
- else {
80
- splitPaddedNumber.splice(splitPaddedNumber.length - Math.abs(Number(power)), 0, '.');
81
- }
82
- }
83
- else {
84
- // move decimal right
85
- if (fraction.length < Math.abs(Number(power))) {
86
- base = base.padEnd(baseLength + Math.abs(Number(power)) - fraction.length, '0');
87
- }
88
- splitPaddedNumber = base.split('');
89
- if (fraction.length > Math.abs(Number(power))) {
90
- splitPaddedNumber.splice(splitPaddedNumber.length - Math.abs(Number(power)), 0, '.');
91
- }
92
- }
93
- const toReturn = stripTrailingZeroes(splitPaddedNumber.join(''));
94
- return `${isNegative ? '-' : ''}${toReturn}`;
95
- }
96
- }
97
- exports.scientificStrToDecimalStr = scientificStrToDecimalStr;
@@ -1,101 +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.tinyBig = exports.TinyBig = void 0;
7
- const big_js_1 = __importDefault(require("big.js"));
8
- const hex_to_decimal_1 = require("../../classes/utils/hex-to-decimal");
9
- const helpers_1 = require("./helpers");
10
- /**
11
- * A wrapper around [big.js](https://github.com/MikeMcl/big.js) which expands scientific notation and creates a "toHexString" function.
12
- * This is the return type of every operation on ether, wei, etc.
13
- */
14
- class TinyBig extends big_js_1.default {
15
- constructor(value) {
16
- if (typeof value === 'string' && value.startsWith('0x')) {
17
- value = (0, hex_to_decimal_1.hexToDecimal)(value);
18
- }
19
- super(value);
20
- /**
21
- * Eithers pads or shortens a string to a specified length
22
- *
23
- * @param str the string to pad or chop
24
- * @param padChar the character to pad the string with
25
- * @param length the desired length of the given string
26
- * @returns a string of the desired length, either padded with the specified padChar or with the beginning of the string chopped off
27
- * @example
28
- * ```javascript
29
- * padAndChop('essential-eth', 'a', 8);
30
- * // 'tial-eth'
31
- * ```
32
- * @example
33
- * ```javascript
34
- * padAndChop('essential-eth', 'A', 20);
35
- * // 'AAAAAAAessential-eth'
36
- * ```
37
- */
38
- this.padAndChop = (str, padChar, length) => {
39
- return (Array(length).fill(padChar).join('') + str).slice(length * -1);
40
- };
41
- }
42
- /**
43
- * Used anytime you're passing in "value" to ethers or web3
44
- * For now, TypeScript will complain that `TinyBig` is not a `BigNumberish`. You can // @ts-ignore or call this
45
- *
46
- * @returns the TinyBig represented as a hex string
47
- * @example
48
- * ```javascript
49
- * tinyBig(293).toHexString();
50
- * // '0x125'
51
- * ```
52
- * @example
53
- * ```javascript
54
- * tinyBig(681365874).toHexString();
55
- * // '0x289cd172'
56
- */
57
- toHexString() {
58
- return `0x${BigInt(this.toString()).toString(16)}`;
59
- }
60
- toNumber() {
61
- return Number((0, helpers_1.scientificStrToDecimalStr)(super.toString()));
62
- }
63
- toString() {
64
- if (this.toNumber() === 0) {
65
- return '0';
66
- }
67
- return (0, helpers_1.scientificStrToDecimalStr)(super.toString());
68
- }
69
- toTwos(bitCount) {
70
- let binaryStr;
71
- if (this.gte(0)) {
72
- const twosComp = this.toNumber().toString(2);
73
- binaryStr = this.padAndChop(twosComp, '0', bitCount || twosComp.length);
74
- }
75
- else {
76
- binaryStr = this.plus(Math.pow(2, bitCount)).toNumber().toString(2);
77
- if (Number(binaryStr) < 0) {
78
- throw new Error('Cannot calculate twos complement');
79
- }
80
- }
81
- const binary = `0b${binaryStr}`;
82
- const decimal = Number(binary);
83
- return tinyBig(decimal);
84
- }
85
- }
86
- exports.TinyBig = TinyBig;
87
- /**
88
- * Helper factory function so that you don't have to type "new" when instantiating a new TinyBig
89
- *
90
- * @param value the value to initiate the TinyBig with
91
- * @returns an initiated {@link TinyBig}
92
- * @example
93
- * ```javascript
94
- * tinyBig(10).times(3).toNumber()
95
- * // 30
96
- * ```
97
- */
98
- function tinyBig(value) {
99
- return new TinyBig(value);
100
- }
101
- exports.tinyBig = tinyBig;
@@ -1,9 +0,0 @@
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;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });