evmchains 0.0.3__tar.gz → 0.0.5__tar.gz

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.
@@ -61,7 +61,7 @@ jobs:
61
61
  strategy:
62
62
  matrix:
63
63
  os: [ubuntu-latest, macos-latest] # eventually add `windows-latest`
64
- python-version: ["3.8", "3.9", "3.10", "3.11"]
64
+ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
65
65
 
66
66
  steps:
67
67
  - uses: actions/checkout@v3
@@ -0,0 +1,49 @@
1
+ # Development
2
+
3
+ To get started with working on the codebase, use the following steps prepare your local environment:
4
+
5
+ ```bash
6
+ # clone the github repo and navigate into the folder
7
+ git clone https://github.com/ApeWorX/evmchains.git
8
+ cd evmchains
9
+
10
+ # create and load a virtual environment
11
+ python3 -m venv venv
12
+ source venv/bin/activate
13
+
14
+ # install evmchains into the virtual environment
15
+ python setup.py install
16
+
17
+ # install the developer dependencies (-e is interactive mode)
18
+ pip install -e .'[dev]'
19
+ ```
20
+
21
+ ## Pre-Commit Hooks
22
+
23
+ We use [`pre-commit`](https://pre-commit.com/) hooks to simplify linting and ensure consistent formatting among contributors.
24
+ Use of `pre-commit` is not a requirement, but is highly recommended.
25
+
26
+ Install `pre-commit` locally from the root folder:
27
+
28
+ ```bash
29
+ pip install pre-commit
30
+ pre-commit install
31
+ ```
32
+
33
+ Committing will now automatically run the local hooks and ensure that your commit passes all lint checks.
34
+
35
+ ## Pull Requests
36
+
37
+ Pull requests are welcomed! Please adhere to the following:
38
+
39
+ - Ensure your pull request passes our linting checks
40
+ - Include test cases for any new functionality
41
+ - Include any relevant documentation updates
42
+
43
+ It's a good idea to make pull requests early on.
44
+ A pull request represents the start of a discussion, and doesn't necessarily need to be the final, finished submission.
45
+
46
+ If you are opening a work-in-progress pull request to verify that it passes CI tests, please consider
47
+ [marking it as a draft](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests#draft-pull-requests).
48
+
49
+ Join the ApeWorX [Discord](https://discord.gg/apeworx) if you have any questions.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: evmchains
3
- Version: 0.0.3
3
+ Version: 0.0.5
4
4
  Summary: Packaged metadata on Ethereum Virtual Machine (EVM) chains
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
@@ -218,6 +218,7 @@ Classifier: Programming Language :: Python :: 3.8
218
218
  Classifier: Programming Language :: Python :: 3.9
219
219
  Classifier: Programming Language :: Python :: 3.10
220
220
  Classifier: Programming Language :: Python :: 3.11
221
+ Classifier: Programming Language :: Python :: 3.12
221
222
  Requires-Python: >=3.8
222
223
  Description-Content-Type: text/markdown
223
224
  License-File: LICENSE
@@ -277,3 +278,13 @@ assert chain.chainId == 1
277
278
 
278
279
  Please see the [contributing guide](CONTRIBUTING.md) to learn more how to contribute to this project.
279
280
  Comments, questions, criticisms and pull requests are welcomed.
281
+
282
+ ### Adding Chains
283
+
284
+ To add a chain to the metadata, please open a pull request with the following changes:
285
+
286
+ - Update `CHAIN_IDS` in `scripts/update.py` with the chain IDs you want to add
287
+ - Run `python scripts/update.py`
288
+ - Submit a PR with the updated script and updated `evmchain/chains.py` metdata file
289
+
290
+ **Do not edit `evmchain/chains.py` manually.** Any manual changes are likely to be overwritten later.
@@ -42,3 +42,13 @@ assert chain.chainId == 1
42
42
 
43
43
  Please see the [contributing guide](CONTRIBUTING.md) to learn more how to contribute to this project.
44
44
  Comments, questions, criticisms and pull requests are welcomed.
45
+
46
+ ### Adding Chains
47
+
48
+ To add a chain to the metadata, please open a pull request with the following changes:
49
+
50
+ - Update `CHAIN_IDS` in `scripts/update.py` with the chain IDs you want to add
51
+ - Run `python scripts/update.py`
52
+ - Submit a PR with the updated script and updated `evmchain/chains.py` metdata file
53
+
54
+ **Do not edit `evmchain/chains.py` manually.** Any manual changes are likely to be overwritten later.
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.0.3'
16
- __version_tuple__ = version_tuple = (0, 0, 3)
15
+ __version__ = version = '0.0.5'
16
+ __version_tuple__ = version_tuple = (0, 0, 5)
@@ -1,5 +1,5 @@
1
1
  # This file is auto-generated by scripts/update_rpc.py
2
- # 2024-02-13 04:08:25.220071
2
+ # 2024-03-08 22:05:08.915228
3
3
  # Do not edit this file directly.
4
4
  from typing import Any, Dict
5
5
 
@@ -123,7 +123,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
123
123
  "networkId": 43114,
124
124
  "rpc": [
125
125
  "https://api.avax.network/ext/bc/C/rpc",
126
- "https://avalanche-c-chain.publicnode.com",
126
+ "https://avalanche-c-chain-rpc.publicnode.com",
127
127
  ],
128
128
  "shortName": "avax",
129
129
  "slip44": 9005,
@@ -148,7 +148,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
148
148
  "networkId": 1,
149
149
  "rpc": [
150
150
  "https://api.avax-test.network/ext/bc/C/rpc",
151
- "https://avalanche-fuji-c-chain.publicnode.com",
151
+ "https://avalanche-fuji-c-chain-rpc.publicnode.com",
152
152
  ],
153
153
  "shortName": "Fuji",
154
154
  "slip44": 1,
@@ -185,7 +185,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
185
185
  "https://mainnet.base.org/",
186
186
  "https://developer-access-mainnet.base.org/",
187
187
  "https://base.gateway.tenderly.co",
188
- "https://base.publicnode.com",
188
+ "https://base-rpc.publicnode.com",
189
189
  ],
190
190
  "shortName": "base",
191
191
  "slip44": None,
@@ -213,11 +213,78 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
213
213
  "symbol": "ETH",
214
214
  },
215
215
  "networkId": 84532,
216
- "rpc": ["https://sepolia.base.org"],
216
+ "rpc": [
217
+ "https://sepolia.base.org",
218
+ "https://base-sepolia-rpc.publicnode.com",
219
+ ],
217
220
  "shortName": "basesep",
218
221
  "slip44": 1,
219
222
  },
