essential-eth 0.10.3 → 0.10.4-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 (204) hide show
  1. package/dist/index.cjs +2024 -0
  2. package/dist/index.d.cts +330 -0
  3. package/dist/index.d.ts +330 -0
  4. package/dist/index.js +1952 -0
  5. package/package.json +13 -14
  6. package/dist/cjs/classes/Contract.d.ts +0 -81
  7. package/dist/cjs/classes/Contract.js +0 -139
  8. package/dist/cjs/classes/test/Contract/crv-abi.d.ts +0 -2
  9. package/dist/cjs/classes/test/Contract/crv-abi.js +0 -413
  10. package/dist/cjs/classes/test/Contract/ens-abi.d.ts +0 -2
  11. package/dist/cjs/classes/test/Contract/ens-abi.js +0 -453
  12. package/dist/cjs/classes/test/Contract/fei-abi.d.ts +0 -2
  13. package/dist/cjs/classes/test/Contract/fei-abi.js +0 -526
  14. package/dist/cjs/classes/test/Contract/foo-abi.d.ts +0 -2
  15. package/dist/cjs/classes/test/Contract/foo-abi.js +0 -42
  16. package/dist/cjs/classes/test/Contract/jokerrace-abi.d.ts +0 -2
  17. package/dist/cjs/classes/test/Contract/jokerrace-abi.js +0 -22
  18. package/dist/cjs/classes/test/Contract/uniswap-abi.d.ts +0 -2
  19. package/dist/cjs/classes/test/Contract/uniswap-abi.js +0 -121
  20. package/dist/cjs/classes/utils/clean-block.d.ts +0 -120
  21. package/dist/cjs/classes/utils/clean-block.js +0 -160
  22. package/dist/cjs/classes/utils/clean-log.d.ts +0 -9
  23. package/dist/cjs/classes/utils/clean-log.js +0 -39
  24. package/dist/cjs/classes/utils/clean-transaction-receipt.d.ts +0 -14
  25. package/dist/cjs/classes/utils/clean-transaction-receipt.js +0 -53
  26. package/dist/cjs/classes/utils/clean-transaction.d.ts +0 -14
  27. package/dist/cjs/classes/utils/clean-transaction.js +0 -54
  28. package/dist/cjs/classes/utils/encode-decode-transaction.d.ts +0 -16
  29. package/dist/cjs/classes/utils/encode-decode-transaction.js +0 -185
  30. package/dist/cjs/classes/utils/fetchers.d.ts +0 -53
  31. package/dist/cjs/classes/utils/fetchers.js +0 -85
  32. package/dist/cjs/classes/utils/hex-to-decimal.d.ts +0 -18
  33. package/dist/cjs/classes/utils/hex-to-decimal.js +0 -24
  34. package/dist/cjs/classes/utils/prepare-transaction.d.ts +0 -6
  35. package/dist/cjs/classes/utils/prepare-transaction.js +0 -47
  36. package/dist/cjs/index.d.ts +0 -24
  37. package/dist/cjs/index.js +0 -58
  38. package/dist/cjs/index.umd.js +0 -2
  39. package/dist/cjs/index.umd.js.map +0 -1
  40. package/dist/cjs/logger/logger.d.ts +0 -11
  41. package/dist/cjs/logger/logger.js +0 -37
  42. package/dist/cjs/logger/package-version.d.ts +0 -1
  43. package/dist/cjs/logger/package-version.js +0 -5
  44. package/dist/cjs/package.json +0 -1
  45. package/dist/cjs/providers/AlchemyProvider.d.ts +0 -4
  46. package/dist/cjs/providers/AlchemyProvider.js +0 -11
  47. package/dist/cjs/providers/BaseProvider.d.ts +0 -374
  48. package/dist/cjs/providers/BaseProvider.js +0 -514
  49. package/dist/cjs/providers/FallthroughProvider.d.ts +0 -24
  50. package/dist/cjs/providers/FallthroughProvider.js +0 -74
  51. package/dist/cjs/providers/JsonRpcProvider.d.ts +0 -33
  52. package/dist/cjs/providers/JsonRpcProvider.js +0 -46
  53. package/dist/cjs/providers/test/json-rpc-provider/get-logs/mocks.d.ts +0 -14
  54. package/dist/cjs/providers/test/json-rpc-provider/get-logs/mocks.js +0 -152
  55. package/dist/cjs/providers/test/mock-of.d.ts +0 -8
  56. package/dist/cjs/providers/test/mock-of.js +0 -12
  57. package/dist/cjs/providers/test/rpc-urls.d.ts +0 -12
  58. package/dist/cjs/providers/test/rpc-urls.js +0 -27
  59. package/dist/cjs/providers/utils/chains-info.d.ts +0 -24
  60. package/dist/cjs/providers/utils/chains-info.js +0 -71
  61. package/dist/cjs/shared/tiny-big/helpers.d.ts +0 -17
  62. package/dist/cjs/shared/tiny-big/helpers.js +0 -97
  63. package/dist/cjs/shared/tiny-big/tiny-big.d.ts +0 -58
  64. package/dist/cjs/shared/tiny-big/tiny-big.js +0 -101
  65. package/dist/cjs/shared/validate-type.d.ts +0 -3
  66. package/dist/cjs/shared/validate-type.js +0 -9
  67. package/dist/cjs/types/Block.types.d.ts +0 -41
  68. package/dist/cjs/types/Block.types.js +0 -2
  69. package/dist/cjs/types/Contract.types.d.ts +0 -24
  70. package/dist/cjs/types/Contract.types.js +0 -2
  71. package/dist/cjs/types/FeeData.types.d.ts +0 -7
  72. package/dist/cjs/types/FeeData.types.js +0 -2
  73. package/dist/cjs/types/Filter.types.d.ts +0 -16
  74. package/dist/cjs/types/Filter.types.js +0 -2
  75. package/dist/cjs/types/Network.types.d.ts +0 -8
  76. package/dist/cjs/types/Network.types.js +0 -2
  77. package/dist/cjs/types/Transaction.types.d.ts +0 -123
  78. package/dist/cjs/types/Transaction.types.js +0 -2
  79. package/dist/cjs/utils/bytes.d.ts +0 -289
  80. package/dist/cjs/utils/bytes.js +0 -711
  81. package/dist/cjs/utils/compute-address.d.ts +0 -17
  82. package/dist/cjs/utils/compute-address.js +0 -34
  83. package/dist/cjs/utils/compute-public-key.d.ts +0 -18
  84. package/dist/cjs/utils/compute-public-key.js +0 -26
  85. package/dist/cjs/utils/ether-to-gwei.d.ts +0 -27
  86. package/dist/cjs/utils/ether-to-gwei.js +0 -35
  87. package/dist/cjs/utils/ether-to-wei.d.ts +0 -27
  88. package/dist/cjs/utils/ether-to-wei.js +0 -35
  89. package/dist/cjs/utils/gwei-to-ether.d.ts +0 -27
  90. package/dist/cjs/utils/gwei-to-ether.js +0 -35
  91. package/dist/cjs/utils/hash-message.d.ts +0 -14
  92. package/dist/cjs/utils/hash-message.js +0 -30
  93. package/dist/cjs/utils/is-address.d.ts +0 -24
  94. package/dist/cjs/utils/is-address.js +0 -39
  95. package/dist/cjs/utils/keccak256.d.ts +0 -16
  96. package/dist/cjs/utils/keccak256.js +0 -31
  97. package/dist/cjs/utils/solidity-keccak256.d.ts +0 -39
  98. package/dist/cjs/utils/solidity-keccak256.js +0 -138
  99. package/dist/cjs/utils/split-signature.d.ts +0 -24
  100. package/dist/cjs/utils/split-signature.js +0 -163
  101. package/dist/cjs/utils/to-checksum-address.d.ts +0 -17
  102. package/dist/cjs/utils/to-checksum-address.js +0 -46
  103. package/dist/cjs/utils/to-utf8-bytes.d.ts +0 -15
  104. package/dist/cjs/utils/to-utf8-bytes.js +0 -21
  105. package/dist/cjs/utils/wei-to-ether.d.ts +0 -27
  106. package/dist/cjs/utils/wei-to-ether.js +0 -45
  107. package/dist/esm/classes/Contract.d.ts +0 -11
  108. package/dist/esm/classes/Contract.js +0 -58
  109. package/dist/esm/classes/test/Contract/crv-abi.d.ts +0 -2
  110. package/dist/esm/classes/test/Contract/crv-abi.js +0 -395
  111. package/dist/esm/classes/test/Contract/ens-abi.d.ts +0 -2
  112. package/dist/esm/classes/test/Contract/ens-abi.js +0 -435
  113. package/dist/esm/classes/test/Contract/fei-abi.d.ts +0 -2
  114. package/dist/esm/classes/test/Contract/fei-abi.js +0 -521
  115. package/dist/esm/classes/test/Contract/foo-abi.d.ts +0 -2
  116. package/dist/esm/classes/test/Contract/foo-abi.js +0 -33
  117. package/dist/esm/classes/test/Contract/jokerrace-abi.d.ts +0 -2
  118. package/dist/esm/classes/test/Contract/jokerrace-abi.js +0 -18
  119. package/dist/esm/classes/test/Contract/uniswap-abi.d.ts +0 -2
  120. package/dist/esm/classes/test/Contract/uniswap-abi.js +0 -116
  121. package/dist/esm/classes/utils/clean-block.d.ts +0 -2
  122. package/dist/esm/classes/utils/clean-block.js +0 -35
  123. package/dist/esm/classes/utils/clean-log.d.ts +0 -2
  124. package/dist/esm/classes/utils/clean-log.js +0 -28
  125. package/dist/esm/classes/utils/clean-transaction-receipt.d.ts +0 -2
  126. package/dist/esm/classes/utils/clean-transaction-receipt.js +0 -37
  127. package/dist/esm/classes/utils/clean-transaction.d.ts +0 -2
  128. package/dist/esm/classes/utils/clean-transaction.js +0 -36
  129. package/dist/esm/classes/utils/encode-decode-transaction.d.ts +0 -4
  130. package/dist/esm/classes/utils/encode-decode-transaction.js +0 -143
  131. package/dist/esm/classes/utils/fetchers.d.ts +0 -15
  132. package/dist/esm/classes/utils/fetchers.js +0 -37
  133. package/dist/esm/classes/utils/hex-to-decimal.d.ts +0 -1
  134. package/dist/esm/classes/utils/hex-to-decimal.js +0 -3
  135. package/dist/esm/classes/utils/prepare-transaction.d.ts +0 -2
  136. package/dist/esm/classes/utils/prepare-transaction.js +0 -36
  137. package/dist/esm/index.d.ts +0 -24
  138. package/dist/esm/index.js +0 -19
  139. package/dist/esm/logger/logger.d.ts +0 -11
  140. package/dist/esm/logger/logger.js +0 -34
  141. package/dist/esm/logger/package-version.d.ts +0 -1
  142. package/dist/esm/logger/package-version.js +0 -1
  143. package/dist/esm/providers/AlchemyProvider.d.ts +0 -4
  144. package/dist/esm/providers/AlchemyProvider.js +0 -7
  145. package/dist/esm/providers/BaseProvider.d.ts +0 -26
  146. package/dist/esm/providers/BaseProvider.js +0 -137
  147. package/dist/esm/providers/FallthroughProvider.d.ts +0 -11
  148. package/dist/esm/providers/FallthroughProvider.js +0 -50
  149. package/dist/esm/providers/JsonRpcProvider.d.ts +0 -7
  150. package/dist/esm/providers/JsonRpcProvider.js +0 -15
  151. package/dist/esm/providers/test/json-rpc-provider/get-logs/mocks.d.ts +0 -14
  152. package/dist/esm/providers/test/json-rpc-provider/get-logs/mocks.js +0 -142
  153. package/dist/esm/providers/test/mock-of.d.ts +0 -1
  154. package/dist/esm/providers/test/mock-of.js +0 -1
  155. package/dist/esm/providers/test/rpc-urls.d.ts +0 -12
  156. package/dist/esm/providers/test/rpc-urls.js +0 -21
  157. package/dist/esm/providers/utils/chains-info.d.ts +0 -24
  158. package/dist/esm/providers/utils/chains-info.js +0 -67
  159. package/dist/esm/shared/tiny-big/helpers.d.ts +0 -1
  160. package/dist/esm/shared/tiny-big/helpers.js +0 -58
  161. package/dist/esm/shared/tiny-big/tiny-big.d.ts +0 -10
  162. package/dist/esm/shared/tiny-big/tiny-big.js +0 -45
  163. package/dist/esm/shared/validate-type.d.ts +0 -3
  164. package/dist/esm/shared/validate-type.js +0 -5
  165. package/dist/esm/types/Block.types.d.ts +0 -40
  166. package/dist/esm/types/Block.types.js +0 -1
  167. package/dist/esm/types/Contract.types.d.ts +0 -24
  168. package/dist/esm/types/Contract.types.js +0 -1
  169. package/dist/esm/types/FeeData.types.d.ts +0 -7
  170. package/dist/esm/types/FeeData.types.js +0 -1
  171. package/dist/esm/types/Filter.types.d.ts +0 -12
  172. package/dist/esm/types/Filter.types.js +0 -1
  173. package/dist/esm/types/Network.types.d.ts +0 -5
  174. package/dist/esm/types/Network.types.js +0 -1
  175. package/dist/esm/types/Transaction.types.d.ts +0 -113
  176. package/dist/esm/types/Transaction.types.js +0 -1
  177. package/dist/esm/utils/bytes.d.ts +0 -40
  178. package/dist/esm/utils/bytes.js +0 -245
  179. package/dist/esm/utils/compute-address.d.ts +0 -1
  180. package/dist/esm/utils/compute-address.js +0 -12
  181. package/dist/esm/utils/compute-public-key.d.ts +0 -2
  182. package/dist/esm/utils/compute-public-key.js +0 -6
  183. package/dist/esm/utils/ether-to-gwei.d.ts +0 -3
  184. package/dist/esm/utils/ether-to-gwei.js +0 -7
  185. package/dist/esm/utils/ether-to-wei.d.ts +0 -3
  186. package/dist/esm/utils/ether-to-wei.js +0 -7
  187. package/dist/esm/utils/gwei-to-ether.d.ts +0 -3
  188. package/dist/esm/utils/gwei-to-ether.js +0 -7
  189. package/dist/esm/utils/hash-message.d.ts +0 -2
  190. package/dist/esm/utils/hash-message.js +0 -14
  191. package/dist/esm/utils/is-address.d.ts +0 -1
  192. package/dist/esm/utils/is-address.js +0 -12
  193. package/dist/esm/utils/keccak256.d.ts +0 -2
  194. package/dist/esm/utils/keccak256.js +0 -13
  195. package/dist/esm/utils/solidity-keccak256.d.ts +0 -2
  196. package/dist/esm/utils/solidity-keccak256.js +0 -85
  197. package/dist/esm/utils/split-signature.d.ts +0 -2
  198. package/dist/esm/utils/split-signature.js +0 -126
  199. package/dist/esm/utils/to-checksum-address.d.ts +0 -1
  200. package/dist/esm/utils/to-checksum-address.js +0 -25
  201. package/dist/esm/utils/to-utf8-bytes.d.ts +0 -1
  202. package/dist/esm/utils/to-utf8-bytes.js +0 -3
  203. package/dist/esm/utils/wei-to-ether.d.ts +0 -3
  204. package/dist/esm/utils/wei-to-ether.js +0 -16
