essential-eth 0.4.11 โ 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/classes/utils/clean-block.d.ts +3 -3
- package/lib/cjs/classes/utils/clean-block.js +3 -2
- package/lib/cjs/classes/utils/clean-transaction.d.ts +3 -3
- package/lib/cjs/classes/utils/clean-transaction.js +10 -6
- package/lib/cjs/classes/utils/fetchers.d.ts +1 -1
- package/lib/cjs/index.d.ts +4 -3
- package/lib/cjs/index.js +3 -1
- package/lib/cjs/providers/JsonRpcProvider.d.ts +172 -2
- package/lib/cjs/providers/JsonRpcProvider.js +193 -23
- package/lib/cjs/providers/utils/chains-info.d.ts +6 -0
- package/lib/cjs/providers/utils/chains-info.js +18 -0
- package/lib/cjs/shared/tiny-big/tiny-big.js +7 -1
- package/lib/cjs/types/Block.types.d.ts +8 -19
- package/lib/cjs/types/Transaction.types.d.ts +23 -14
- package/lib/cjs/utils/hex-zero-pad.d.ts +32 -0
- package/lib/cjs/utils/hex-zero-pad.js +52 -0
- package/lib/esm/classes/utils/clean-block.d.ts +2 -2
- package/lib/esm/classes/utils/clean-block.js +2 -1
- package/lib/esm/classes/utils/clean-transaction.d.ts +2 -2
- package/lib/esm/classes/utils/clean-transaction.js +10 -6
- package/lib/esm/classes/utils/fetchers.d.ts +1 -1
- package/lib/esm/index.d.ts +4 -3
- package/lib/esm/index.js +2 -1
- package/lib/esm/providers/JsonRpcProvider.d.ts +5 -2
- package/lib/esm/providers/JsonRpcProvider.js +25 -23
- package/lib/esm/providers/utils/chains-info.d.ts +6 -0
- package/lib/esm/providers/utils/chains-info.js +18 -0
- package/lib/esm/shared/tiny-big/tiny-big.js +7 -1
- package/lib/esm/types/Block.types.d.ts +7 -19
- package/lib/esm/types/Transaction.types.d.ts +22 -14
- package/lib/esm/utils/hex-zero-pad.d.ts +1 -0
- package/lib/esm/utils/hex-zero-pad.js +17 -0
- package/package.json +7 -7
- package/readme.md +225 -62
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "essential-eth",
|
|
3
3
|
"description": "Ultralight JS library for Ethereum utilities",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.5.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"main": "./lib/cjs/index.js",
|
|
@@ -36,13 +36,13 @@
|
|
|
36
36
|
"@types/jest-dev-server": "^5.0.0",
|
|
37
37
|
"@types/node": "^16.10.1",
|
|
38
38
|
"@types/prettier": "^2.4.4",
|
|
39
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
40
|
-
"@typescript-eslint/parser": "^5.
|
|
39
|
+
"@typescript-eslint/eslint-plugin": "^5.19.0",
|
|
40
|
+
"@typescript-eslint/parser": "^5.19.0",
|
|
41
41
|
"body-parser": "^1.19.0",
|
|
42
42
|
"dotenv": "^16.0.0",
|
|
43
|
-
"eslint": "^8.
|
|
44
|
-
"eslint-plugin-jest": "^26.1.
|
|
45
|
-
"ethers": "^5.6.
|
|
43
|
+
"eslint": "^8.13.0",
|
|
44
|
+
"eslint-plugin-jest": "^26.1.4",
|
|
45
|
+
"ethers": "^5.6.3",
|
|
46
46
|
"express": "^4.17.1",
|
|
47
47
|
"husky": "^4.3.0",
|
|
48
48
|
"jest": "^27.5.1",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"ts-node": "^10.2.1",
|
|
57
57
|
"typedoc": "^0.22.13",
|
|
58
58
|
"typescript": "^4.6.3",
|
|
59
|
-
"web3": "^1.7.
|
|
59
|
+
"web3": "^1.7.3"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"@types/big.js": "^6.1.3",
|
package/readme.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<
|
|
2
|
+
<img src="https://user-images.githubusercontent.com/3408480/163274699-ae4fb0f4-fca0-4745-bcd7-4868f80deaf6.png" title="Logo"/>
|
|
3
|
+
|
|
3
4
|
</p>
|
|
4
5
|
<p align="center">
|
|
6
|
+
|
|
5
7
|
<b>
|
|
6
|
-
Essential Eth
|
|
8
|
+
๐ชถ Essential Eth ๐ชถ
|
|
7
9
|
</b>
|
|
8
10
|
<br/>
|
|
9
11
|
<i>A replacement for ethers & web3 that's 50x smaller</i>
|
|
@@ -20,18 +22,14 @@
|
|
|
20
22
|
<img src="https://user-images.githubusercontent.com/3408480/133322814-f3d18424-4ba8-4a37-8cbc-c5e6828354a3.png" title="Import size comparison" width="900"/>
|
|
21
23
|
</p>
|
|
22
24
|
|
|
23
|
-