220
223
  },
224
+ "blast": {
225
+ "mainnet": {
226
+ "chain": "ETH",
227
+ "chainId": 81457,
228
+ "ens": None,
229
+ "explorers": [
230
+ {
231
+ "icon": "blast",
232
+ "name": "Blastscan",
233
+ "standard": "EIP3091",
234
+ "url": "https://blastscan.io",
235
+ },
236
+ {
237
+ "icon": "blast",
238
+ "name": "Blast Explorer",
239
+ "standard": "EIP3091",
240
+ "url": "https://blastexplorer.io",
241
+ },
242
+ ],
243
+ "faucets": [],
244
+ "features": None,
245
+ "icon": "blast",
246
+ "infoURL": "https://blast.io/",
247
+ "name": "Blast",
248
+ "nativeCurrency": {"decimals": 18, "name": "Ether", "symbol": "ETH"},
249
+ "networkId": 81457,
250
+ "rpc": [
251
+ "https://rpc.blast.io",
252
+ "https://rpc.ankr.com/blast",
253
+ "https://blast.din.dev/rpc",
254
+ "https://blastl2-mainnet.public.blastapi.io",
255
+ "https://blast.blockpi.network/v1/rpc/public",
256
+ ],
257
+ "shortName": "blastmainnet",
258
+ "slip44": None,
259
+ },
260
+ "sepolia": {
261
+ "chain": "ETH",
262
+ "chainId": 168587773,
263
+ "ens": None,
264
+ "explorers": [
265
+ {
266
+ "icon": "blast",
267
+ "name": "Blast Sepolia Explorer",
268
+ "standard": "EIP3091",
269
+ "url": "https://testnet.blastscan.io",
270
+ }
271
+ ],
272
+ "faucets": ["https://faucet.quicknode.com/blast/sepolia"],
273
+ "features": None,
274
+ "icon": "blast",
275
+ "infoURL": "https://blast.io/",
276
+ "name": "Blast Sepolia Testnet",
277
+ "nativeCurrency": {
278
+ "decimals": 18,
279
+ "name": "Sepolia Ether",
280
+ "symbol": "ETH",
281
+ },
282
+ "networkId": 168587773,
283
+ "rpc": ["https://sepolia.blast.io"],
284
+ "shortName": "blastsepolia",
285
+ "slip44": None,
286
+ },
287
+ },
221
288
  "bsc": {
222
289
  "mainnet": {
223
290
  "chain": "BSC",
@@ -260,7 +327,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
260
327
  "https://bsc-dataseed2.ninicoin.io",
261
328
  "https://bsc-dataseed3.ninicoin.io",
262
329
  "https://bsc-dataseed4.ninicoin.io",
263
- "https://bsc.publicnode.com",
330
+ "https://bsc-rpc.publicnode.com",
264
331
  ],
265
332
  "shortName": "bnb",
266
333
  "slip44": 714,
@@ -294,7 +361,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
294
361
  "https://data-seed-prebsc-2-s2.bnbchain.org:8545",
295
362
  "https://data-seed-prebsc-1-s3.bnbchain.org:8545",
296
363
  "https://data-seed-prebsc-2-s3.bnbchain.org:8545",
297
- "https://bsc-testnet.publicnode.com",
364
+ "https://bsc-testnet-rpc.publicnode.com",
298
365
  ],
