essential-eth 0.5.1 → 0.5.5
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/lib/cjs/classes/Contract.d.ts +3 -2
- package/lib/cjs/classes/Contract.js +3 -2
- package/lib/cjs/classes/utils/clean-transaction-receipt.d.ts +5 -0
- package/lib/cjs/classes/utils/clean-transaction-receipt.js +55 -0
- package/lib/cjs/classes/utils/encode-decode-transaction.d.ts +1 -0
- package/lib/cjs/classes/utils/encode-decode-transaction.js +4 -4
- package/lib/cjs/classes/utils/fetchers.d.ts +1 -1
- package/lib/cjs/index.d.ts +12 -4
- package/lib/cjs/index.js +16 -1
- package/lib/cjs/logger/package-version.d.ts +1 -1
- package/lib/cjs/logger/package-version.js +1 -1
- package/lib/cjs/providers/BaseProvider.d.ts +284 -0
- package/lib/cjs/providers/BaseProvider.js +380 -0
- package/lib/cjs/providers/FallthroughProvider.d.ts +24 -0
- package/lib/cjs/providers/FallthroughProvider.js +65 -0
- package/lib/cjs/providers/JsonRpcProvider.d.ts +4 -200
- package/lib/cjs/providers/JsonRpcProvider.js +11 -263
- package/lib/cjs/providers/test/rpc-urls.d.ts +1 -0
- package/lib/cjs/providers/test/rpc-urls.js +1 -0
- package/lib/cjs/providers/utils/chains-info.d.ts +20 -0
- package/lib/cjs/providers/utils/chains-info.js +62 -2
- package/lib/cjs/shared/tiny-big/tiny-big.d.ts +2 -2
- package/lib/cjs/shared/tiny-big/tiny-big.js +2 -2
- package/lib/cjs/types/Transaction.types.d.ts +53 -0
- package/lib/cjs/utils/bytes.d.ts +86 -4
- package/lib/cjs/utils/bytes.js +83 -3
- package/lib/cjs/utils/compute-address.d.ts +8 -0
- package/lib/cjs/utils/compute-address.js +24 -0
- package/lib/cjs/utils/compute-public-key.d.ts +9 -0
- package/lib/cjs/utils/compute-public-key.js +17 -0
- package/lib/cjs/utils/hash-message.d.ts +12 -0
- package/lib/cjs/utils/hash-message.js +26 -0
- package/lib/cjs/utils/keccak256.d.ts +2 -0
- package/lib/cjs/utils/keccak256.js +17 -0
- package/lib/cjs/utils/solidity-keccak256.d.ts +0 -1
- package/lib/cjs/utils/solidity-keccak256.js +5 -12
- package/lib/cjs/utils/split-signature.d.ts +26 -0
- package/lib/cjs/utils/split-signature.js +165 -0
- package/lib/cjs/utils/to-utf8-bytes.d.ts +1 -0
- package/lib/cjs/utils/to-utf8-bytes.js +7 -0
- package/lib/esm/classes/Contract.js +1 -1
- package/lib/esm/classes/utils/clean-transaction-receipt.d.ts +2 -0
- package/lib/esm/classes/utils/clean-transaction-receipt.js +48 -0
- package/lib/esm/classes/utils/encode-decode-transaction.d.ts +1 -0
- package/lib/esm/classes/utils/encode-decode-transaction.js +2 -2
- package/lib/esm/classes/utils/fetchers.d.ts +1 -1
- package/lib/esm/index.d.ts +12 -4
- package/lib/esm/index.js +10 -2
- package/lib/esm/logger/package-version.d.ts +1 -1
- package/lib/esm/logger/package-version.js +1 -1
- package/lib/esm/providers/BaseProvider.d.ts +19 -0
- package/lib/esm/providers/BaseProvider.js +107 -0
- package/lib/esm/providers/FallthroughProvider.d.ts +11 -0
- package/lib/esm/providers/FallthroughProvider.js +41 -0
- package/lib/esm/providers/JsonRpcProvider.d.ts +4 -12
- package/lib/esm/providers/JsonRpcProvider.js +8 -69
- package/lib/esm/providers/test/rpc-urls.d.ts +1 -0
- package/lib/esm/providers/test/rpc-urls.js +1 -0
- package/lib/esm/providers/utils/chains-info.d.ts +20 -0
- package/lib/esm/providers/utils/chains-info.js +62 -2
- package/lib/esm/types/Transaction.types.d.ts +45 -0
- package/lib/esm/utils/bytes.d.ts +5 -4
- package/lib/esm/utils/bytes.js +2 -2
- package/lib/esm/utils/compute-address.d.ts +1 -0
- package/lib/esm/utils/compute-address.js +11 -0
- package/lib/esm/utils/compute-public-key.d.ts +2 -0
- package/lib/esm/utils/compute-public-key.js +6 -0
- package/lib/esm/utils/hash-message.d.ts +2 -0
- package/lib/esm/utils/hash-message.js +12 -0
- package/lib/esm/utils/keccak256.d.ts +2 -0
- package/lib/esm/utils/keccak256.js +13 -0
- package/lib/esm/utils/solidity-keccak256.d.ts +0 -1
- package/lib/esm/utils/solidity-keccak256.js +4 -10
- package/lib/esm/utils/split-signature.d.ts +2 -0
- package/lib/esm/utils/split-signature.js +126 -0
- package/lib/esm/utils/to-utf8-bytes.d.ts +1 -0
- package/lib/esm/utils/to-utf8-bytes.js +3 -0
- package/package.json +19 -14
- package/readme.md +648 -95
|
@@ -1,277 +1,25 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
3
|
exports.jsonRpcProvider = exports.JsonRpcProvider = void 0;
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
const fetchers_1 = require("../classes/utils/fetchers");
|
|
19
|
-
const hex_to_decimal_1 = require("../classes/utils/hex-to-decimal");
|
|
20
|
-
const tiny_big_1 = require("../shared/tiny-big/tiny-big");
|
|
21
|
-
const chains_info_1 = __importDefault(require("./utils/chains-info"));
|
|
22
|
-
class JsonRpcProvider {
|
|
4
|
+
const BaseProvider_1 = require("./BaseProvider");
|
|
5
|
+
class JsonRpcProvider extends BaseProvider_1.BaseProvider {
|
|
23
6
|
/**
|
|
24
|
-
* @
|
|
25
|
-
*/
|
|
26
|
-
constructor(rpcUrl) {
|
|
27
|
-
/**
|
|
28
|
-
* @ignore
|
|
29
|
-
*/
|
|
30
|
-
this.post = (body) => (0, fetchers_1.post)(this._rpcUrl, body);
|
|
31
|
-
this._rpcUrl = rpcUrl || 'https://free-eth-node.com/api/eth';
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Returns the block requested
|
|
35
|
-
* Same as `web3.eth.getBlock`
|
|
36
|
-
* @example
|
|
37
|
-
* ```js
|
|
38
|
-
* await provider.getBlock('latest');
|
|
39
|
-
* {
|
|
40
|
-
* number: 4232826,
|
|
41
|
-
* hash: '0x93211a1cd17e154b183565ec685254a03f844a8e34824a46ce1bdd6753dcb669',
|
|
42
|
-
* parentHash: '0x1b32bfcba1bb2a57f56e166a3bb06875a1978992999dfc8828397b4c1526f472',
|
|
43
|
-
* sha3Uncles: '0x0fb399c67bb5a071ec8a22549223215ab76b7d4009941c9c37aa3c3936010463',
|
|
44
|
-
* logsBloom: '0x00000000000000000000101000000000020000000000000000000000000000000000400000010000000000000000000000000000010000000008800000000800000000200000000000000000000000000000000000000000000002000000000000000000000000000040000000000040000000000000000000000000000000000000000000000001000000000004000000000010000000000000000020000000000000000200100020000000000000000080000000000080001000000000000000000001040000000000000000008000000020010100000000200000100000000000000000000000002000000080000000020400000000002000200000000000',
|
|
45
|
-
* transactionsRoot: '0xc43b3f13e1fe810e34d3a26ffe465b72c7063a5c70a02de2c78e91e4d10bd9fb',
|
|
46
|
-
* stateRoot: '0x04d7bc816537ea7ef3a16e76c9879d29f34f99d4154273c2e98e012a31bad745',
|
|
47
|
-
* receiptsRoot: '0x89c6f781ceac0bd49c4d9aa9115df4a5d4dd0e0220ff7668012f15bc04222c6b',
|
|
48
|
-
* miner: '0x31fe561eb2c628cD32Ec52573D7c4b7E4C278Bfa',
|
|
49
|
-
* difficulty: '1300907486001755331049',
|
|
50
|
-
* totalDifficulty: '5989929395521171616186006183',
|
|
51
|
-
* extraData: '0xce018c495249532d62613031656132',
|
|
52
|
-
* size: 5416,
|
|
53
|
-
* gasLimit: 6800000,
|
|
54
|
-
* gasUsed: 202955,
|
|
55
|
-
* timestamp: 1649884910,
|
|
56
|
-
* transactions: [
|
|
57
|
-
* '0x6b34a59c7b9aead24fa6dad782f8a3ad84ed4a23ee09bcbf0bcf880840fbbe20',
|
|
58
|
-
* '0x9a3851ca24d5336c6a0d48aba2c4b4769d7a672c9b01729c5eb9924efd1b19a7',
|
|
59
|
-
* '0xc3ed3d198b62f2f3427ebfa3bbd0fcada4e3c0c189e4464e7eeceb403c75981e'
|
|
60
|
-
* ],
|
|
61
|
-
* uncles: [
|
|
62
|
-
* '0x0c567c054e98153f10d651fbbc018891c1dd9d62a9ffd998e87678803e95b6ed',
|
|
63
|
-
* '0xb7d69389dbfb057c6fcb4bc0582d46a2ba01170703f0dadf8cd1462b83e88753',
|
|
64
|
-
* '0xd5f74ccd0ad4c58b3161e8c2c507c264231e5f28925061b809c02e5e4bb6db28'
|
|
65
|
-
* ],
|
|
66
|
-
* minimumGasPrice: '0x387ee40',
|
|
67
|
-
* bitcoinMergedMiningHeader: '0x04000020e8567ed3d2480e15a1dd1b4335e4732ae343c037e4fd03000000000000000000ed10a8340d163d3e813bdd430f902f4e5a56828dc62313b2e23797c0be6b8516eb3e576297d8091735884f42',
|
|
68
|
-
* bitcoinMergedMiningCoinbaseTransaction: '0x0000000000000140e910128fda7bac502dc5e0573bbaf12de8e2524f70c22f7bd160dedcb19a2521002b6a2952534b424c4f434b3ae493303f597fa368c0ccc4f8aceabf1c315bb7c9a07605c073a89f260040967aace6a7d9',
|
|
69
|
-
* bitcoinMergedMiningMerkleProof: '0xdf63a3d7eb6fbcfb301311faa46e9a15b0408bb1a04e284daee86c273c1dfd65ede23f3170f806e9e0f4cef7ba6b56aa37470d9c23f96ec8e43d08b58645919c5e10bcb892897a731f8f9ce79c72dc0e390896bcd6c67bb38c0bdb72982b6cf05519968d76673572c3f3ef3a08b0ddb464863f1788f7cdbaad3fe44a8a8af576d430ac282fe28852c16df198ca96cc5f71a50695912efe1a836e8442be69e31b6d6f973da2818bce9a3a1c2d9be0671aee9a7776e398d6a03d1e178e20d84646004a3d03c0501334e629d9146aa6a01316dcbaa289df6e6c5e3090cadaddff22699cfc7ff09512fc0d65c5062f17c98561ce3c9510de210d9d654cf99f8d756ff37c9fa21e7122ee8cadb923341690845d572921425f2bd7e044558b7e07983ac4df28928028b0c13c3624dc7a965af8091b0cecc845bf7da5308c03b2c97d607f6706a599f802025894435f1d76ea4e67cc2fc4e1559f1206f559a24633de0f',
|
|
70
|
-
* hashForMergedMining: '0xe493303f597fa368c0ccc4f8aceabf1c315bb7c9a07605c073a89f260040967a',
|
|
71
|
-
* paidFees: '0xc0744dcb7a0',
|
|
72
|
-
* cumulativeDifficulty: '0x1190930db285269e582'
|
|
73
|
-
* }
|
|
74
|
-
*```
|
|
7
|
+
* @ignore
|
|
75
8
|
*/
|
|
76
|
-
|
|
77
|
-
return
|
|
78
|
-
let rpcTimeFrame;
|
|
79
|
-
if (typeof timeFrame === 'number') {
|
|
80
|
-
// exact block numbers require hex string format
|
|
81
|
-
rpcTimeFrame = `0x${timeFrame.toString(16)}`;
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
// "latest", "earliest", and "pending" require no manipulation
|
|
85
|
-
rpcTimeFrame = timeFrame;
|
|
86
|
-
}
|
|
87
|
-
const rpcBlock = (yield this.post((0, fetchers_1.buildRPCPostBody)('eth_getBlockByNumber', [
|
|
88
|
-
rpcTimeFrame,
|
|
89
|
-
returnTransactionObjects,
|
|
90
|
-
])));
|
|
91
|
-
return (0, clean_block_1.cleanBlock)(rpcBlock, returnTransactionObjects);
|
|
92
|
-
});
|
|
9
|
+
selectRpcUrl() {
|
|
10
|
+
return this._rpcUrls[0];
|
|
93
11
|
}
|
|
94
12
|
/**
|
|
95
|
-
*
|
|
13
|
+
* @ignore
|
|
96
14
|
*/
|
|
97
|
-
|
|
98
|
-
return
|
|
99
|
-
const hexChainId = (yield this.post((0, fetchers_1.buildRPCPostBody)('eth_chainId', [])));
|
|
100
|
-
const chainId = (0, hex_to_decimal_1.hexToDecimal)(hexChainId);
|
|
101
|
-
const info = chains_info_1.default[chainId];
|
|
102
|
-
return {
|
|
103
|
-
chainId: Number(chainId),
|
|
104
|
-
name: info[0] || 'unknown',
|
|
105
|
-
ensAddress: info[1] || null, // only send ensAddress if it exists
|
|
106
|
-
};
|
|
107
|
-
});
|
|
15
|
+
post(body) {
|
|
16
|
+
return this._post(body);
|
|
108
17
|
}
|
|
109
18
|
/**
|
|
110
|
-
*
|
|
111
|
-
* Same as `ethers.provider.getGasPrice`
|
|
112
|
-
*/
|
|
113
|
-
getGasPrice() {
|
|
114
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
115
|
-
const hexGasPrice = (yield this.post((0, fetchers_1.buildRPCPostBody)('eth_gasPrice', [])));
|
|
116
|
-
return (0, tiny_big_1.tinyBig)((0, hex_to_decimal_1.hexToDecimal)(hexGasPrice));
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Returns the balance of the account in wei as TinyBig
|
|
121
|
-
* Same as `ethers.provider.getBalance`
|
|
122
|
-
* Same as `web3.eth.getBalance`
|
|
123
|
-
*
|
|
124
|
-
* @example
|
|
125
|
-
* ```js
|
|
126
|
-
* await provider
|
|
127
|
-
* .getBalance('0x7cB57B5A97eAbe94205C07890BE4c1aD31E486A8')
|
|
128
|
-
* .then((balance) => console.log(balance.toString()));
|
|
129
|
-
* // "28798127851528138"
|
|
130
|
-
* ```
|
|
131
|
-
*/
|
|
132
|
-
getBalance(address, blockTag = 'latest') {
|
|
133
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
134
|
-
const hexBalance = (yield this.post((0, fetchers_1.buildRPCPostBody)('eth_getBalance', [address, blockTag])));
|
|
135
|
-
return (0, tiny_big_1.tinyBig)((0, hex_to_decimal_1.hexToDecimal)(hexBalance));
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Similar to `ethers.provider.getTransaction`, some information not included
|
|
140
|
-
*
|
|
141
|
-
* @params hash A transaction hash
|
|
142
|
-
* @returns information about one transaction
|
|
143
|
-
* @example
|
|
144
|
-
* ```js
|
|
145
|
-
* await provider.getTransaction('0x9014ae6ef92464338355a79e5150e542ff9a83e2323318b21f40d6a3e65b4789');
|
|
146
|
-
* {
|
|
147
|
-
* accessList: [],
|
|
148
|
-
* blockHash: '0x876810a013dbcd140f6fd6048c1dc33abbb901f1f96b394c2fa63aef3cb40b5d',
|
|
149
|
-
* blockNumber: 14578286,
|
|
150
|
-
* chainId: 1,
|
|
151
|
-
* from: '0xdfD9dE5f6FA60BD70636c0900752E93a6144AEd4',
|
|
152
|
-
* gas: Big {
|
|
153
|
-
* s: 1,
|
|
154
|
-
* e: 5,
|
|
155
|
-
* c: [ 1, 1, 2, 1, 6, 3 ],
|
|
156
|
-
* constructor: <ref *1> [Function: Big] {
|
|
157
|
-
* DP: 20,
|
|
158
|
-
* RM: 1,
|
|
159
|
-
* NE: -7,
|
|
160
|
-
* PE: 21,
|
|
161
|
-
* strict: false,
|
|
162
|
-
* roundDown: 0,
|
|
163
|
-
* roundHalfUp: 1,
|
|
164
|
-
* roundHalfEven: 2,
|
|
165
|
-
* roundUp: 3,
|
|
166
|
-
* Big: [Circular *1],
|
|
167
|
-
* default: [Circular *1]
|
|
168
|
-
* }
|
|
169
|
-
* },
|
|
170
|
-
* gasPrice: Big {
|
|
171
|
-
* s: 1,
|
|
172
|
-
* e: 10,
|
|
173
|
-
* c: [
|
|
174
|
-
* 4, 8, 5, 9, 2,
|
|
175
|
-
* 4, 2, 6, 8, 5,
|
|
176
|
-
* 8
|
|
177
|
-
* ],
|
|
178
|
-
* constructor: <ref *1> [Function: Big] {
|
|
179
|
-
* DP: 20,
|
|
180
|
-
* RM: 1,
|
|
181
|
-
* NE: -7,
|
|
182
|
-
* PE: 21,
|
|
183
|
-
* strict: false,
|
|
184
|
-
* roundDown: 0,
|
|
185
|
-
* roundHalfUp: 1,
|
|
186
|
-
* roundHalfEven: 2,
|
|
187
|
-
* roundUp: 3,
|
|
188
|
-
* Big: [Circular *1],
|
|
189
|
-
* default: [Circular *1]
|
|
190
|
-
* }
|
|
191
|
-
* },
|
|
192
|
-
* hash: '0x9014ae6ef92464338355a79e5150e542ff9a83e2323318b21f40d6a3e65b4789',
|
|
193
|
-
* input: '0x83259f170000000000000000000000000000000000000000000000000000000000000080000000000000000000000000dfd9de5f6fa60bd70636c0900752e93a6144aed400000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000009e99ad11a214fd016b19dc3648678c5944859ae292b21c24ca94f857836c4596f1950c82dd0c23dd621af4763edc2f66466e63c5df9de0c1107b1cd16bf460fe93e43fd308e3444bc79c3d88a4cb961dc8367ab6ad048867afc76d193bca99cf3a068864ed4a7df1dbf1d4c52238eced3e5e05644b4040fc2b3ccb8557b0e99fff6131305a0ea2b8061b90bd418db5bbdd2e92129f52d93f90531465e309c4caec5b85285822b6196398d36f16f511811b61bbda6461e80e29210cd303118bdcee8df6fa0505ffbe8642094fd2ba4dd458496fe3b459ac880bbf71877c713e969ccf5ed7efab8a84ebc07e3939901371ca427e1192e455a8f35a6a1d7ad09e1475dd1758b36fa631dab5d70e99316b23c4c43094188d360cd9c3457355904e07c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000162074a7047f',
|
|
194
|
-
* maxFeePerGas: Big {
|
|
195
|
-
* s: 1,
|
|
196
|
-
* e: 10,
|
|
197
|
-
* c: [
|
|
198
|
-
* 6, 7, 6, 8, 1,
|
|
199
|
-
* 2, 6, 1, 6, 1,
|
|
200
|
-
* 8
|
|
201
|
-
* ],
|
|
202
|
-
* constructor: <ref *1> [Function: Big] {
|
|
203
|
-
* DP: 20,
|
|
204
|
-
* RM: 1,
|
|
205
|
-
* NE: -7,
|
|
206
|
-
* PE: 21,
|
|
207
|
-
* strict: false,
|
|
208
|
-
* roundDown: 0,
|
|
209
|
-
* roundHalfUp: 1,
|
|
210
|
-
* roundHalfEven: 2,
|
|
211
|
-
* roundUp: 3,
|
|
212
|
-
* Big: [Circular *1],
|
|
213
|
-
* default: [Circular *1]
|
|
214
|
-
* }
|
|
215
|
-
* },
|
|
216
|
-
* maxPriorityFeePerGas: Big {
|
|
217
|
-
* s: 1,
|
|
218
|
-
* e: 9,
|
|
219
|
-
* c: [ 1, 5 ],
|
|
220
|
-
* constructor: <ref *1> [Function: Big] {
|
|
221
|
-
* DP: 20,
|
|
222
|
-
* RM: 1,
|
|
223
|
-
* NE: -7,
|
|
224
|
-
* PE: 21,
|
|
225
|
-
* strict: false,
|
|
226
|
-
* roundDown: 0,
|
|
227
|
-
* roundHalfUp: 1,
|
|
228
|
-
* roundHalfEven: 2,
|
|
229
|
-
* roundUp: 3,
|
|
230
|
-
* Big: [Circular *1],
|
|
231
|
-
* default: [Circular *1]
|
|
232
|
-
* }
|
|
233
|
-
* },
|
|
234
|
-
* nonce: 129,
|
|
235
|
-
* r: '0x59a7c15b12c18cd68d6c440963d959bff3e73831ffc938e75ecad07f7ee43fbc',
|
|
236
|
-
* s: '0x1ebaf05f0d9273b16c2a7748b150a79d22533a8cd74552611cbe620fee3dcf1c',
|
|
237
|
-
* to: '0x39B72d136ba3e4ceF35F48CD09587ffaB754DD8B',
|
|
238
|
-
* transactionIndex: 29,
|
|
239
|
-
* type: 2,
|
|
240
|
-
* v: 0,
|
|
241
|
-
* value: Big {
|
|
242
|
-
* s: 1,
|
|
243
|
-
* e: 0,
|
|
244
|
-
* c: [ 0 ],
|
|
245
|
-
* constructor: <ref *1> [Function: Big] {
|
|
246
|
-
* DP: 20,
|
|
247
|
-
* RM: 1,
|
|
248
|
-
* NE: -7,
|
|
249
|
-
* PE: 21,
|
|
250
|
-
* strict: false,
|
|
251
|
-
* roundDown: 0,
|
|
252
|
-
* roundHalfUp: 1,
|
|
253
|
-
* roundHalfEven: 2,
|
|
254
|
-
* roundUp: 3,
|
|
255
|
-
* Big: [Circular *1],
|
|
256
|
-
* default: [Circular *1]
|
|
257
|
-
* }
|
|
258
|
-
* },
|
|
259
|
-
* confirmations: 1210
|
|
260
|
-
* }
|
|
261
|
-
* ```
|
|
19
|
+
* @param rpcUrl The URL to your Eth node. Consider POKT or Infura
|
|
262
20
|
*/
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
const [rpcTransaction, blockNumber] = yield Promise.all([
|
|
266
|
-
this.post((0, fetchers_1.buildRPCPostBody)('eth_getTransactionByHash', [hash])),
|
|
267
|
-
this.getBlock('latest'),
|
|
268
|
-
]);
|
|
269
|
-
const cleanedTransaction = (0, clean_transaction_1.cleanTransaction)(rpcTransaction);
|
|
270
|
-
// https://ethereum.stackexchange.com/questions/2881/how-to-get-the-transaction-confirmations-using-the-json-rpc
|
|
271
|
-
cleanedTransaction.confirmations =
|
|
272
|
-
blockNumber.number - cleanedTransaction.blockNumber + 1;
|
|
273
|
-
return cleanedTransaction;
|
|
274
|
-
});
|
|
21
|
+
constructor(rpcUrl = 'https://free-eth-node.com/api/eth') {
|
|
22
|
+
super([rpcUrl]);
|
|
275
23
|
}
|
|
276
24
|
}
|
|
277
25
|
exports.JsonRpcProvider = JsonRpcProvider;
|
|
@@ -6,6 +6,7 @@ exports.fakeUrls = {
|
|
|
6
6
|
};
|
|
7
7
|
exports.rpcUrls = {
|
|
8
8
|
mainnet: `${process.env.RPC_ORIGIN}/api/eth`,
|
|
9
|
+
matic: `${process.env.RPC_ORIGIN}/api/MATIC`,
|
|
9
10
|
gno: `${process.env.RPC_ORIGIN}/api/gno`,
|
|
10
11
|
bnb: `${process.env.RPC_ORIGIN}/api/bnb`,
|
|
11
12
|
arb1: `${process.env.RPC_ORIGIN}/api/arb1`,
|
|
@@ -61,6 +61,7 @@ declare const _default: {
|
|
|
61
61
|
"67": string[];
|
|
62
62
|
"68": string[];
|
|
63
63
|
"69": string[];
|
|
64
|
+
"70": string[];
|
|
64
65
|
"71": string[];
|
|
65
66
|
"74": string[];
|
|
66
67
|
"76": string[];
|
|
@@ -118,6 +119,7 @@ declare const _default: {
|
|
|
118
119
|
"222": string[];
|
|
119
120
|
"225": string[];
|
|
120
121
|
"226": string[];
|
|
122
|
+
"239": string[];
|
|
121
123
|
"246": string[];
|
|
122
124
|
"250": string[];
|
|
123
125
|
"256": string[];
|
|
@@ -142,10 +144,14 @@ declare const _default: {
|
|
|
142
144
|
"499": string[];
|
|
143
145
|
"512": string[];
|
|
144
146
|
"513": string[];
|
|
147
|
+
"534": string[];
|
|
145
148
|
"555": string[];
|
|
146
149
|
"558": string[];
|
|
147
150
|
"588": string[];
|
|
151
|
+
"592": string[];
|
|
148
152
|
"595": string[];
|
|
153
|
+
"596": string[];
|
|
154
|
+
"597": string[];
|
|
149
155
|
"600": string[];
|
|
150
156
|
"666": string[];
|
|
151
157
|
"686": string[];
|
|
@@ -153,6 +159,7 @@ declare const _default: {
|
|
|
153
159
|
"707": string[];
|
|
154
160
|
"708": string[];
|
|
155
161
|
"721": string[];
|
|
162
|
+
"776": string[];
|
|
156
163
|
"777": string[];
|
|
157
164
|
"787": string[];
|
|
158
165
|
"788": string[];
|
|
@@ -200,14 +207,18 @@ declare const _default: {
|
|
|
200
207
|
"1620": string[];
|
|
201
208
|
"1657": string[];
|
|
202
209
|
"1688": string[];
|
|
210
|
+
"1819": string[];
|
|
203
211
|
"1856": string[];
|
|
204
212
|
"1898": string[];
|
|
205
213
|
"1984": string[];
|
|
206
214
|
"1987": string[];
|
|
207
215
|
"2001": string[];
|
|
216
|
+
"2008": string[];
|
|
217
|
+
"2009": string[];
|
|
208
218
|
"2020": string[];
|
|
209
219
|
"2021": string[];
|
|
210
220
|
"2022": string[];
|
|
221
|
+
"2023": string[];
|
|
211
222
|
"2025": string[];
|
|
212
223
|
"2100": string[];
|
|
213
224
|
"2101": string[];
|
|
@@ -217,6 +228,9 @@ declare const _default: {
|
|
|
217
228
|
"2221": string[];
|
|
218
229
|
"2223": string[];
|
|
219
230
|
"2559": string[];
|
|
231
|
+
"2569": string[];
|
|
232
|
+
"2612": string[];
|
|
233
|
+
"2613": string[];
|
|
220
234
|
"3000": string[];
|
|
221
235
|
"3001": string[];
|
|
222
236
|
"3331": string[];
|
|
@@ -252,6 +266,7 @@ declare const _default: {
|
|
|
252
266
|
"8723": string[];
|
|
253
267
|
"8724": string[];
|
|
254
268
|
"8888": string[];
|
|
269
|
+
"8898": string[];
|
|
255
270
|
"8995": string[];
|
|
256
271
|
"9000": string[];
|
|
257
272
|
"9001": string[];
|
|
@@ -272,10 +287,13 @@ declare const _default: {
|
|
|
272
287
|
"19845": string[];
|
|
273
288
|
"21337": string[];
|
|
274
289
|
"21816": string[];
|
|
290
|
+
"22023": string[];
|
|
275
291
|
"24484": string[];
|
|
276
292
|
"24734": string[];
|
|
293
|
+
"30067": string[];
|
|
277
294
|
"31102": string[];
|
|
278
295
|
"31337": string[];
|
|
296
|
+
"32520": string[];
|
|
279
297
|
"32659": string[];
|
|
280
298
|
"39797": string[];
|
|
281
299
|
"42069": string[];
|
|
@@ -298,6 +316,7 @@ declare const _default: {
|
|
|
298
316
|
"60002": string[];
|
|
299
317
|
"60103": string[];
|
|
300
318
|
"62320": string[];
|
|
319
|
+
"62621": string[];
|
|
301
320
|
"63000": string[];
|
|
302
321
|
"63001": string[];
|
|
303
322
|
"69420": string[];
|
|
@@ -343,6 +362,7 @@ declare const _default: {
|
|
|
343
362
|
"333999": string[];
|
|
344
363
|
"421611": string[];
|
|
345
364
|
"444900": string[];
|
|
365
|
+
"512512": string[];
|
|
346
366
|
"666666": string[];
|
|
347
367
|
"888888": string[];
|
|
348
368
|
"955305": string[];
|
|
@@ -193,6 +193,9 @@ exports.default = {
|
|
|
193
193
|
"69": [
|
|
194
194
|
"okov"
|
|
195
195
|
],
|
|
196
|
+
"70": [
|
|
197
|
+
"hsc"
|
|
198
|
+
],
|
|
196
199
|
"71": [
|
|
197
200
|
"cfxtest"
|
|
198
201
|
],
|
|
@@ -364,6 +367,9 @@ exports.default = {
|
|
|
364
367
|
"226": [
|
|
365
368
|
"TLA"
|
|
366
369
|
],
|
|
370
|
+
"239": [
|
|
371
|
+
"AITD"
|
|
372
|
+
],
|
|
367
373
|
"246": [
|
|
368
374
|
"ewt"
|
|
369
375
|
],
|
|
@@ -436,6 +442,9 @@ exports.default = {
|
|
|
436
442
|
"513": [
|
|
437
443
|
"aact"
|
|
438
444
|
],
|
|
445
|
+
"534": [
|
|
446
|
+
"CNDL"
|
|
447
|
+
],
|
|
439
448
|
"555": [
|
|
440
449
|
"CLASS"
|
|
441
450
|
],
|
|
@@ -445,9 +454,18 @@ exports.default = {
|
|
|
445
454
|
"588": [
|
|
446
455
|
"metis-stardust"
|
|
447
456
|
],
|
|
457
|
+
"592": [
|
|
458
|
+
"astr"
|
|
459
|
+
],
|
|
448
460
|
"595": [
|
|
449
461
|
"maca"
|
|
450
462
|
],
|
|
463
|
+
"596": [
|
|
464
|
+
"tkar"
|
|
465
|
+
],
|
|
466
|
+
"597": [
|
|
467
|
+
"taca"
|
|
468
|
+
],
|
|
451
469
|
"600": [
|
|
452
470
|
"mesh-chain-testnet"
|
|
453
471
|
],
|
|
@@ -469,6 +487,9 @@ exports.default = {
|
|
|
469
487
|
"721": [
|
|
470
488
|
"tfeth"
|
|
471
489
|
],
|
|
490
|
+
"776": [
|
|
491
|
+
"opc"
|
|
492
|
+
],
|
|
472
493
|
"777": [
|
|
473
494
|
"cth"
|
|
474
495
|
],
|
|
@@ -610,6 +631,9 @@ exports.default = {
|
|
|
610
631
|
"1688": [
|
|
611
632
|
"LUDAN"
|
|
612
633
|
],
|
|
634
|
+
"1819": [
|
|
635
|
+
"cubet"
|
|
636
|
+
],
|
|
613
637
|
"1856": [
|
|
614
638
|
"tsf"
|
|
615
639
|
],
|
|
@@ -625,6 +649,12 @@ exports.default = {
|
|
|
625
649
|
"2001": [
|
|
626
650
|
"milkAda"
|
|
627
651
|
],
|
|
652
|
+
"2008": [
|
|
653
|
+
"cloudwalk_testnet"
|
|
654
|
+
],
|
|
655
|
+
"2009": [
|
|
656
|
+
"cloudwalk_mainnet"
|
|
657
|
+
],
|
|
628
658
|
"2020": [
|
|
629
659
|
"420"
|
|
630
660
|
],
|
|
@@ -634,6 +664,9 @@ exports.default = {
|
|
|
634
664
|
"2022": [
|
|
635
665
|
"edgt"
|
|
636
666
|
],
|
|
667
|
+
"2023": [
|
|
668
|
+
"taycan-testnet"
|
|
669
|
+
],
|
|
637
670
|
"2025": [
|
|
638
671
|
"rpg"
|
|
639
672
|
],
|
|
@@ -661,6 +694,15 @@ exports.default = {
|
|
|
661
694
|
"2559": [
|
|
662
695
|
"ktoc"
|
|
663
696
|
],
|
|
697
|
+
"2569": [
|
|
698
|
+
"tpc"
|
|
699
|
+
],
|
|
700
|
+
"2612": [
|
|
701
|
+
"EZChain"
|
|
702
|
+
],
|
|
703
|
+
"2613": [
|
|
704
|
+
"Fuji-EZChain"
|
|
705
|
+
],
|
|
664
706
|
"3000": [
|
|
665
707
|
"cennz-r"
|
|
666
708
|
],
|
|
@@ -766,6 +808,9 @@ exports.default = {
|
|
|
766
808
|
"8888": [
|
|
767
809
|
"ambrostestnet"
|
|
768
810
|
],
|
|
811
|
+
"8898": [
|
|
812
|
+
"mmt"
|
|
813
|
+
],
|
|
769
814
|
"8995": [
|
|
770
815
|
"berg"
|
|
771
816
|
],
|
|
@@ -824,7 +869,10 @@ exports.default = {
|
|
|
824
869
|
"cennz-a"
|
|
825
870
|
],
|
|
826
871
|
"21816": [
|
|
827
|
-
"
|
|
872
|
+
"omc"
|
|
873
|
+
],
|
|
874
|
+
"22023": [
|
|
875
|
+
"SFL"
|
|
828
876
|
],
|
|
829
877
|
"24484": [
|
|
830
878
|
"web"
|
|
@@ -832,12 +880,18 @@ exports.default = {
|
|
|
832
880
|
"24734": [
|
|
833
881
|
"mintme"
|
|
834
882
|
],
|
|
883
|
+
"30067": [
|
|
884
|
+
"Piece"
|
|
885
|
+
],
|
|
835
886
|
"31102": [
|
|
836
887
|
"esn"
|
|
837
888
|
],
|
|
838
889
|
"31337": [
|
|
839
890
|
"got"
|
|
840
891
|
],
|
|
892
|
+
"32520": [
|
|
893
|
+
"Brise"
|
|
894
|
+
],
|
|
841
895
|
"32659": [
|
|
842
896
|
"fsn"
|
|
843
897
|
],
|
|
@@ -872,7 +926,7 @@ exports.default = {
|
|
|
872
926
|
"ALFA"
|
|
873
927
|
],
|
|
874
928
|
"45000": [
|
|
875
|
-
"
|
|
929
|
+
"Autobahn Network"
|
|
876
930
|
],
|
|
877
931
|
"47805": [
|
|
878
932
|
"REI"
|
|
@@ -904,6 +958,9 @@ exports.default = {
|
|
|
904
958
|
"62320": [
|
|
905
959
|
"BKLV"
|
|
906
960
|
],
|
|
961
|
+
"62621": [
|
|
962
|
+
"mtv"
|
|
963
|
+
],
|
|
907
964
|
"63000": [
|
|
908
965
|
"ecs"
|
|
909
966
|
],
|
|
@@ -1039,6 +1096,9 @@ exports.default = {
|
|
|
1039
1096
|
"444900": [
|
|
1040
1097
|
"wlkt"
|
|
1041
1098
|
],
|
|
1099
|
+
"512512": [
|
|
1100
|
+
"cmp"
|
|
1101
|
+
],
|
|
1042
1102
|
"666666": [
|
|
1043
1103
|
"vpioneer"
|
|
1044
1104
|
],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Big from 'big.js';
|
|
2
2
|
/**
|
|
3
|
-
* A wrapper around big.js which expands scientific notation and creates a "toHexString" function.
|
|
4
|
-
* This is the return type of every operation on ether, wei, etc.
|
|
3
|
+
* A wrapper around [big.js](https://github.com/MikeMcl/big.js) which expands scientific notation and creates a "toHexString" function.
|
|
4
|
+
* * This is the return type of every operation on ether, wei, etc.
|
|
5
5
|
*/
|
|
6
6
|
export declare class TinyBig extends Big {
|
|
7
7
|
constructor(value: string | number | TinyBig | Big);
|
|
@@ -7,8 +7,8 @@ exports.tinyBig = exports.TinyBig = void 0;
|
|
|
7
7
|
const big_js_1 = __importDefault(require("big.js"));
|
|
8
8
|
const helpers_1 = require("./helpers");
|
|
9
9
|
/**
|
|
10
|
-
* A wrapper around big.js which expands scientific notation and creates a "toHexString" function.
|
|
11
|
-
* This is the return type of every operation on ether, wei, etc.
|
|
10
|
+
* A wrapper around [big.js](https://github.com/MikeMcl/big.js) which expands scientific notation and creates a "toHexString" function.
|
|
11
|
+
* * This is the return type of every operation on ether, wei, etc.
|
|
12
12
|
*/
|
|
13
13
|
class TinyBig extends big_js_1.default {
|
|
14
14
|
constructor(value) {
|
|
@@ -20,6 +20,32 @@ export declare type TransactionResponse = Modify<RPCTransaction, {
|
|
|
20
20
|
maxPriorityFeePerGas: TinyBig;
|
|
21
21
|
confirmations: number;
|
|
22
22
|
}>;
|
|
23
|
+
/**
|
|
24
|
+
* Type that contains information from the receipt of a transaction
|
|
25
|
+
* * Similar to [`Type TransactionReceipt on ethers.providers`](https://docs.ethers.io/v5/api/providers/types/#providers-TransactionReceipt)
|
|
26
|
+
*/
|
|
27
|
+
export declare type TransactionReceipt = Modify<RPCTransactionReceipt, {
|
|
28
|
+
blockNumber: number;
|
|
29
|
+
cumulativeGasUsed: TinyBig;
|
|
30
|
+
effectiveGasPrice: TinyBig;
|
|
31
|
+
gasUsed: TinyBig;
|
|
32
|
+
logs: Array<Log>;
|
|
33
|
+
status: number;
|
|
34
|
+
transactionIndex: number;
|
|
35
|
+
type: number;
|
|
36
|
+
} & {
|
|
37
|
+
byzantium: boolean;
|
|
38
|
+
confirmations: number;
|
|
39
|
+
}>;
|
|
40
|
+
/**
|
|
41
|
+
* Type for the logs that are included in transaction receipts
|
|
42
|
+
* * Similar to [`Type Log on ethers.providers`](https://docs.ethers.io/v5/api/providers/types/#providers-Log)
|
|
43
|
+
*/
|
|
44
|
+
export declare type Log = Modify<Omit<RPCLog, 'removed'>, {
|
|
45
|
+
blockNumber: number;
|
|
46
|
+
logIndex: number;
|
|
47
|
+
transactionIndex: number;
|
|
48
|
+
}>;
|
|
23
49
|
export declare type BlockTransactionResponse = Omit<TransactionResponse, 'maxFeePerGas' | 'maxPriorityFeePerGas'>;
|
|
24
50
|
/** What JSONRPC responds with in getBlock transaction array */
|
|
25
51
|
export interface RPCBlockTransaction {
|
|
@@ -40,4 +66,31 @@ export interface RPCBlockTransaction {
|
|
|
40
66
|
v: string;
|
|
41
67
|
value: string;
|
|
42
68
|
}
|
|
69
|
+
export interface RPCTransactionReceipt {
|
|
70
|
+
blockHash: string;
|
|
71
|
+
blockNumber: string;
|
|
72
|
+
contractAddress: string;
|
|
73
|
+
cumulativeGasUsed: string;
|
|
74
|
+
effectiveGasPrice: string;
|
|
75
|
+
from: string;
|
|
76
|
+
gasUsed: string;
|
|
77
|
+
logs: Array<RPCLog>;
|
|
78
|
+
logsBloom: string;
|
|
79
|
+
status: string;
|
|
80
|
+
to: string;
|
|
81
|
+
transactionHash: string;
|
|
82
|
+
transactionIndex: string;
|
|
83
|
+
type: string;
|
|
84
|
+
}
|
|
85
|
+
export interface RPCLog {
|
|
86
|
+
address: string;
|
|
87
|
+
blockHash: string;
|
|
88
|
+
blockNumber: string;
|
|
89
|
+
data: string;
|
|
90
|
+
logIndex: string;
|
|
91
|
+
removed?: boolean;
|
|
92
|
+
topics: Array<string>;
|
|
93
|
+
transactionHash: string;
|
|
94
|
+
transactionIndex: string;
|
|
95
|
+
}
|
|
43
96
|
export {};
|