|
|
24
|
-
|
|
25
|
-

|
|
26
|
-
|
|
27
25
|
---
|
|
28
26
|
|
|
29
27
|
<br/>
|
|
30
28
|
|
|
31
|
-
-
|
|
32
|
-
- ๐ [The TINIEST code size possible](https://bundlephobia.com/package/essential-eth)
|
|
29
|
+
- ๐๏ธ <sub><sup>[smallest code size possible](https://bundlephobia.com/package/essential-eth)</sup></sub>
|
|
33
30
|
- สฆ Fully typed with TypeScript (also works with JavaScript)
|
|
34
31
|
- ๐งช Tested to match both `web3` and `ethers`
|
|
32
|
+
- - โก๏ธ Near-identical API to `ethers`
|
|
35
33
|
- ๐ฒ Tree-shaking and no side-effects
|
|
36
34
|
- ๐ Supports multiple JS versions (CommonJS and ESM)
|
|
37
35
|
- โ
Node 17, 16, 14, & 12
|
|
@@ -39,16 +37,6 @@
|
|
|
39
37
|
|
|
40
38
|
<br/>
|
|
41
39
|
|
|
42
|
-
## More Info
|
|
43
|
-
|
|
44
|
-
๐งช This repo is under active development. The API is less-fully featured than `web3` and `ethers`. More functions added often!
|
|
45
|
-
|
|
46
|
-
   
|
|
47
|
-
|
|
48
|
-
๐จ๐ปโ๐ป Breaking changes will exist between minor versions until `1.0.0` (Versions go `major.minor.patch`)
|
|
49
|
-
|
|
50
|
-
<br/>
|
|
51
|
-
|
|
52
40
|
## Install
|
|
53
41
|
|
|
54
42
|
```sh
|
|
@@ -227,6 +215,35 @@ isAddress('vitalik.eth');
|
|
|
227
215
|
|
|
228
216
|
<br/>
|
|
229
217
|
|
|
218
|
+
#### `hexZeroPad`
|
|
219
|
+
|
|
220
|
+
```typescript
|
|
221
|
+
// returns a hex string padded to a specified length of bytes
|
|
222
|
+
// if the hex value provided is already longer than the padding value, the value itself is returned without alteration
|
|
223
|
+
hexZeroPad(hexValue: string | number, length: number): string
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
<details>
|
|
227
|
+
<summary>View Example</summary>
|
|
228
|
+
|
|
229
|
+
```typescript
|
|
230
|
+
import { hexZeroPad } from 'essential-eth';
|
|
231
|
+
|
|
232
|
+
hexZeroPad('0x60', 2);
|
|
233
|
+
// '0x0060'
|
|
234
|
+
|
|
235
|
+
hexZeroPad(0x60, 3);
|
|
236
|
+
// '0x000060'
|
|
237
|
+
|
|
238
|
+
// Length of string is already longer than padding value
|
|
239
|
+
hexZeroPad('0x31323334', 3);
|
|
240
|
+
// Throws error
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
</details>
|
|
244
|
+
|
|
245
|
+
<br/>
|
|
246
|
+
|
|
230
247
|
## RPC
|
|
231
248
|
|
|
232
249
|
```typescript
|
|
@@ -344,49 +361,182 @@ essentialEth.getBlock('latest');
|
|
|
344
361
|
|
|
345
362
|
/*
|
|
346
363
|
{
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
364
|
+
number: 4232826,
|
|
365
|
+
hash: '0x93211a1cd17e154b183565ec685254a03f844a8e34824a46ce1bdd6753dcb669',
|
|
366
|
+
parentHash: '0x1b32bfcba1bb2a57f56e166a3bb06875a1978992999dfc8828397b4c1526f472',
|
|
367
|
+
sha3Uncles: '0x0fb399c67bb5a071ec8a22549223215ab76b7d4009941c9c37aa3c3936010463',
|
|
368
|
+
logsBloom: '0x00000000000000000000101000000000020000000000000000000000000000000000400000010000000000000000000000000000010000000008800000000800000000200000000000000000000000000000000000000000000002000000000000000000000000000040000000000040000000000000000000000000000000000000000000000001000000000004000000000010000000000000000020000000000000000200100020000000000000000080000000000080001000000000000000000001040000000000000000008000000020010100000000200000100000000000000000000000002000000080000000020400000000002000200000000000',
|
|
369
|
+
transactionsRoot: '0xc43b3f13e1fe810e34d3a26ffe465b72c7063a5c70a02de2c78e91e4d10bd9fb',
|
|
370
|
+
stateRoot: '0x04d7bc816537ea7ef3a16e76c9879d29f34f99d4154273c2e98e012a31bad745',
|
|
371
|
+
receiptsRoot: '0x89c6f781ceac0bd49c4d9aa9115df4a5d4dd0e0220ff7668012f15bc04222c6b',
|
|
372
|
+
miner: '0x31fe561eb2c628cD32Ec52573D7c4b7E4C278Bfa',
|
|
373
|
+
difficulty: '1300907486001755331049',
|
|
374
|
+
totalDifficulty: '5989929395521171616186006183',
|
|
375
|
+
extraData: '0xce018c495249532d62613031656132',
|
|
376
|
+
size: 5416,
|
|
377
|
+
gasLimit: 6800000,
|
|
378
|
+
gasUsed: 202955,
|
|
379
|
+
timestamp: 1649884910,
|
|
380
|
+
transactions: [
|
|
381
|
+
'0x6b34a59c7b9aead24fa6dad782f8a3ad84ed4a23ee09bcbf0bcf880840fbbe20',
|
|
382
|
+
'0x9a3851ca24d5336c6a0d48aba2c4b4769d7a672c9b01729c5eb9924efd1b19a7',
|
|
383
|
+
'0xc3ed3d198b62f2f3427ebfa3bbd0fcada4e3c0c189e4464e7eeceb403c75981e'
|
|
384
|
+
],
|
|
385
|
+
uncles: [
|
|
386
|
+
'0x0c567c054e98153f10d651fbbc018891c1dd9d62a9ffd998e87678803e95b6ed',
|
|
387
|
+
'0xb7d69389dbfb057c6fcb4bc0582d46a2ba01170703f0dadf8cd1462b83e88753',
|
|
388
|
+
'0xd5f74ccd0ad4c58b3161e8c2c507c264231e5f28925061b809c02e5e4bb6db28'
|
|
389
|
+
],
|
|
390
|
+
minimumGasPrice: '0x387ee40',
|
|
391
|
+
bitcoinMergedMiningHeader: '0x04000020e8567ed3d2480e15a1dd1b4335e4732ae343c037e4fd03000000000000000000ed10a8340d163d3e813bdd430f902f4e5a56828dc62313b2e23797c0be6b8516eb3e576297d8091735884f42',
|
|
392
|
+
bitcoinMergedMiningCoinbaseTransaction: '0x0000000000000140e910128fda7bac502dc5e0573bbaf12de8e2524f70c22f7bd160dedcb19a2521002b6a2952534b424c4f434b3ae493303f597fa368c0ccc4f8aceabf1c315bb7c9a07605c073a89f260040967aace6a7d9',
|
|
393
|
+
bitcoinMergedMiningMerkleProof: '0xdf63a3d7eb6fbcfb301311faa46e9a15b0408bb1a04e284daee86c273c1dfd65ede23f3170f806e9e0f4cef7ba6b56aa37470d9c23f96ec8e43d08b58645919c5e10bcb892897a731f8f9ce79c72dc0e390896bcd6c67bb38c0bdb72982b6cf05519968d76673572c3f3ef3a08b0ddb464863f1788f7cdbaad3fe44a8a8af576d430ac282fe28852c16df198ca96cc5f71a50695912efe1a836e8442be69e31b6d6f973da2818bce9a3a1c2d9be0671aee9a7776e398d6a03d1e178e20d84646004a3d03c0501334e629d9146aa6a01316dcbaa289df6e6c5e3090cadaddff22699cfc7ff09512fc0d65c5062f17c98561ce3c9510de210d9d654cf99f8d756ff37c9fa21e7122ee8cadb923341690845d572921425f2bd7e044558b7e07983ac4df28928028b0c13c3624dc7a965af8091b0cecc845bf7da5308c03b2c97d607f6706a599f802025894435f1d76ea4e67cc2fc4e1559f1206f559a24633de0f',
|
|
394
|
+
hashForMergedMining: '0xe493303f597fa368c0ccc4f8aceabf1c315bb7c9a07605c073a89f260040967a',
|
|
395
|
+
paidFees: '0xc0744dcb7a0',
|
|
396
|
+
cumulativeDifficulty: '0x1190930db285269e582'
|
|
397
|
+
}
|
|
398
|
+
*/
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
</details>
|
|
402
|
+
|
|
403
|
+
<br/>
|
|
404
|
+
|
|
405
|
+
#### `getTransaction`
|
|
406
|
+
|
|
407
|
+
Returns the Transaction associated with a given hash
|
|
408
|
+
|
|
409
|
+
```typescript
|
|
410
|
+
// Similar to ethers.provider.getTransaction, formatting may differ
|
|
411
|
+
getTransaction(hash: string): Promise<Transaction>
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
<details>
|
|
415
|
+
<summary>View Example</summary>
|
|
416
|
+
|
|
417
|
+
```typescript
|
|
418
|
+
import { JsonRpcProvider } from 'essential-eth';
|
|
419
|
+
const essentialEth = new JsonRpcProvider();
|
|
420
|
+
await provider.getTransaction(
|
|
421
|
+
'0x9014ae6ef92464338355a79e5150e542ff9a83e2323318b21f40d6a3e65b4789',
|
|
422
|
+
);
|
|
423
|
+
|
|
424
|
+
/*
|
|
425
|
+
{
|
|
426
|
+
accessList: [],
|
|
427
|
+
blockHash: '0x876810a013dbcd140f6fd6048c1dc33abbb901f1f96b394c2fa63aef3cb40b5d',
|
|
428
|
+
blockNumber: 14578286,
|
|
429
|
+
chainId: 1,
|
|
430
|
+
from: '0xdfD9dE5f6FA60BD70636c0900752E93a6144AEd4',
|
|
431
|
+
gas: Big {
|
|
432
|
+
s: 1,
|
|
433
|
+
e: 5,
|
|
434
|
+
c: [ 1, 1, 2, 1, 6, 3 ],
|
|
435
|
+
constructor: <ref *1> [Function: Big] {
|
|
436
|
+
DP: 20,
|
|
437
|
+
RM: 1,
|
|
438
|
+
NE: -7,
|
|
439
|
+
PE: 21,
|
|
440
|
+
strict: false,
|
|
441
|
+
roundDown: 0,
|
|
442
|
+
roundHalfUp: 1,
|
|
443
|
+
roundHalfEven: 2,
|
|
444
|
+
roundUp: 3,
|
|
445
|
+
Big: [Circular *1],
|
|
446
|
+
default: [Circular *1]
|
|
447
|
+
}
|
|
448
|
+
},
|
|
449
|
+
gasPrice: Big {
|
|
450
|
+
s: 1,
|
|
451
|
+
e: 10,
|
|
452
|
+
c: [
|
|
453
|
+
4, 8, 5, 9, 2,
|
|
454
|
+
4, 2, 6, 8, 5,
|
|
455
|
+
8
|
|
456
|
+
],
|
|
457
|
+
constructor: <ref *1> [Function: Big] {
|
|
458
|
+
DP: 20,
|
|
459
|
+
RM: 1,
|
|
460
|
+
NE: -7,
|
|
461
|
+
PE: 21,
|
|
462
|
+
strict: false,
|
|
463
|
+
roundDown: 0,
|
|
464
|
+
roundHalfUp: 1,
|
|
465
|
+
roundHalfEven: 2,
|
|
466
|
+
roundUp: 3,
|
|
467
|
+
Big: [Circular *1],
|
|
468
|
+
default: [Circular *1]
|
|
469
|
+
}
|
|
470
|
+
},
|
|
471
|
+
hash: '0x9014ae6ef92464338355a79e5150e542ff9a83e2323318b21f40d6a3e65b4789',
|
|
472
|
+
input: '0x83259f170000000000000000000000000000000000000000000000000000000000000080000000000000000000000000dfd9de5f6fa60bd70636c0900752e93a6144aed400000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000009e99ad11a214fd016b19dc3648678c5944859ae292b21c24ca94f857836c4596f1950c82dd0c23dd621af4763edc2f66466e63c5df9de0c1107b1cd16bf460fe93e43fd308e3444bc79c3d88a4cb961dc8367ab6ad048867afc76d193bca99cf3a068864ed4a7df1dbf1d4c52238eced3e5e05644b4040fc2b3ccb8557b0e99fff6131305a0ea2b8061b90bd418db5bbdd2e92129f52d93f90531465e309c4caec5b85285822b6196398d36f16f511811b61bbda6461e80e29210cd303118bdcee8df6fa0505ffbe8642094fd2ba4dd458496fe3b459ac880bbf71877c713e969ccf5ed7efab8a84ebc07e3939901371ca427e1192e455a8f35a6a1d7ad09e1475dd1758b36fa631dab5d70e99316b23c4c43094188d360cd9c3457355904e07c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000162074a7047f',
|
|
473
|
+
maxFeePerGas: Big {
|
|
474
|
+
s: 1,
|
|
475
|
+
e: 10,
|
|
476
|
+
c: [
|
|
477
|
+
6, 7, 6, 8, 1,
|
|
478
|
+
2, 6, 1, 6, 1,
|
|
479
|
+
8
|
|
480
|
+
],
|
|
481
|
+
constructor: <ref *1> [Function: Big] {
|
|
482
|
+
DP: 20,
|
|
483
|
+
RM: 1,
|
|
484
|
+
NE: -7,
|
|
485
|
+
PE: 21,
|
|
486
|
+
strict: false,
|
|
487
|
+
roundDown: 0,
|
|
488
|
+
roundHalfUp: 1,
|
|
489
|
+
roundHalfEven: 2,
|
|
490
|
+
roundUp: 3,
|
|
491
|
+
Big: [Circular *1],
|
|
492
|
+
default: [Circular *1]
|
|
493
|
+
}
|
|
494
|
+
},
|
|
495
|
+
maxPriorityFeePerGas: Big {
|
|
496
|
+
s: 1,
|
|
497
|
+
e: 9,
|
|
498
|
+
c: [ 1, 5 ],
|
|
499
|
+
constructor: <ref *1> [Function: Big] {
|
|
500
|
+
DP: 20,
|
|
501
|
+
RM: 1,
|
|
502
|
+
NE: -7,
|
|
503
|
+
PE: 21,
|
|
504
|
+
strict: false,
|
|
505
|
+
roundDown: 0,
|
|
506
|
+
roundHalfUp: 1,
|
|
507
|
+
roundHalfEven: 2,
|
|
508
|
+
roundUp: 3,
|
|
509
|
+
Big: [Circular *1],
|
|
510
|
+
default: [Circular *1]
|
|
511
|
+
}
|
|
512
|
+
},
|
|
513
|
+
nonce: 129,
|
|
514
|
+
r: '0x59a7c15b12c18cd68d6c440963d959bff3e73831ffc938e75ecad07f7ee43fbc',
|
|
515
|
+
s: '0x1ebaf05f0d9273b16c2a7748b150a79d22533a8cd74552611cbe620fee3dcf1c',
|
|
516
|
+
to: '0x39B72d136ba3e4ceF35F48CD09587ffaB754DD8B',
|
|
517
|
+
transactionIndex: 29,
|
|
518
|
+
type: 2,
|
|
519
|
+
v: 0,
|
|
520
|
+
value: Big {
|
|
521
|
+
s: 1,
|
|
522
|
+
e: 0,
|
|
523
|
+
c: [ 0 ],
|
|
524
|
+
constructor: <ref *1> [Function: Big] {
|
|
525
|
+
DP: 20,
|
|
526
|
+
RM: 1,
|
|
527
|
+
NE: -7,
|
|
528
|
+
PE: 21,
|
|
529
|
+
strict: false,
|
|
530
|
+
roundDown: 0,
|
|
531
|
+
roundHalfUp: 1,
|
|
532
|
+
roundHalfEven: 2,
|
|
533
|
+
roundUp: 3,
|
|
534
|
+
Big: [Circular *1],
|
|
535
|
+
default: [Circular *1]
|
|
536
|
+
}
|
|
537
|
+
},
|
|
538
|
+
confirmations: 1210
|
|
539
|
+
}
|
|
390
540
|
*/
|
|
391
541
|
```
|
|
392
542
|
|
|
@@ -459,6 +609,19 @@ Any function on a contract. Returns are the same as `ethers.js`, except that ins
|
|
|
459
609
|
<br/>
|
|
460
610
|
<br/>
|
|
461
611
|
|
|
612
|
+

|
|
613
|
+
|
|
614
|
+

|
|
615
|
+
|
|
616
|
+
## More Info
|
|
617
|
+
|
|
618
|
+
๐งช This repo is under active development. The API is less-fully featured than `web3` and `ethers`. More functions added often!
|
|
619
|
+
|
|
620
|
+
   
|
|
621
|
+
|
|
622
|
+
๐จ๐ปโ๐ป Breaking changes will exist between minor versions until `1.0.0` (Versions go `major.minor.patch`)
|
|
623
|
+
|
|
624
|
+
<br/>
|
|
625
|
+
|
|
462
626
|
- [๐ View full docs](https://essential-eth.vercel.app)
|
|
463
627
|
- [๐ View changelog (by looking at releases diff)](https://github.com/dawsbot/essential-eth/releases)
|
|
464
|
-
- [๐ View docs for an older version](https://essential-eth.vercel.app/versions)
|