299
366
  "shortName": "bnbt",
300
367
  "slip44": 1,
@@ -335,7 +402,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
335
402
  "https://mainnet.infura.io/v3/${INFURA_API_KEY}",
336
403
  "https://api.mycryptoapi.com/eth",
337
404
  "https://cloudflare-eth.com",
338
- "https://ethereum.publicnode.com",
405
+ "https://ethereum-rpc.publicnode.com",
339
406
  "https://mainnet.gateway.tenderly.co",
340
407
  "https://rpc.flashbots.net",
341
408
  "https://rpc.flashbots.net/fast",
@@ -378,7 +445,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
378
445
  "rpc": [
379
446
  "https://goerli.infura.io/v3/${INFURA_API_KEY}",
380
447
  "https://rpc.goerli.mudit.blog/",
381
- "https://ethereum-goerli.publicnode.com",
448
+ "https://ethereum-goerli-rpc.publicnode.com",
382
449
  "https://goerli.gateway.tenderly.co",
383
450
  ],
384
451
  "shortName": "gor",
@@ -420,7 +487,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
420
487
  "https://rpc.sepolia.ethpandaops.io",
421
488
  "https://sepolia.infura.io/v3/${INFURA_API_KEY}",
422
489
  "https://sepolia.gateway.tenderly.co",
423
- "https://ethereum-sepolia.publicnode.com",
490
+ "https://ethereum-sepolia-rpc.publicnode.com",
424
491
  ],
425
492
  "shortName": "sep",
426
493
  "slip44": 1,
@@ -452,7 +519,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
452
519
  "name": "Fantom Opera",
453
520
  "nativeCurrency": {"decimals": 18, "name": "Fantom", "symbol": "FTM"},
454
521
  "networkId": 250,
455
- "rpc": ["https://rpc.ftm.tools", "https://fantom.publicnode.com"],
522
+ "rpc": ["https://rpc.ftm.tools", "https://fantom-rpc.publicnode.com"],
456
523
  "shortName": "ftm",
457
524
  "slip44": None,
458
525
  },
@@ -477,7 +544,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
477
544
  "networkId": 4002,
478
545
  "rpc": [
479
546
  "https://rpc.testnet.fantom.network",
480
- "https://fantom-testnet.publicnode.com",
547
+ "https://fantom-testnet-rpc.publicnode.com",
481
548
  ],
482
549
  "shortName": "tftm",
483
550
  "slip44": 1,
@@ -528,7 +595,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
528
595
  "https://gnosis.blockpi.network/v1/rpc/public",
529
596
  "https://web3endpoints.com/gnosischain-mainnet",
530
597
  "https://gnosis.oat.farm",
531
- "https://gnosis.publicnode.com",
598
+ "https://gnosis-rpc.publicnode.com",
532
599
  ],
533
600
  "shortName": "gno",
534
601
  "slip44": 700,
@@ -567,7 +634,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
567
634
  "networkId": 10,
568
635
  "rpc": [
569
636
  "https://mainnet.optimism.io",
570
- "https://optimism.publicnode.com",
637
+ "https://optimism-rpc.publicnode.com",
571
638
  "https://optimism.gateway.tenderly.co",
572
639
  ],
573
640
  "shortName": "oeth",
@@ -594,7 +661,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
594
661
  "networkId": 420,
595
662
  "rpc": [
596
663
  "https://goerli.optimism.io",
597
- "https://optimism-goerli.publicnode.com",
664
+ "https://optimism-goerli-rpc.publicnode.com",
598
665
  "https://optimism-goerli.gateway.tenderly.co",
599
666
  ],