package/package.json CHANGED
@@ -1,20 +1,24 @@
1
1
  {
2
2
  "name": "essential-eth",
3
3
  "description": "Ultralight JS for Ethereum",
4
- "version": "0.10.3",
4
+ "version": "0.10.4-beta.0",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
7
7
  "type": "module",
8
8
  "private": false,
9
- "main": "./dist/cjs/index.js",
9
+ "main": "./dist/index.cjs",
10
+ "module": "./dist/index.js",
10
11
  "exports": {
11
12
  ".": {
12
- "types": "./dist/esm/index.d.ts",
13
- "import": "./dist/esm/index.js",
14
- "default": "./dist/cjs/index.js"
13
+ "types": {
14
+ "import": "./dist/index.d.ts",
15
+ "require": "./dist/index.d.cts"
16
+ },
17
+ "import": "./dist/index.js",
18
+ "require": "./dist/index.cjs"
15
19
  }
16
20
  },
17
- "types": "./dist/esm/index.d.ts",
21
+ "types": "./dist/index.d.ts",
18
22
  "engines": {
19
23
  "node": ">=14"
20
24
  },
@@ -27,14 +31,10 @@
27
31
  "repository": "https://github.com/dawsbot/essential-eth.git",
28
32
  "author": "@dawsbot",
29
33
  "scripts": {
30
- "test": "npm-run-all --parallel vitest compile lint",
34
+ "test": "vitest run && tsup && eslint --cache . --config .eslintrc.cjs",
31
35
  "test:all-node-versions": "npx trevor",
32
36
  "lint": "eslint --cache --fix . --config .eslintrc.cjs",
33
- "compile": "npm-run-all --parallel build:esm build:cjs build:umd",
34
- "build": "rm -rf dist && npm run compile",
35
- "build:esm": "tsc -p tsconfig.json",
36
- "build:cjs": "tsc -p tsconfig-cjs.json && printf '{\"type\":\"commonjs\"}' > ./dist/cjs/package.json",
37
- "build:umd": "microbundle --external none --format umd",
37
+ "build": "tsup",
38
38
  "build:readme": "bash ./scripts/markdown-magic/build-readme.sh",
39
39
  "vitest": "vitest run",
40
40
  "build:chains-info": "npx tsx scripts/update-chains-info/index.ts # used in getNetwork()",
@@ -62,11 +62,10 @@
62
62
  "husky": "^7.0.4",
63
63
  "lint-staged": "^13.2.1",
64
64
  "markdown-magic": "^2.6.1",
65
- "microbundle": "^0.15.1",
66
- "npm-run-all": "^4.1.5",
67
65
  "perf_hooks": "^0.0.1",
68
66
  "prettier": "^3.2.5",
69
67
  "prettier-plugin-organize-imports": "^3.2.4",
68
+ "tsup": "^8.5.1",
70
69
  "typedoc": "^0.24.5",
71
70
  "typescript": "^4.9.4",
72
71
  "vitest": "^0.34.6",
@@ -1,81 +0,0 @@
1
- import type { JsonRpcProvider } from '../providers/JsonRpcProvider';
2
- import type { ContractInterface } from '../types/Contract.types';
3
- export declare class BaseContract {
4
- /**
5
- * The URL to your Eth node. Consider POKT or Infura
6
- */
7
- private readonly _address;
8
- private readonly _provider;
9
- /**
10
- * @param addressOrName The ethereum address of the smart-contract
11
- * @param contractInterface The JSON ABI of the smart-contract (like http://api.etherscan.io/api?module=contract&action=getabi&address=0x090d4613473dee047c3f2706764f49e0821d256e&format=raw)
12
- * @param signerOrProvider An instantiated essential-eth provider
13
- * @example
14
- */
15
- constructor(addressOrName: string, contractInterface: ContractInterface, signerOrProvider: JsonRpcProvider);
16
- }
17
- /**
18
- * Applies the unique contract's methods to the instantiated Contract in the constructor based-upon the provided ABI
19
- *
20
- * @param object
21
- * @param name
22
- * @param value
23
- * @internal
24
- * @example
25
- */
26
- export declare function defineReadOnly<T>(object: T, name: string, value: any): void;
27
- /**
28
- * @alpha
29
- * Only accepts ABIS in JSON format. This allows for stronger typing and assurances of data-types
30
- * Only read-only function calls currently supported.
31
- * @example
32
- * ```typescript
33
- * import { Contract, JsonRpcProvider } from 'essential-eth';
34
- * // UNI airdrop contract
35
- * const contractAddress = '0x090D4613473dEE047c3f2706764f49E0821D256e';
36
- * const provider = new JsonRpcProvider();
37
- * // for more robust contract calls, provide a fallback:
38
- * // const provider = new FallthroughProvider(['bad', 'https://free-eth-node.com/api/eth']);
39
- *
40
- * const JSONABI = [
41
- * {
42
- * inputs: [
43
- * {
44
- * internalType: 'uint256',
45
- * name: 'index',
46
- * type: 'uint256',
47
- * },
48
- * ],
49
- * name: 'isClaimed',
50
- * outputs: [
51
- * {
52
- * internalType: 'bool',
53
- * name: '',
54
- * type: 'bool',
55
- * },
56
- * ],
57
- * stateMutability: 'view',
58
- * type: 'function',
59
- * },
60
- * ]
61
- *
62
- * const contract = new Contract(
63
- * contractAddress,
64
- * JSONABI,
65
- * provider,
66
- * );
67
- *
68
- * (async () => {
69
- * // prints boolean as to whether index 0 has claimed airdrop or not
70
- * console.log(await contract.isClaimed(0));
71
- * })()
72
- *
73
- *
74
- * ```
75
- */
76
- export declare class Contract extends BaseContract {
77
- /**
78
- * The function names on any given contract. Like "isClaimed", "merkleRoot", etc.
79
- */
80
- readonly [key: string]: any;
81
- }
@@ -1,139 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Contract = exports.defineReadOnly = exports.BaseContract = void 0;
4
- const encode_decode_transaction_1 = require("./utils/encode-decode-transaction");
5
- /**
6
- * @param txnData
7
- * @example
8
- */
9
- function estimateGas(txnData) {
10
- // https://ethereum.stackexchange.com/questions/1570/what-does-intrinsic-gas-too-low-mean/1694
11
- txnData.split('').reduce((previousValue, currentValue) => {
12
- // 0 characters are 4 gwei, all others are 48 gwei
13
- const characterCost = currentValue === '0' ? 4 : 68;
14
- return previousValue + characterCost;
15
- }, 0);
16
- }
17
- class BaseContract {
18
- /**
19
- * The URL to your Eth node. Consider POKT or Infura
20
- */
21
- _address;
22
- _provider;
23
- /**
24
- * @param addressOrName The ethereum address of the smart-contract
25
- * @param contractInterface The JSON ABI of the smart-contract (like http://api.etherscan.io/api?module=contract&action=getabi&address=0x090d4613473dee047c3f2706764f49e0821d256e&format=raw)
26
- * @param signerOrProvider An instantiated essential-eth provider
27
- * @example
28
- */
29
- constructor(addressOrName, contractInterface, signerOrProvider) {
30
- this._address = addressOrName;
31
- this._provider = signerOrProvider;
32
- contractInterface
33
- .filter((jsonABIArgument) => jsonABIArgument.type === 'function')
34
- .forEach((jsonABIArgument) => {
35
- if ('name' in jsonABIArgument &&
36
- typeof jsonABIArgument.name === 'string') {
37
- defineReadOnly(this, jsonABIArgument.name, async (..._args) => {
38
- let functionArguments = _args;
39
- let options = {};
40
- // remove options from encoding
41
- const lastArg = _args[_args.length - 1];
42
- if (!Array.isArray(lastArg) && typeof lastArg === 'object') {
43
- options = lastArg;
44
- functionArguments = _args.slice(0, _args.length - 1);
45
- }
46
- const data = (0, encode_decode_transaction_1.encodeData)(jsonABIArgument, functionArguments);
47
- const decimalGas = typeof options.gasLimit === 'number'
48
- ? options.gasLimit /* user passed in "gasLimit" directly */
49
- : typeof jsonABIArgument?.gas ===
50
- 'number' /* ABI specified "gas". */
51
- ? estimateGas(data)
52
- : null;
53
- const req = async () => {
54
- return await this._provider.call({
55
- to: this._address.toLowerCase(),
56
- data,
57
- // sometimes gas is defined in the ABI
58
- ...(decimalGas
59
- ? { gas: `0x${decimalGas.toString(16)}` }
60
- : {}),
61
- }, 'latest');
62
- };
63
- const nodeResponse = await req();
64
- return (0, encode_decode_transaction_1.decodeRPCResponse)(jsonABIArgument, nodeResponse);
65
- });
66
- }
67
- });
68
- }
69
- }
70
- exports.BaseContract = BaseContract;
71
- /**
72
- * Applies the unique contract's methods to the instantiated Contract in the constructor based-upon the provided ABI
73
- *
74
- * @param object
75
- * @param name
76
- * @param value
77
- * @internal
78
- * @example
79
- */
80
- function defineReadOnly(object, name, value) {
81
- Object.defineProperty(object, name, {
82
- enumerable: true,
83
- value: value,
84
- writable: false,
85
- });
86
- }
87
- exports.defineReadOnly = defineReadOnly;
88
- /**
89
- * @alpha
90
- * Only accepts ABIS in JSON format. This allows for stronger typing and assurances of data-types
91
- * Only read-only function calls currently supported.
92
- * @example
93
- * ```typescript
94
- * import { Contract, JsonRpcProvider } from 'essential-eth';
95
- * // UNI airdrop contract
96
- * const contractAddress = '0x090D4613473dEE047c3f2706764f49E0821D256e';
97
- * const provider = new JsonRpcProvider();
98
- * // for more robust contract calls, provide a fallback:
99
- * // const provider = new FallthroughProvider(['bad', 'https://free-eth-node.com/api/eth']);
100
- *
101
- * const JSONABI = [
102
- * {
103
- * inputs: [
104
- * {
105
- * internalType: 'uint256',
106
- * name: 'index',
107
- * type: 'uint256',
108
- * },
109
- * ],
110
- * name: 'isClaimed',
111
- * outputs: [
112
- * {
113
- * internalType: 'bool',
114
- * name: '',
115
- * type: 'bool',
116
- * },
117
- * ],
118
- * stateMutability: 'view',
119
- * type: 'function',
120
- * },
121
- * ]
122
- *
123
- * const contract = new Contract(
124
- * contractAddress,
125
- * JSONABI,
126
- * provider,
127
- * );
128
- *
129
- * (async () => {
130
- * // prints boolean as to whether index 0 has claimed airdrop or not
131
- * console.log(await contract.isClaimed(0));
132
- * })()
133
- *
134
- *
135
- * ```
136
- */
137
- class Contract extends BaseContract {
138
- }
139
- exports.Contract = Contract;
@@ -1,2 +0,0 @@
1
- import type { JSONABI } from '../../../types/Contract.types';
2
- export declare const abi: JSONABI;
@@ -1,413 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.abi = void 0;
4
- exports.abi =
5
- // 20210406000308
6
- // http://api.etherscan.io/api?module=contract&action=getabi&address=0x575CCD8e2D300e2377B43478339E364000318E2c&format=raw
7
- [
8
- {
9
- outputs: [],
10
- inputs: [
11
- {
12
- type: 'address',
13
- name: '_token',
14
- },
15
- {
16
- type: 'uint256',
17
- name: '_start_time',
18
- },
19
- {
20
- type: 'uint256',
21
- name: '_end_time',
22
- },
23
- {
24
- type: 'bool',
25
- name: '_can_disable',
26
- },
27
- {
28
- type: 'address[4]',
29
- name: '_fund_admins',
30
- },
31
- ],
32
- stateMutability: 'nonpayable',
33
- type: 'constructor',
34
- },
35
- {
36
- name: 'add_tokens',
37
- outputs: [],
38
- inputs: [
39
- {
40
- type: 'uint256',
41
- name: '_amount',
42
- },
43
- ],
44
- stateMutability: 'nonpayable',
45
- type: 'function',
46
- gas: 39108,
47
- },
48
- {
49
- name: 'fund',
50
- outputs: [],
51
- inputs: [
52
- {
53
- type: 'address[100]',
54
- name: '_recipients',
55
- },
56
- {
57
- type: 'uint256[100]',
58
- name: '_amounts',
59
- },
60
- ],
61
- stateMutability: 'nonpayable',
62
- type: 'function',
63
- gas: 3962646,
64
- },
65
- {
66
- name: 'toggle_disable',
67
- outputs: [],
68
- inputs: [
69
- {
70
- type: 'address',
71
- name: '_recipient',
72
- },
73
- ],
74
- stateMutability: 'nonpayable',
75
- type: 'function',
76
- gas: 40280,
77
- },
78
- {
79
- name: 'disable_can_disable',
80
- outputs: [],
81
- inputs: [],
82
- stateMutability: 'nonpayable',
83
- type: 'function',
84
- gas: 21295,
85
- },
86
- {
87
- name: 'disable_fund_admins',
88
- outputs: [],
89
- inputs: [],
90
- stateMutability: 'nonpayable',
91
- type: 'function',
92
- gas: 21325,
93
- },
94
- {
95
- name: 'vestedSupply',
96
- outputs: [
97
- {
98
- type: 'uint256',
99
- name: '',
100
- },
101
- ],
102
- inputs: [],
103
- stateMutability: 'view',
104
- type: 'function',
105
- gas: 4468,
106
- },
107
- {
108
- name: 'lockedSupply',
109
- outputs: [
110
- {
111
- type: 'uint256',
112
- name: '',
113
- },
114
- ],
115
- inputs: [],
116
- stateMutability: 'view',
117
- type: 'function',
118
- gas: 5465,
119
- },
120
- {
121
- name: 'vestedOf',
122
- outputs: [
123
- {
124
- type: 'uint256',
125
- name: '',
126
- },
127
- ],
128
- inputs: [
129
- {
130
- type: 'address',
131
- name: '_recipient',
132
- },
133
- ],
134
- stateMutability: 'view',
135
- type: 'function',
136
- gas: 5163,
137
- },
138
- {
139
- name: 'balanceOf',
140
- outputs: [
141
- {
142
- type: 'uint256',
143
- name: '',
144
- },
145
- ],
146
- inputs: [
147
- {
148
- type: 'address',
149
- name: '_recipient',
150
- },
151
- ],
152
- stateMutability: 'view',
153
- type: 'function',
154
- gas: 6275,
155
- },
156
- {
157
- name: 'lockedOf',
158
- outputs: [
159
- {
160
- type: 'uint256',
161
- name: '',
162
- },
163
- ],
164
- inputs: [
165
- {
166
- type: 'address',
167
- name: '_recipient',
168
- },
169
- ],
170
- stateMutability: 'view',
171
- type: 'function',
172
- gas: 6305,
173
- },
174
- {
175
- name: 'claim',
176
- outputs: [],
177
- inputs: [],
178
- stateMutability: 'nonpayable',
179
- type: 'function',
180
- },
181
- // {
182
- // name: 'claim',
183
- // outputs: [],
184
- // inputs: [
185
- // {
186
- // type: 'address',
187
- // name: 'addr',
188
- // },
189
- // ],
190
- // stateMutability: 'nonpayable',
191
- // type: 'function',
192
- // },
193
- {
194
- name: 'commit_transfer_ownership',
195
- outputs: [
196
- {
197
- type: 'bool',
198
- name: '',
199
- },
200
- ],
201
- inputs: [
202
- {
203
- type: 'address',
204
- name: 'addr',
205
- },
206
- ],
207
- stateMutability: 'nonpayable',
208
- type: 'function',
209
- gas: 38032,
210
- },
211
- {
212
- name: 'apply_transfer_ownership',
213
- outputs: [
214
- {
215
- type: 'bool',
216
- name: '',
217
- },
218
- ],
219
- inputs: [],
220
- stateMutability: 'nonpayable',
221
- type: 'function',
222
- gas: 38932,
223
- },
224
- {
225
- name: 'token',
226
- outputs: [
227
- {
228
- type: 'address',
229
- name: '',
230
- },
231
- ],
232
- inputs: [],
233
- stateMutability: 'view',
234
- type: 'function',
235
- gas: 1601,
236
- },
237
- {
238
- name: 'start_time',
239
- outputs: [
240
- {
241
- type: 'uint256',
242
- name: '',
243
- },
244
- ],
245
- inputs: [],
246
- stateMutability: 'view',
247
- type: 'function',
248
- gas: 1631,
249
- },
250
- {
251
- name: 'end_time',
252
- outputs: [
253
- {
254
- type: 'uint256',
255
- name: '',
256
- },
257
- ],
258
- inputs: [],
259
- stateMutability: 'view',
260
- type: 'function',
261
- gas: 1661,
262
- },
263
- {
264
- name: 'initial_locked',
265
- outputs: [
266
- {
267
- type: 'uint256',
268
- name: '',
269
- },
270
- ],
271
- inputs: [
272
- {
273
- type: 'address',
274
- name: 'arg0',
275
- },
276
- ],
277
- stateMutability: 'view',
278
- type: 'function',
279
- gas: 1845,
280
- },
281
- {
282
- name: 'total_claimed',
283
- outputs: [
284
- {
285
- type: 'uint256',
286
- name: '',
287
- },
288
- ],
289
- inputs: [
290
- {
291
- type: 'address',
292
- name: 'arg0',
293
- },
294
- ],
295
- stateMutability: 'view',
296
- type: 'function',
297
- gas: 1875,
298
- },
299
- {
300
- name: 'initial_locked_supply',
301
- outputs: [
302
- {
303
- type: 'uint256',
304
- name: '',
305
- },
306
- ],
307
- inputs: [],
308
- stateMutability: 'view',
309
- type: 'function',
310
- gas: 1751,
311
- },
312
- {
313
- name: 'unallocated_supply',
314
- outputs: [
315
- {
316
- type: 'uint256',
317
- name: '',
318
- },
319
- ],
320
- inputs: [],
321
- stateMutability: 'view',
322
- type: 'function',
323
- gas: 1781,
324
- },
325
- {
326
- name: 'can_disable',
327
- outputs: [
328
- {
329
- type: 'bool',
330
- name: '',
331
- },
332
- ],
333
- inputs: [],
334
- stateMutability: 'view',
335
- type: 'function',
336
- gas: 1811,
337
- },
338
- {
339
- name: 'disabled_at',
340
- outputs: [
341
- {
342
- type: 'uint256',
343
- name: '',
344
- },
345
- ],
346
- inputs: [
347
- {
348
- type: 'address',
349
- name: 'arg0',
350
- },
351
- ],
352
- stateMutability: 'view',
353
- type: 'function',
354
- gas: 1995,
355
- },
356
- {
357
- name: 'admin',
358
- outputs: [
359
- {
360
- type: 'address',
361
- name: '',
362
- },
363
- ],
364
- inputs: [],
365
- stateMutability: 'view',
366
- type: 'function',
367
- gas: 1871,
368
- },
369
- {
370
- name: 'future_admin',
371
- outputs: [
372
- {
373
- type: 'address',
374
- name: '',
375
- },
376
- ],
377
- inputs: [],
378
- stateMutability: 'view',
379
- type: 'function',
380
- gas: 1901,
381
- },
382
- {
383
- name: 'fund_admins_enabled',
384
- outputs: [
385
- {
386
- type: 'bool',
387
- name: '',
388
- },
389
- ],
390
- inputs: [],
391
- stateMutability: 'view',
392
- type: 'function',
393
- gas: 1931,
394
- },
395
- {
396
- name: 'fund_admins',
397
- outputs: [
398
- {
399
- type: 'bool',
400
- name: '',
401
- },
402
- ],
403
- inputs: [
404
- {
405
- type: 'address',
406
- name: 'arg0',
407
- },
408
- ],
409
- stateMutability: 'view',
410
- type: 'function',
411
- gas: 2115,
412
- },
413
- ];
@@ -1,2 +0,0 @@
1
- import type { JSONABI } from '../../../types/Contract.types';
2
- export declare const ensABI: JSONABI;