600
667
  "shortName": "ogor",
@@ -708,7 +775,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
708
775
  "https://rpc-mainnet.maticvigil.com",
709
776
  "https://rpc-mainnet.matic.quiknode.pro",
710
777
  "https://matic-mainnet-full-rpc.bwarelabs.com",
711
- "https://polygon-bor.publicnode.com",
778
+ "https://polygon-bor-rpc.publicnode.com",
712
779
  "https://polygon.gateway.tenderly.co",
713
780
  ],
714
781
  "shortName": "matic",
@@ -734,7 +801,7 @@ PUBLIC_CHAIN_META: Dict[str, Dict[str, Dict[str, Any]]] = {
734
801
  "networkId": 80001,
735
802
  "rpc": [
736
803
  "https://rpc-mumbai.maticvigil.com",
737
- "https://polygon-mumbai-bor.publicnode.com",
804
+ "https://polygon-mumbai-bor-rpc.publicnode.com",
738
805
  "https://polygon-mumbai.gateway.tenderly.co",
739
806
  ],
740
807
  "shortName": "maticmum",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: evmchains
3
- Version: 0.0.3
3
+ Version: 0.0.5
4
4
  Summary: Packaged metadata on Ethereum Virtual Machine (EVM) chains
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
@@ -218,6 +218,7 @@ Classifier: Programming Language :: Python :: 3.8
218
218
  Classifier: Programming Language :: Python :: 3.9
219
219
  Classifier: Programming Language :: Python :: 3.10
220
220
  Classifier: Programming Language :: Python :: 3.11
221
+ Classifier: Programming Language :: Python :: 3.12
221
222
  Requires-Python: >=3.8
222
223
  Description-Content-Type: text/markdown
223
224
  License-File: LICENSE
@@ -277,3 +278,13 @@ assert chain.chainId == 1
277
278
 
278
279
  Please see the [contributing guide](CONTRIBUTING.md) to learn more how to contribute to this project.
279
280
  Comments, questions, criticisms and pull requests are welcomed.
281
+
282
+ ### Adding Chains
283
+
284
+ To add a chain to the metadata, please open a pull request with the following changes:
285
+
286
+ - Update `CHAIN_IDS` in `scripts/update.py` with the chain IDs you want to add
287
+ - Run `python scripts/update.py`
288
+ - Submit a PR with the updated script and updated `evmchain/chains.py` metdata file
289
+
290
+ **Do not edit `evmchain/chains.py` manually.** Any manual changes are likely to be overwritten later.
@@ -1,4 +1,5 @@
1
1
  .gitignore
2
+ CONTRIBUTING.md
2
3
  LICENSE
3
4
  README.md
4
5
  pyproject.toml
@@ -23,6 +23,7 @@ classifiers = [
23
23
  "Programming Language :: Python :: 3.9",
24
24
  "Programming Language :: Python :: 3.10",
25
25
  "Programming Language :: Python :: 3.11",
26
+ "Programming Language :: Python :: 3.12",
26
27
  ]
27
28
  dependencies = [
28
29
  "pydantic~=2.5.3",
@@ -54,7 +55,7 @@ write_to = "evmchains/_meta.py"
54
55
  # character.
55
56
 
56
57
  [tool.black]
57
- target-version = ['py38', 'py39', 'py310', 'py311']
58
+ target-version = ['py38', 'py39', 'py310', 'py311', 'py312']
58
59
  include = '\.pyi?$'
59
60
 
60
61
  [tool.pytest.ini_options]
@@ -35,6 +35,10 @@ CHAIN_IDS = {
35
35
  "mainnet": 8453,
36
36
  "sepolia": 84532,
37
37
  },
38
+ "blast": {
39
+ "mainnet": 81457,
40
+ "sepolia": 168587773,
41
+ },
38
42
  "bsc": {
39
43
  "mainnet": 56,
40
44
  "testnet": 97,
@@ -128,7 +132,7 @@ def fetch_chains() -> Dict[str, Dict[str, Chain]]:
128
132
 
129
133
  def write_chain_const(chains: Dict[str, Dict[str, Chain]]):
130
134
  """Write the file with Python constant"""
131
- file_str = "# This file is auto-generated by scripts/update_rpc.py\n"
135
+ file_str = "# This file is auto-generated by scripts/update.py\n"
132
136
  file_str += f"# {stamp()}\n"
133
137
  file_str += "# Do not edit this file directly.\n"
134
138
  file_str += "from typing import Any, Dict\n\n"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes