From b94900071a5c2aa9ab021500ebf104322751d64f Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Tue, 9 Apr 2024 01:05:45 -0400 Subject: [PATCH 01/51] Updated Chains Metadata to better-reflect actual structure, be more extensible, easier to sort and ready to plug in with token icons. --- configs/index.config.json | 25 + data.d.ts | 8 +- data.json | 1799 +- .../arbgoerli/meta.json} | 12 +- .../arbsepolia/meta.json} | 10 - .../chiado-cl/meta.json} | 12 +- .../chiado.json => arbone/chiado/meta.json} | 10 - data/{chains/arbone.json => arbone/meta.json} | 9 +- data/arweave/meta.json | 47 +- data/avalanche/meta.json | 45 +- data/{chains/base.json => base/meta.json} | 10 +- .../bitcoin.json => bitcoin/meta.json} | 13 +- .../chapel.json => bsc/chapel/meta.json} | 10 - data/{chains/bsc.json => bsc/meta.json} | 14 +- data/celo/alfajores/meta.json | 20 + data/celo/meta.json | 45 +- data/chains/alfajores.json | 31 - data/chains/arweave.json | 31 - data/chains/avalanche.json | 31 - data/chains/celo.json | 31 - data/chains/eos.json | 31 - data/chains/eth-cl.json | 31 - data/chains/gnosis-cl.json | 31 - data/chains/goerli-cl.json | 31 - data/chains/goerli.json | 31 - data/chains/holesky-cl.json | 31 - data/chains/juno.json | 31 - data/chains/ore.json | 30 - data/chains/orestage.json | 30 - data/chains/sepolia-cl.json | 31 - data/chains/ux.json | 30 - data/chains/zkatana.json | 30 - .../cosmoshub.json => cosmoshub/meta.json} | 9 +- .../theta.json => cosmoshub/theta/meta.json} | 10 - .../decimal.json => decimal/meta.json} | 9 +- .../jungle4.json => eos/jungle4/meta.json} | 10 - data/eos/kylin/meta.json | 20 + data/{chains/kylin.json => eos/meta.json} | 15 +- data/eth/eth-cl/meta.json | 20 + data/eth/holesky-cl/meta.json | 20 + .../holesky.json => eth/holesky/meta.json} | 13 +- data/{chains/eth.json => eth/meta.json} | 12 +- data/eth/sepolia-cl/meta.json | 20 + .../sepolia.json => eth/sepolia/meta.json} | 11 - data/{chains/fantom.json => fantom/meta.json} | 12 +- data/gnosis/gnosis-cl/meta.json | 20 + data/{chains/gnosis.json => gnosis/meta.json} | 12 +- data/{chains/kava.json => kava/meta.json} | 9 +- .../moonbeam.json => moonbeam/meta.json} | 9 +- data/{chains/near.json => near/meta.json} | 12 +- .../neartest.json => near/neartest/meta.json} | 11 - .../optimism.json => optimism/meta.json} | 11 +- .../osmosis.json => osmosis/meta.json} | 9 +- .../polygon.json => polygon/meta.json} | 13 +- .../mumbai.json => polygon/mumbai/meta.json} | 10 - data/{chains/scroll.json => scroll/meta.json} | 12 +- .../starknet.json => starknet/meta.json} | 9 +- data/{chains/telos.json => telos/meta.json} | 9 +- .../telostest/meta.json} | 10 - data/{chains/wax.json => wax/meta.json} | 9 +- .../waxtest.json => wax/waxtest/meta.json} | 10 - docs/chain_icons.md | 5 + docs/retrieve_graph_ids.md | 33 + docs/updating_indexes.md | 3 + configs.ts => env.config.ts | 0 package-lock.json | 22621 +--------------- package.json | 3 +- scripts/generate/data_json.js | 83 +- types/chain.types.ts | 54 +- types/graph.types.ts | 14 +- types/mainnet.types.ts | 28 - types/pinax.types.ts | 8 +- utils/chains.ts | 63 + 73 files changed, 1307 insertions(+), 24545 deletions(-) create mode 100644 configs/index.config.json rename data/{chains/arbgoerli.json => arbone/arbgoerli/meta.json} (52%) rename data/{chains/arbsepolia.json => arbone/arbsepolia/meta.json} (52%) rename data/{chains/chiado-cl.json => arbone/chiado-cl/meta.json} (53%) rename data/{chains/chiado.json => arbone/chiado/meta.json} (51%) rename data/{chains/arbone.json => arbone/meta.json} (78%) rename data/{chains/base.json => base/meta.json} (72%) rename data/{chains/bitcoin.json => bitcoin/meta.json} (76%) rename data/{chains/chapel.json => bsc/chapel/meta.json} (56%) rename data/{chains/bsc.json => bsc/meta.json} (76%) create mode 100644 data/celo/alfajores/meta.json delete mode 100644 data/chains/alfajores.json delete mode 100644 data/chains/arweave.json delete mode 100644 data/chains/avalanche.json delete mode 100644 data/chains/celo.json delete mode 100644 data/chains/eos.json delete mode 100644 data/chains/eth-cl.json delete mode 100644 data/chains/gnosis-cl.json delete mode 100644 data/chains/goerli-cl.json delete mode 100644 data/chains/goerli.json delete mode 100644 data/chains/holesky-cl.json delete mode 100644 data/chains/juno.json delete mode 100644 data/chains/ore.json delete mode 100644 data/chains/orestage.json delete mode 100644 data/chains/sepolia-cl.json delete mode 100644 data/chains/ux.json delete mode 100644 data/chains/zkatana.json rename data/{chains/cosmoshub.json => cosmoshub/meta.json} (78%) rename data/{chains/theta.json => cosmoshub/theta/meta.json} (54%) rename data/{chains/decimal.json => decimal/meta.json} (78%) rename data/{chains/jungle4.json => eos/jungle4/meta.json} (56%) create mode 100644 data/eos/kylin/meta.json rename data/{chains/kylin.json => eos/meta.json} (74%) create mode 100644 data/eth/eth-cl/meta.json create mode 100644 data/eth/holesky-cl/meta.json rename data/{chains/holesky.json => eth/holesky/meta.json} (51%) rename data/{chains/eth.json => eth/meta.json} (73%) create mode 100644 data/eth/sepolia-cl/meta.json rename data/{chains/sepolia.json => eth/sepolia/meta.json} (51%) rename data/{chains/fantom.json => fantom/meta.json} (70%) create mode 100644 data/gnosis/gnosis-cl/meta.json rename data/{chains/gnosis.json => gnosis/meta.json} (70%) rename data/{chains/kava.json => kava/meta.json} (78%) rename data/{chains/moonbeam.json => moonbeam/meta.json} (77%) rename data/{chains/near.json => near/meta.json} (72%) rename data/{chains/neartest.json => near/neartest/meta.json} (51%) rename data/{chains/optimism.json => optimism/meta.json} (79%) rename data/{chains/osmosis.json => osmosis/meta.json} (79%) rename data/{chains/polygon.json => polygon/meta.json} (76%) rename data/{chains/mumbai.json => polygon/mumbai/meta.json} (55%) rename data/{chains/scroll.json => scroll/meta.json} (70%) rename data/{chains/starknet.json => starknet/meta.json} (77%) rename data/{chains/telos.json => telos/meta.json} (79%) rename data/{chains/telostest.json => telos/telostest/meta.json} (55%) rename data/{chains/wax.json => wax/meta.json} (79%) rename data/{chains/waxtest.json => wax/waxtest/meta.json} (55%) create mode 100644 docs/chain_icons.md create mode 100644 docs/retrieve_graph_ids.md create mode 100644 docs/updating_indexes.md rename configs.ts => env.config.ts (100%) delete mode 100644 types/mainnet.types.ts create mode 100644 utils/chains.ts diff --git a/configs/index.config.json b/configs/index.config.json new file mode 100644 index 0000000..f250164 --- /dev/null +++ b/configs/index.config.json @@ -0,0 +1,25 @@ +{ + "eth": ["holesky", "sepolia", "eth-cl", "holesky-cl", "sepolia-cl"], + "bitcoin": [], + "polygon": ["mumbai"], + "bsc": ["chapel"], + "arbone": ["arbgoerli", "arbsepolia", "chiado-cl", "chiado"], + "optimism": [], + "base": [], + "gnosis": ["gnosis-cl"], + "celo": ["alfajores"], + "near": ["neartest"], + "arweave": [], + "cosmoshub": ["theta"], + "osmosis": [], + "eos": ["jungle4", "kylin"], + "wax": ["waxtest"], + "telos": ["telostest"], + "avalanche": [], + "fantom": [], + "moonbeam": [], + "scroll": [], + "decimal": [], + "kava": [], + "starknet": [] +} diff --git a/data.d.ts b/data.d.ts index 4728d88..578c208 100644 --- a/data.d.ts +++ b/data.d.ts @@ -1,5 +1,5 @@ import { BlockType } from './types/block.types'; -import { Chain } from './types/chain.types'; +import { Chain, Testnet, ConsensusLayer } from './types/chain.types'; import { GraphId } from './types/graph.types'; import { Mainnet } from './types/mainnet.types'; import { PinaxId } from './types/pinax.types'; @@ -8,9 +8,11 @@ import { Standard } from './types/standard.types'; export { BlockType, - Chain, + Chain as Mainnet, + Testnet, + ConsensusLayer, GraphId, - Mainnet, + Chain as Mainnet, PinaxId, SupportedServices, Standard, diff --git a/data.json b/data.json index db892d0..f930ded 100644 --- a/data.json +++ b/data.json @@ -1,203 +1,475 @@ [ { - "id": "alfajores", - "index": 4, - "graph_id": null, - "name": "Alfajores", + "id": "eth", + "graph_id": "mainnet", + "name": "Ethereum", "alt_names": [], - "mainnet": "celo", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/celo.svg", - "img_invert": "https://pinax.network/assets/chains/celo_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, + "icon": { + "id": "networks/ethereum", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, "supported_services": { "firehose": { - "released_at": null, + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "released_at": null, + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "rpc": { - "released_at": null, + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null } - } + }, + "index": 0, + "testnets": [ + { + "id": "holesky", + "graph_id": null, + "name": "Holesky", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 1 + }, + { + "id": "sepolia", + "graph_id": "sepolia", + "name": "Sepolia", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 2 + } + ], + "consensus_layers": [ + { + "id": "eth-cl", + "graph_id": null, + "name": "Ethereum Consensus Layer", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 3 + }, + { + "id": "holesky-cl", + "graph_id": null, + "name": "Holesky Consensus Layer", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 4 + }, + { + "id": "sepolia-cl", + "graph_id": null, + "name": "Sepolia Consensus Layer", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 5 + } + ] }, { - "id": "arbgoerli", - "index": 4, - "graph_id": "arbitrum-goerli", - "name": "Arbitrum Goerli", - "alt_names": [], - "mainnet": "arbitrum", - "standard": "erc20", + "id": "bitcoin", + "graph_id": null, + "name": "Bitcoin", + "alt_names": [ + "btc" + ], + "standard": "brc20", "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + "label": "sf.bitcoin.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" + }, + "icon": { + "id": "tokens/bitcoin", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] }, - "img": "https://pinax.network/assets/chains/arbitrum.svg", - "is_img_dt_invert": false, - "is_testnet": true, "supported_services": { "firehose": { - "released_at": null, + "released_at": "2023-12-21T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "released_at": null, + "released_at": "2023-12-21T00:00:00.000Z", "deprecated_at": null }, "rpc": { "released_at": null, "deprecated_at": null } - } + }, + "index": 1000 }, { - "id": "arbone", - "index": 4, - "graph_id": "arbitrum-one", - "name": "Arbitrum One", - "alt_names": [], - "mainnet": "arbitrum", + "id": "polygon", + "graph_id": "matic", + "name": "Polygon", + "alt_names": [ + "matic" + ], "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/arbone.svg", - "is_img_dt_invert": false, - "is_testnet": true, + "icon": { + "id": "tokens/matic-network", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, "supported_services": { "firehose": { - "released_at": null, + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "released_at": null, + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "rpc": { - "released_at": null, + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null } - } + }, + "index": 2000, + "testnets": [ + { + "id": "mumbai", + "graph_id": "mumbai", + "name": "Mumbai", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 2001 + } + ] }, { - "id": "arbsepolia", - "index": 4, - "graph_id": "arbitrum-sepolia", - "name": "Arbitrum Sepolia", - "alt_names": [], - "mainnet": "arbitrum", + "id": "bsc", + "graph_id": "bsc", + "name": "BNB", + "alt_names": [ + "bsc", + "binance" + ], "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/arbsepolia.svg", - "is_img_dt_invert": false, - "is_testnet": true, + "icon": { + "id": "networks/binance-smart-chain", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, "supported_services": { "firehose": { - "released_at": null, + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "released_at": null, + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "rpc": { - "released_at": null, + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null } - } + }, + "index": 3000, + "testnets": [ + { + "id": "chapel", + "graph_id": "chapel", + "name": "Chapel", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 3001 + } + ] }, { - "id": "arweave", - "index": 4, - "graph_id": "arweave-mainnet", - "name": "Arweave", + "id": "arbone", + "graph_id": "arbitrum-one", + "name": "Arbitrum One", "alt_names": [], - "mainnet": "arweave", "standard": "erc20", "block_type": { - "label": "sf.arweave.type.v1.Block", - "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/arbitrum", + "brand_theme": "both", + "variants": [ + "mono" + ] }, - "img": "https://pinax.network/assets/chains/arweave.svg", - "img_invert": "https://pinax.network/assets/chains/arweave_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", + "released_at": null, "deprecated_at": null }, "substreams": { - "released_at": "2024-03-03T00:00:00.000Z", + "released_at": null, "deprecated_at": null }, "rpc": { "released_at": null, "deprecated_at": null } - } + }, + "index": 4000, + "testnets": [ + { + "id": "arbgoerli", + "graph_id": "arbitrum-goerli", + "name": "Arbitrum Goerli", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 4001 + }, + { + "id": "arbsepolia", + "graph_id": "arbitrum-sepolia", + "name": "Arbitrum Sepolia", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 4002 + }, + { + "id": "chiado", + "graph_id": null, + "name": "Chiado", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 4004 + } + ], + "consensus_layers": [ + { + "id": "chiado-cl", + "graph_id": null, + "name": "Chiado Consensus Layer", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 4003 + } + ] }, { - "id": "avalanche", - "index": 3, - "graph_id": "avalanche", - "name": "Avalanche", + "id": "optimism", + "graph_id": "optimism", + "name": "Optimism", "alt_names": [], - "mainnet": "avalanche", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/avalanche.svg", - "img_invert": "https://pinax.network/assets/chains/avalanche_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, + "icon": { + "id": "tokens/optimism", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, "supported_services": { "firehose": { - "released_at": null, + "released_at": "2024-01-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "released_at": null, + "released_at": "2024-01-01T00:00:00.000Z", "deprecated_at": null }, "rpc": { "released_at": null, "deprecated_at": null } - } + }, + "index": 5000 }, { "id": "base", - "index": 4, "graph_id": "base", "name": "Base", "alt_names": [], - "mainnet": "base", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/base.svg", - "img_invert": "https://pinax.network/assets/chains/base_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, + "icon": { + "id": "tokens/base", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, "supported_services": { "firehose": { "released_at": "2024-03-06T00:00:00.000Z", @@ -211,89 +483,84 @@ "released_at": null, "deprecated_at": null } - } - }, - { - "id": "bitcoin", - "index": 2, - "graph_id": null, - "name": "Bitcoin", - "alt_names": [ - "btc" - ], - "mainnet": "bitcoin", - "standard": "brc20", - "block_type": { - "label": "sf.bitcoin.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" }, - "img": "https://pinax.network/assets/chains/bitcoin.svg", - "is_img_dt_invert": false, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": "2023-12-21T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-21T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } + "index": 6000 }, { - "id": "bsc", - "index": 2, - "graph_id": "bsc", - "name": "BNB", - "alt_names": [ - "bsc", - "binance" - ], - "mainnet": "bsc", + "id": "gnosis", + "graph_id": "gnosis", + "name": "Gnosis", + "alt_names": [], "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/bsc.svg", - "is_img_dt_invert": false, - "is_testnet": false, + "icon": { + "id": "tokens/gnosis", + "brand_theme": "dark", + "variants": [ + "branded", + "mono" + ] + }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", + "released_at": null, "deprecated_at": null }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", + "released_at": null, "deprecated_at": null }, "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", + "released_at": null, "deprecated_at": null } - } + }, + "index": 7000, + "consensus_layers": [ + { + "id": "gnosis-cl", + "graph_id": null, + "name": "Gnosis Consensus Layer", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 7001 + } + ] }, { "id": "celo", - "index": 2, "graph_id": "celo", "name": "Celo", "alt_names": [], - "mainnet": "celo", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/celo.svg", - "img_invert": "https://pinax.network/assets/chains/celo_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, + "icon": { + "id": "networks/celo", + "brand_theme": "light", + "variants": [ + "branded", + "mono" + ] + }, "supported_services": { "firehose": { "released_at": null, @@ -307,23 +574,50 @@ "released_at": null, "deprecated_at": null } - } + }, + "index": 8000, + "testnets": [ + { + "id": "alfajores", + "graph_id": null, + "name": "Alfajores", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 8001 + } + ] }, { - "id": "chapel", - "index": 2, - "graph_id": "chapel", - "name": "Chapel", + "id": "near", + "graph_id": "near-mainnet", + "name": "Near", "alt_names": [], - "mainnet": "bsc", - "standard": "erc20", + "standard": "near", "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + "label": "sf.near.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" + }, + "icon": { + "id": "tokens/near", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] }, - "img": "https://pinax.network/assets/chains/bsc.svg", - "is_img_dt_invert": false, - "is_testnet": true, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -334,59 +628,90 @@ "deprecated_at": null }, "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", + "released_at": null, "deprecated_at": null } - } + }, + "index": 9000, + "testnets": [ + { + "id": "neartest", + "graph_id": "near-testnet", + "name": "Near-testnet", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 9001 + } + ] }, { - "id": "chiado-cl", - "index": 10, - "graph_id": null, - "name": "Chiado Consensus Layer", + "id": "arweave", + "graph_id": "arweave-mainnet", + "name": "Arweave", "alt_names": [], - "mainnet": "arbitrum", "standard": "erc20", "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + "label": "sf.arweave.type.v1.Block", + "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" + }, + "icon": { + "id": "tokens/arweave", + "brand_theme": "dark", + "variants": [ + "branded", + "mono" + ] }, - "img": "https://pinax.network/assets/chains/gnosis.svg", - "is_img_dt_invert": false, - "is_testnet": false, "supported_services": { "firehose": { - "released_at": null, + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", + "released_at": "2024-03-03T00:00:00.000Z", "deprecated_at": null }, "rpc": { "released_at": null, "deprecated_at": null } - } + }, + "index": 10000 }, { - "id": "chiado", - "index": 10, - "graph_id": null, - "name": "Chiado", + "id": "cosmoshub", + "graph_id": "cosmoshub-4", + "name": "Cosmos Hub", "alt_names": [], - "mainnet": "arbitrum", - "standard": "erc20", + "standard": "cosmos", "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "icon": { + "id": "networks/cosmos", + "brand_theme": "dark", + "variants": [ + "branded", + "mono" + ] }, - "img": "https://pinax.network/assets/chains/gnosis.svg", - "is_img_dt_invert": false, - "is_testnet": true, "supported_services": { "firehose": { - "released_at": null, + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { @@ -397,23 +722,50 @@ "released_at": null, "deprecated_at": null } - } + }, + "index": 11000, + "testnets": [ + { + "id": "theta", + "graph_id": "theta-testnet-001", + "name": "Theta", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 11001 + } + ] }, { - "id": "cosmoshub", - "index": 4, - "graph_id": "cosmoshub-4", - "name": "Cosmos Hub", + "id": "osmosis", + "graph_id": "osmosis-1", + "name": "Osmosis", "alt_names": [], - "mainnet": "cosmoshub", "standard": "cosmos", "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" }, - "img": "https://pinax.network/assets/chains/cosmoshub.svg", - "is_img_dt_invert": false, - "is_testnet": false, + "icon": { + "id": "tokens/osmosis", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -427,54 +779,101 @@ "released_at": null, "deprecated_at": null } - } + }, + "index": 12000 }, { - "id": "decimal", - "index": 3, + "id": "eos", "graph_id": null, - "name": "Decimal", + "name": "EOS", "alt_names": [], - "mainnet": "decimal", - "standard": "erc20", + "standard": "antelope", "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "icon": { + "id": "networks/eos", + "brand_theme": "TBD" }, - "img": "https://pinax.network/assets/chains/decimal.svg", - "is_img_dt_invert": false, - "is_testnet": true, "supported_services": { "firehose": { - "released_at": null, + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "released_at": null, + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "rpc": { "released_at": null, "deprecated_at": null } - } + }, + "index": 13000, + "testnets": [ + { + "id": "jungle4", + "graph_id": null, + "name": "Jungle4", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 13001 + }, + { + "id": "kylin", + "graph_id": null, + "name": "Kylin", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 13002 + } + ] }, { - "id": "eos", - "index": 4, + "id": "wax", "graph_id": null, - "name": "EOS", + "name": "WAX", "alt_names": [], - "mainnet": "eos", "standard": "antelope", "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, - "img": "https://pinax.network/assets/chains/eos.svg", - "img_invert": "https://pinax.network/assets/chains/eos_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, + "icon": { + "id": "tokens/wax", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -488,86 +887,141 @@ "released_at": null, "deprecated_at": null } - } + }, + "index": 14000, + "testnets": [ + { + "id": "waxtest", + "graph_id": null, + "name": "WAX Test", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 14001 + } + ] }, { - "id": "eth-cl", - "index": 10, + "id": "telos", "graph_id": null, - "name": "Ethereum Consensus Layer", + "name": "Telos", "alt_names": [], - "mainnet": "eth", - "standard": "erc20", + "standard": "antelope", "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "icon": { + "id": "networks/telos", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, "supported_services": { "firehose": { - "released_at": null, + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", + "released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "rpc": { "released_at": null, "deprecated_at": null } - } + }, + "index": 15000, + "testnets": [ + { + "id": "telostest", + "graph_id": null, + "name": "Telos Test", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 15001 + } + ] }, { - "id": "eth", - "index": 1, - "graph_id": "mainnet", - "name": "Ethereum", + "id": "avalanche", + "graph_id": "avalanche", + "name": "Avalanche", "alt_names": [], - "mainnet": "eth", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, + "icon": { + "id": "networks/avalanche", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", + "released_at": null, "deprecated_at": null }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", + "released_at": null, "deprecated_at": null }, "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", + "released_at": null, "deprecated_at": null } - } + }, + "index": 16000 }, { "id": "fantom", - "index": 4, "graph_id": "fantom", "name": "Fantom", "alt_names": [], - "mainnet": "fantom", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/fantom.svg", - "img_invert": "https://pinax.network/assets/chains/fantom_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, + "icon": { + "id": "networks/fantom", + "brand_theme": "light", + "variants": [ + "branded", + "mono" + ] + }, "supported_services": { "firehose": { "released_at": null, @@ -581,546 +1035,31 @@ "released_at": null, "deprecated_at": null } - } + }, + "index": 17000 }, { - "id": "gnosis-cl", - "index": 10, - "graph_id": null, - "name": "Gnosis Consensus Layer", - "alt_names": [], - "mainnet": "gnosis", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/gnosis.svg", - "img_invert": "https://pinax.network/assets/chains/gnosis_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "gnosis", - "index": 4, - "graph_id": "gnosis", - "name": "Gnosis", - "alt_names": [], - "mainnet": "gnosis", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/gnosis.svg", - "img_invert": "https://pinax.network/assets/chains/gnosis_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "goerli-cl", - "index": 10, - "graph_id": null, - "name": "Goerli Consensus Layer", - "alt_names": [], - "mainnet": "eth", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "goerli", - "index": 1, - "graph_id": "goerli", - "name": "Goerli", - "alt_names": [], - "mainnet": "eth", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-03-21T00:00:00.000Z" - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-03-21T00:00:00.000Z" - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-03-21T00:00:00.000Z" - } - } - }, - { - "id": "holesky-cl", - "index": 10, - "graph_id": null, - "name": "Holesky Consensus Layer", - "alt_names": [], - "mainnet": "eth", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "holesky", - "index": 1, - "graph_id": null, - "name": "Holesky", - "alt_names": [], - "mainnet": "eth", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } - }, - { - "id": "jungle4", - "index": 4, - "graph_id": null, - "name": "Jungle4", - "alt_names": [], - "mainnet": "eos", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "img": "https://pinax.network/assets/chains/jungle4.svg", - "is_img_dt_invert": true, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } - }, - { - "id": "juno", - "index": 4, - "graph_id": null, - "name": "Juno", - "alt_names": [], - "mainnet": "juno", - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" - }, - "img": "https://pinax.network/assets/chains/juno.svg", - "img_invert": "https://pinax.network/assets/chains/juno_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "kava", - "index": 4, - "graph_id": null, - "name": "Kava", - "alt_names": [], - "mainnet": "kava", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/kava.svg", - "is_img_dt_invert": false, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "kylin", - "index": 4, - "graph_id": null, - "name": "Kylin", - "alt_names": [], - "mainnet": "eos", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "img": "https://pinax.network/assets/chains/kylin.svg", - "is_img_dt_invert": false, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "moonbeam", - "index": 5, - "graph_id": "moonbeam", - "name": "Moonbeam", - "alt_names": [], - "mainnet": "moonbeam", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/moonbeam.svg", - "is_img_dt_invert": false, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "mumbai", - "index": 3, - "graph_id": "mumbai", - "name": "Mumbai", - "alt_names": [], - "mainnet": "polygon", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/polygon.svg", - "is_img_dt_invert": false, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } - }, - { - "id": "near", - "index": 4, - "graph_id": "near-mainnet", - "name": "Near", - "alt_names": [], - "mainnet": "near", - "standard": "near", - "block_type": { - "label": "sf.near.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" - }, - "img": "https://pinax.network/assets/chains/near.svg", - "img_invert": "https://pinax.network/assets/chains/near_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "neartest", - "index": 4, - "graph_id": "near-testnet", - "name": "Near-testnet", - "alt_names": [], - "mainnet": "near", - "standard": "near", - "block_type": { - "label": "sf.near.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" - }, - "img": "https://pinax.network/assets/chains/near.svg", - "img_invert": "https://pinax.network/assets/chains/near_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "optimism", - "index": 4, - "graph_id": "optimism", - "name": "Optimism", + "id": "moonbeam", + "graph_id": "moonbeam", + "name": "Moonbeam", "alt_names": [], - "mainnet": "optimism", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/optimism.svg", - "is_img_dt_invert": false, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "ore", - "index": 5, - "graph_id": null, - "name": "Ore", - "alt_names": [], - "mainnet": "ore", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "img": "https://pinax.network/assets/chains/ore.svg", - "is_img_dt_invert": false, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "orestage", - "index": 5, - "graph_id": null, - "name": "Ore Stage", - "alt_names": [], - "mainnet": "ore", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + "icon": { + "id": "networks/moonbeam", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] }, - "img": "https://pinax.network/assets/chains/ore.svg", - "is_img_dt_invert": false, - "is_testnet": true, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "rpc": { "released_at": null, "deprecated_at": null - } - } - }, - { - "id": "osmosis", - "index": 4, - "graph_id": "osmosis-1", - "name": "Osmosis", - "alt_names": [], - "mainnet": "osmosis", - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" - }, - "img": "https://pinax.network/assets/chains/osmosis.svg", - "is_img_dt_invert": false, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null }, "substreams": { "released_at": null, @@ -1130,56 +1069,27 @@ "released_at": null, "deprecated_at": null } - } - }, - { - "id": "polygon", - "index": 3, - "graph_id": "matic", - "name": "Polygon", - "alt_names": [ - "matic" - ], - "mainnet": "polygon", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/polygon.svg", - "is_img_dt_invert": false, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } + "index": 18000 }, { "id": "scroll", - "index": 5, "graph_id": "scroll", "name": "Scroll", "alt_names": [], - "mainnet": "scroll", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/scroll.svg", - "img_invert": "https://pinax.network/assets/chains/scroll_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, + "icon": { + "id": "networks/scroll", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, "supported_services": { "firehose": { "released_at": null, @@ -1193,295 +1103,95 @@ "released_at": null, "deprecated_at": null } - } + }, + "index": 19000 }, { - "id": "sepolia-cl", - "index": 10, + "id": "decimal", "graph_id": null, - "name": "Sepolia Consensus Layer", + "name": "Decimal", "alt_names": [], - "mainnet": "eth", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, + "icon": { + "id": "tokens/decimal", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, "supported_services": { "firehose": { "released_at": null, "deprecated_at": null }, "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", + "released_at": null, "deprecated_at": null }, "rpc": { "released_at": null, "deprecated_at": null } - } - }, - { - "id": "sepolia", - "index": 1, - "graph_id": "sepolia", - "name": "Sepolia", - "alt_names": [], - "mainnet": "eth", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } + "index": 20000 }, { - "id": "starknet", - "index": 4, + "id": "kava", "graph_id": null, - "name": "Starknet", + "name": "Kava", "alt_names": [], - "mainnet": "starknet", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/starknet.svg", - "is_img_dt_invert": false, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "telos", - "index": 4, - "graph_id": null, - "name": "Telos", - "alt_names": [], - "mainnet": "telos", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "img": "https://pinax.network/assets/chains/telos.svg", - "is_img_dt_invert": false, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "telostest", - "index": 4, - "graph_id": null, - "name": "Telos Test", - "alt_names": [], - "mainnet": "telos", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "img": "https://pinax.network/assets/chains/telos.svg", - "is_img_dt_invert": false, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } - }, - { - "id": "theta", - "index": 4, - "graph_id": "theta-testnet-001", - "name": "Theta", - "alt_names": [], - "mainnet": "cosmoshub", - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + "icon": { + "id": "networks/kava", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] }, - "img": "https://pinax.network/assets/chains/cosmoshub.svg", - "is_img_dt_invert": false, - "is_testnet": true, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { "released_at": null, "deprecated_at": null - } - } - }, - { - "id": "ux", - "index": 5, - "graph_id": null, - "name": "UX", - "alt_names": [], - "mainnet": "ux", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "img": "https://pinax.network/assets/chains/ux.svg", - "is_img_dt_invert": false, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "rpc": { "released_at": null, "deprecated_at": null - } - } - }, - { - "id": "wax", - "index": 4, - "graph_id": null, - "name": "WAX", - "alt_names": [], - "mainnet": "wax", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "img": "https://pinax.network/assets/chains/wax.svg", - "is_img_dt_invert": false, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null }, "rpc": { "released_at": null, "deprecated_at": null } - } - }, - { - "id": "waxtest", - "index": 4, - "graph_id": null, - "name": "WAX Test", - "alt_names": [], - "mainnet": "wax", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, - "img": "https://pinax.network/assets/chains/wax.svg", - "is_img_dt_invert": false, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } + "index": 21000 }, { - "id": "zkatana", - "index": 5, + "id": "starknet", "graph_id": null, - "name": "Zkatana", + "name": "Starknet", "alt_names": [], - "mainnet": "zkatana", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/zkatana.svg", - "is_img_dt_invert": false, - "is_testnet": false, + "icon": { + "id": "networks/starknet", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, "supported_services": { "firehose": { "released_at": null, @@ -1495,6 +1205,7 @@ "released_at": null, "deprecated_at": null } - } + }, + "index": 22000 } ] \ No newline at end of file diff --git a/data/chains/arbgoerli.json b/data/arbone/arbgoerli/meta.json similarity index 52% rename from data/chains/arbgoerli.json rename to data/arbone/arbgoerli/meta.json index 1f24aa1..4e1c11d 100644 --- a/data/chains/arbgoerli.json +++ b/data/arbone/arbgoerli/meta.json @@ -1,18 +1,8 @@ { "id": "arbgoerli", - "index": 4, "graph_id": "arbitrum-goerli", "name": "Arbitrum Goerli", "alt_names": [], - "mainnet": "arbitrum", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/arbitrum.svg", - "is_img_dt_invert": false, - "is_testnet": true, "supported_services": { "firehose": { "released_at": null, @@ -27,4 +17,4 @@ "deprecated_at": null } } -} +} \ No newline at end of file diff --git a/data/chains/arbsepolia.json b/data/arbone/arbsepolia/meta.json similarity index 52% rename from data/chains/arbsepolia.json rename to data/arbone/arbsepolia/meta.json index 8a21160..47445fe 100644 --- a/data/chains/arbsepolia.json +++ b/data/arbone/arbsepolia/meta.json @@ -1,18 +1,8 @@ { "id": "arbsepolia", - "index": 4, "graph_id": "arbitrum-sepolia", "name": "Arbitrum Sepolia", "alt_names": [], - "mainnet": "arbitrum", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/arbsepolia.svg", - "is_img_dt_invert": false, - "is_testnet": true, "supported_services": { "firehose": { "released_at": null, diff --git a/data/chains/chiado-cl.json b/data/arbone/chiado-cl/meta.json similarity index 53% rename from data/chains/chiado-cl.json rename to data/arbone/chiado-cl/meta.json index 5f3e26a..630e8cd 100644 --- a/data/chains/chiado-cl.json +++ b/data/arbone/chiado-cl/meta.json @@ -1,18 +1,8 @@ { "id": "chiado-cl", - "index": 10, "graph_id": null, "name": "Chiado Consensus Layer", "alt_names": [], - "mainnet": "arbitrum", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/gnosis.svg", - "is_img_dt_invert": false, - "is_testnet": false, "supported_services": { "firehose": { "released_at": null, @@ -27,4 +17,4 @@ "deprecated_at": null } } -} +} \ No newline at end of file diff --git a/data/chains/chiado.json b/data/arbone/chiado/meta.json similarity index 51% rename from data/chains/chiado.json rename to data/arbone/chiado/meta.json index 5166256..7141620 100644 --- a/data/chains/chiado.json +++ b/data/arbone/chiado/meta.json @@ -1,18 +1,8 @@ { "id": "chiado", - "index": 10, "graph_id": null, "name": "Chiado", "alt_names": [], - "mainnet": "arbitrum", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/gnosis.svg", - "is_img_dt_invert": false, - "is_testnet": true, "supported_services": { "firehose": { "released_at": null, diff --git a/data/chains/arbone.json b/data/arbone/meta.json similarity index 78% rename from data/chains/arbone.json rename to data/arbone/meta.json index 3580127..a62761a 100644 --- a/data/chains/arbone.json +++ b/data/arbone/meta.json @@ -1,18 +1,17 @@ { "id": "arbone", - "index": 4, "graph_id": "arbitrum-one", "name": "Arbitrum One", "alt_names": [], - "mainnet": "arbitrum", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/arbone.svg", - "is_img_dt_invert": false, - "is_testnet": true, + "icon": { + "id": "tokens/arbitrum", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": null, diff --git a/data/arweave/meta.json b/data/arweave/meta.json index dbe29a2..5311c4d 100644 --- a/data/arweave/meta.json +++ b/data/arweave/meta.json @@ -1,46 +1,29 @@ { "id": "arweave", - "index": 4, + "graph_id": "arweave-mainnet", "name": "Arweave", "alt_names": [], - "graph_id": "arweave-mainnet", "standard": "erc20", - "img": { - "src_reg": "https://pinax.network/assets/chains/arweave.svg", - "src_dark": "https://pinax.network/assets/chains/arweave_dark.svg", - "dt_invert": true + "block_type": { + "label": "sf.arweave.type.v1.Block", + "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" + }, + "icon": { + "id": "tokens/arweave", + "brand_theme": "dark" }, "supported_services": { "firehose": { - "block_type": { - "label": "sf.arweave.type.v1.Block", - "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" - }, - "endpoints": [ - { - "id": "default", - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - ] + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null }, "substreams": { - "endpoints": [ - { - "id":"default", - "released_at": "2024-03-03T00:00:00.000Z", - "deprecated_at": null - } - ] + "released_at": "2024-03-03T00:00:00.000Z", + "deprecated_at": null }, "rpc": { - "endpoints": [ - { - "id": "default", - "released_at": null, - "deprecated_at": null - } - ] + "released_at": null, + "deprecated_at": null } } -} \ No newline at end of file +} diff --git a/data/avalanche/meta.json b/data/avalanche/meta.json index 182e9e0..e3109ec 100644 --- a/data/avalanche/meta.json +++ b/data/avalanche/meta.json @@ -1,46 +1,29 @@ { "id": "avalanche", - "index": 3, + "graph_id": "avalanche", "name": "Avalanche", "alt_names": [], - "graph_id": "avalanche", "standard": "erc20", - "img": { - "src_reg": "https://pinax.network/assets/chains/avalanche.svg", - "src_dark": "https://pinax.network/assets/chains/avalanche_dark.svg", - "dt_invert": true + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/avalanche", + "brand_theme": "both" }, "supported_services": { "firehose": { - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "endpoints": [ - { - "id": "default", - "released_at": null, - "deprecated_at": null - } - ] + "released_at": null, + "deprecated_at": null }, "substreams": { - "endpoints": [ - { - "id": "default", - "released_at": null, - "deprecated_at": null - } - ] + "released_at": null, + "deprecated_at": null }, "rpc": { - "endpoints": [ - { - "id": "default", - "released_at": null, - "deprecated_at": null - } - ] + "released_at": null, + "deprecated_at": null } } } diff --git a/data/chains/base.json b/data/base/meta.json similarity index 72% rename from data/chains/base.json rename to data/base/meta.json index 9b23a2c..9d5b934 100644 --- a/data/chains/base.json +++ b/data/base/meta.json @@ -1,19 +1,17 @@ { "id": "base", - "index": 4, "graph_id": "base", "name": "Base", "alt_names": [], - "mainnet": "base", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/base.svg", - "img_invert": "https://pinax.network/assets/chains/base_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, + "icon": { + "id": "tokens/base", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": "2024-03-06T00:00:00.000Z", diff --git a/data/chains/bitcoin.json b/data/bitcoin/meta.json similarity index 76% rename from data/chains/bitcoin.json rename to data/bitcoin/meta.json index dbb7514..1a4bd73 100644 --- a/data/chains/bitcoin.json +++ b/data/bitcoin/meta.json @@ -1,18 +1,19 @@ { "id": "bitcoin", - "index": 2, "graph_id": null, "name": "Bitcoin", - "alt_names": ["btc"], - "mainnet": "bitcoin", + "alt_names": [ + "btc" + ], "standard": "brc20", "block_type": { "label": "sf.bitcoin.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" }, - "img": "https://pinax.network/assets/chains/bitcoin.svg", - "is_img_dt_invert": false, - "is_testnet": false, + "icon": { + "id": "tokens/bitcoin", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": "2023-12-21T00:00:00.000Z", diff --git a/data/chains/chapel.json b/data/bsc/chapel/meta.json similarity index 56% rename from data/chains/chapel.json rename to data/bsc/chapel/meta.json index ae9e352..9f7d193 100644 --- a/data/chains/chapel.json +++ b/data/bsc/chapel/meta.json @@ -1,18 +1,8 @@ { "id": "chapel", - "index": 2, "graph_id": "chapel", "name": "Chapel", "alt_names": [], - "mainnet": "bsc", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/bsc.svg", - "is_img_dt_invert": false, - "is_testnet": true, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", diff --git a/data/chains/bsc.json b/data/bsc/meta.json similarity index 76% rename from data/chains/bsc.json rename to data/bsc/meta.json index 29da2d2..752e2a6 100644 --- a/data/chains/bsc.json +++ b/data/bsc/meta.json @@ -1,18 +1,20 @@ { "id": "bsc", - "index": 2, "graph_id": "bsc", "name": "BNB", - "alt_names": ["bsc", "binance"], - "mainnet": "bsc", + "alt_names": [ + "bsc", + "binance" + ], "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/bsc.svg", - "is_img_dt_invert": false, - "is_testnet": false, + "icon": { + "id": "networks/binance-smart-chain", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", diff --git a/data/celo/alfajores/meta.json b/data/celo/alfajores/meta.json new file mode 100644 index 0000000..680ca7a --- /dev/null +++ b/data/celo/alfajores/meta.json @@ -0,0 +1,20 @@ +{ + "id": "alfajores", + "graph_id": null, + "name": "Alfajores", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/data/celo/meta.json b/data/celo/meta.json index 590b969..39ac9b8 100644 --- a/data/celo/meta.json +++ b/data/celo/meta.json @@ -1,46 +1,29 @@ { "id": "celo", - "index": 4, + "graph_id": "celo", "name": "Celo", "alt_names": [], - "graph_id": "celo", "standard": "erc20", - "img": { - "src_reg": "https://pinax.network/assets/chains/celo.svg", - "src_dark": "https://pinax.network/assets/chains/celo_dark.svg", - "dt_invert": true + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/celo", + "brand_theme": "light" }, "supported_services": { "firehose": { - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "endpoints": [ - { - "id": "default", - "released_at": null, - "deprecated_at": null - } - ] + "released_at": null, + "deprecated_at": null }, "substreams": { - "endpoints": [ - { - "id": "default", - "released_at": null, - "deprecated_at": null - } - ] + "released_at": null, + "deprecated_at": null }, "rpc": { - "endpoints": [ - { - "id": "default", - "released_at": null, - "deprecated_at": null - } - ] + "released_at": null, + "deprecated_at": null } } } diff --git a/data/chains/alfajores.json b/data/chains/alfajores.json deleted file mode 100644 index 4d7d155..0000000 --- a/data/chains/alfajores.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "alfajores", - "index": 4, - "graph_id": null, - "name": "Alfajores", - "alt_names": [], - "mainnet": "celo", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/celo.svg", - "img_invert": "https://pinax.network/assets/chains/celo_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/data/chains/arweave.json b/data/chains/arweave.json deleted file mode 100644 index 0fa46ce..0000000 --- a/data/chains/arweave.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "arweave", - "index": 4, - "graph_id": "arweave-mainnet", - "name": "Arweave", - "alt_names": [], - "mainnet": "arweave", - "standard": "erc20", - "block_type": { - "label": "sf.arweave.type.v1.Block", - "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" - }, - "img": "https://pinax.network/assets/chains/arweave.svg", - "img_invert": "https://pinax.network/assets/chains/arweave_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2024-03-03T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/data/chains/avalanche.json b/data/chains/avalanche.json deleted file mode 100644 index fb6b4ad..0000000 --- a/data/chains/avalanche.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "avalanche", - "index": 3, - "graph_id": "avalanche", - "name": "Avalanche", - "alt_names": [], - "mainnet": "avalanche", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/avalanche.svg", - "img_invert": "https://pinax.network/assets/chains/avalanche_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/data/chains/celo.json b/data/chains/celo.json deleted file mode 100644 index 33cba65..0000000 --- a/data/chains/celo.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "celo", - "index": 2, - "graph_id": "celo", - "name": "Celo", - "alt_names": [], - "mainnet": "celo", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/celo.svg", - "img_invert": "https://pinax.network/assets/chains/celo_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/data/chains/eos.json b/data/chains/eos.json deleted file mode 100644 index 3e1ac0f..0000000 --- a/data/chains/eos.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "eos", - "index": 4, - "graph_id": null, - "name": "EOS", - "alt_names": [], - "mainnet": "eos", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "img": "https://pinax.network/assets/chains/eos.svg", - "img_invert": "https://pinax.network/assets/chains/eos_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/data/chains/eth-cl.json b/data/chains/eth-cl.json deleted file mode 100644 index 6779b33..0000000 --- a/data/chains/eth-cl.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "eth-cl", - "index": 10, - "graph_id": null, - "name": "Ethereum Consensus Layer", - "alt_names": [], - "mainnet": "eth", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/data/chains/gnosis-cl.json b/data/chains/gnosis-cl.json deleted file mode 100644 index 0e4245f..0000000 --- a/data/chains/gnosis-cl.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "gnosis-cl", - "index": 10, - "graph_id": null, - "name": "Gnosis Consensus Layer", - "alt_names": [], - "mainnet": "gnosis", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/gnosis.svg", - "img_invert": "https://pinax.network/assets/chains/gnosis_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/data/chains/goerli-cl.json b/data/chains/goerli-cl.json deleted file mode 100644 index d025999..0000000 --- a/data/chains/goerli-cl.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "goerli-cl", - "index": 10, - "graph_id": null, - "name": "Goerli Consensus Layer", - "alt_names": [], - "mainnet": "eth", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/data/chains/goerli.json b/data/chains/goerli.json deleted file mode 100644 index 1234949..0000000 --- a/data/chains/goerli.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "goerli", - "index": 1, - "graph_id": "goerli", - "name": "Goerli", - "alt_names": [], - "mainnet": "eth", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-03-21T00:00:00.000Z" - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-03-21T00:00:00.000Z" - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-03-21T00:00:00.000Z" - } - } -} \ No newline at end of file diff --git a/data/chains/holesky-cl.json b/data/chains/holesky-cl.json deleted file mode 100644 index 34fa344..0000000 --- a/data/chains/holesky-cl.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "holesky-cl", - "index": 10, - "graph_id": null, - "name": "Holesky Consensus Layer", - "alt_names": [], - "mainnet": "eth", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/data/chains/juno.json b/data/chains/juno.json deleted file mode 100644 index e43258e..0000000 --- a/data/chains/juno.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "juno", - "index": 4, - "graph_id": null, - "name": "Juno", - "alt_names": [], - "mainnet": "juno", - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" - }, - "img": "https://pinax.network/assets/chains/juno.svg", - "img_invert": "https://pinax.network/assets/chains/juno_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/data/chains/ore.json b/data/chains/ore.json deleted file mode 100644 index 434d98a..0000000 --- a/data/chains/ore.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": "ore", - "index": 5, - "graph_id": null, - "name": "Ore", - "alt_names": [], - "mainnet": "ore", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "img": "https://pinax.network/assets/chains/ore.svg", - "is_img_dt_invert": false, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/data/chains/orestage.json b/data/chains/orestage.json deleted file mode 100644 index ab0cca6..0000000 --- a/data/chains/orestage.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": "orestage", - "index": 5, - "graph_id": null, - "name": "Ore Stage", - "alt_names": [], - "mainnet": "ore", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "img": "https://pinax.network/assets/chains/ore.svg", - "is_img_dt_invert": false, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/data/chains/sepolia-cl.json b/data/chains/sepolia-cl.json deleted file mode 100644 index f57dce5..0000000 --- a/data/chains/sepolia-cl.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "sepolia-cl", - "index": 10, - "graph_id": null, - "name": "Sepolia Consensus Layer", - "alt_names": [], - "mainnet": "eth", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/data/chains/ux.json b/data/chains/ux.json deleted file mode 100644 index 8a320c8..0000000 --- a/data/chains/ux.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": "ux", - "index": 5, - "graph_id": null, - "name": "UX", - "alt_names": [], - "mainnet": "ux", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "img": "https://pinax.network/assets/chains/ux.svg", - "is_img_dt_invert": false, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/data/chains/zkatana.json b/data/chains/zkatana.json deleted file mode 100644 index 8e416bf..0000000 --- a/data/chains/zkatana.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": "zkatana", - "index": 5, - "graph_id": null, - "name": "Zkatana", - "alt_names": [], - "mainnet": "zkatana", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/zkatana.svg", - "is_img_dt_invert": false, - "is_testnet": false, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/data/chains/cosmoshub.json b/data/cosmoshub/meta.json similarity index 78% rename from data/chains/cosmoshub.json rename to data/cosmoshub/meta.json index 810f921..9ed337a 100644 --- a/data/chains/cosmoshub.json +++ b/data/cosmoshub/meta.json @@ -1,18 +1,17 @@ { "id": "cosmoshub", - "index": 4, "graph_id": "cosmoshub-4", "name": "Cosmos Hub", "alt_names": [], - "mainnet": "cosmoshub", "standard": "cosmos", "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" }, - "img": "https://pinax.network/assets/chains/cosmoshub.svg", - "is_img_dt_invert": false, - "is_testnet": false, + "icon": { + "id": "networks/cosmos", + "brand_theme": "dark" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", diff --git a/data/chains/theta.json b/data/cosmoshub/theta/meta.json similarity index 54% rename from data/chains/theta.json rename to data/cosmoshub/theta/meta.json index 0b3cbb4..018a4dd 100644 --- a/data/chains/theta.json +++ b/data/cosmoshub/theta/meta.json @@ -1,18 +1,8 @@ { "id": "theta", - "index": 4, "graph_id": "theta-testnet-001", "name": "Theta", "alt_names": [], - "mainnet": "cosmoshub", - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" - }, - "img": "https://pinax.network/assets/chains/cosmoshub.svg", - "is_img_dt_invert": false, - "is_testnet": true, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", diff --git a/data/chains/decimal.json b/data/decimal/meta.json similarity index 78% rename from data/chains/decimal.json rename to data/decimal/meta.json index 2aa25e4..5e03f41 100644 --- a/data/chains/decimal.json +++ b/data/decimal/meta.json @@ -1,18 +1,17 @@ { "id": "decimal", - "index": 3, "graph_id": null, "name": "Decimal", "alt_names": [], - "mainnet": "decimal", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/decimal.svg", - "is_img_dt_invert": false, - "is_testnet": true, + "icon": { + "id": "tokens/decimal", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": null, diff --git a/data/chains/jungle4.json b/data/eos/jungle4/meta.json similarity index 56% rename from data/chains/jungle4.json rename to data/eos/jungle4/meta.json index 164c164..756e3e1 100644 --- a/data/chains/jungle4.json +++ b/data/eos/jungle4/meta.json @@ -1,18 +1,8 @@ { "id": "jungle4", - "index": 4, "graph_id": null, "name": "Jungle4", "alt_names": [], - "mainnet": "eos", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "img": "https://pinax.network/assets/chains/jungle4.svg", - "is_img_dt_invert": true, - "is_testnet": true, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", diff --git a/data/eos/kylin/meta.json b/data/eos/kylin/meta.json new file mode 100644 index 0000000..549bfa0 --- /dev/null +++ b/data/eos/kylin/meta.json @@ -0,0 +1,20 @@ +{ + "id": "kylin", + "graph_id": null, + "name": "Kylin", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/data/chains/kylin.json b/data/eos/meta.json similarity index 74% rename from data/chains/kylin.json rename to data/eos/meta.json index 011f912..bb2b47c 100644 --- a/data/chains/kylin.json +++ b/data/eos/meta.json @@ -1,18 +1,17 @@ { - "id": "kylin", - "index": 4, + "id": "eos", "graph_id": null, - "name": "Kylin", + "name": "EOS", "alt_names": [], - "mainnet": "eos", "standard": "antelope", "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, - "img": "https://pinax.network/assets/chains/kylin.svg", - "is_img_dt_invert": false, - "is_testnet": true, + "icon": { + "id": "networks/eos", + "brand_theme": "TBD" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -27,4 +26,4 @@ "deprecated_at": null } } -} \ No newline at end of file +} diff --git a/data/eth/eth-cl/meta.json b/data/eth/eth-cl/meta.json new file mode 100644 index 0000000..5e97ba7 --- /dev/null +++ b/data/eth/eth-cl/meta.json @@ -0,0 +1,20 @@ +{ + "id": "eth-cl", + "graph_id": null, + "name": "Ethereum Consensus Layer", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/data/eth/holesky-cl/meta.json b/data/eth/holesky-cl/meta.json new file mode 100644 index 0000000..48d3982 --- /dev/null +++ b/data/eth/holesky-cl/meta.json @@ -0,0 +1,20 @@ +{ + "id": "holesky-cl", + "graph_id": null, + "name": "Holesky Consensus Layer", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/data/chains/holesky.json b/data/eth/holesky/meta.json similarity index 51% rename from data/chains/holesky.json rename to data/eth/holesky/meta.json index 0535a78..ea9a96e 100644 --- a/data/chains/holesky.json +++ b/data/eth/holesky/meta.json @@ -1,19 +1,8 @@ { "id": "holesky", - "index": 1, "graph_id": null, "name": "Holesky", "alt_names": [], - "mainnet": "eth", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -28,4 +17,4 @@ "deprecated_at": null } } -} +} \ No newline at end of file diff --git a/data/chains/eth.json b/data/eth/meta.json similarity index 73% rename from data/chains/eth.json rename to data/eth/meta.json index 8851205..ca361d2 100644 --- a/data/chains/eth.json +++ b/data/eth/meta.json @@ -1,19 +1,17 @@ { "id": "eth", - "index": 1, "graph_id": "mainnet", "name": "Ethereum", "alt_names": [], - "mainnet": "eth", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, + "icon": { + "id": "networks/ethereum", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -28,4 +26,4 @@ "deprecated_at": null } } -} \ No newline at end of file +} diff --git a/data/eth/sepolia-cl/meta.json b/data/eth/sepolia-cl/meta.json new file mode 100644 index 0000000..0287169 --- /dev/null +++ b/data/eth/sepolia-cl/meta.json @@ -0,0 +1,20 @@ +{ + "id": "sepolia-cl", + "graph_id": null, + "name": "Sepolia Consensus Layer", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/data/chains/sepolia.json b/data/eth/sepolia/meta.json similarity index 51% rename from data/chains/sepolia.json rename to data/eth/sepolia/meta.json index f8375e2..8501be7 100644 --- a/data/chains/sepolia.json +++ b/data/eth/sepolia/meta.json @@ -1,19 +1,8 @@ { "id": "sepolia", - "index": 1, "graph_id": "sepolia", "name": "Sepolia", "alt_names": [], - "mainnet": "eth", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/eth.svg", - "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", diff --git a/data/chains/fantom.json b/data/fantom/meta.json similarity index 70% rename from data/chains/fantom.json rename to data/fantom/meta.json index 78087c9..39fc039 100644 --- a/data/chains/fantom.json +++ b/data/fantom/meta.json @@ -1,19 +1,17 @@ { "id": "fantom", - "index": 4, "graph_id": "fantom", "name": "Fantom", "alt_names": [], - "mainnet": "fantom", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/fantom.svg", - "img_invert": "https://pinax.network/assets/chains/fantom_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, + "icon": { + "id": "networks/fantom", + "brand_theme": "light" + }, "supported_services": { "firehose": { "released_at": null, @@ -28,4 +26,4 @@ "deprecated_at": null } } -} \ No newline at end of file +} diff --git a/data/gnosis/gnosis-cl/meta.json b/data/gnosis/gnosis-cl/meta.json new file mode 100644 index 0000000..d697975 --- /dev/null +++ b/data/gnosis/gnosis-cl/meta.json @@ -0,0 +1,20 @@ +{ + "id": "gnosis-cl", + "graph_id": null, + "name": "Gnosis Consensus Layer", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/data/chains/gnosis.json b/data/gnosis/meta.json similarity index 70% rename from data/chains/gnosis.json rename to data/gnosis/meta.json index ed5c220..5de407e 100644 --- a/data/chains/gnosis.json +++ b/data/gnosis/meta.json @@ -1,19 +1,17 @@ { "id": "gnosis", - "index": 4, "graph_id": "gnosis", "name": "Gnosis", "alt_names": [], - "mainnet": "gnosis", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/gnosis.svg", - "img_invert": "https://pinax.network/assets/chains/gnosis_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, + "icon": { + "id": "tokens/gnosis", + "brand_theme": "dark" + }, "supported_services": { "firehose": { "released_at": null, @@ -28,4 +26,4 @@ "deprecated_at": null } } -} \ No newline at end of file +} diff --git a/data/chains/kava.json b/data/kava/meta.json similarity index 78% rename from data/chains/kava.json rename to data/kava/meta.json index a97157a..24c627a 100644 --- a/data/chains/kava.json +++ b/data/kava/meta.json @@ -1,18 +1,17 @@ { "id": "kava", - "index": 4, "graph_id": null, "name": "Kava", "alt_names": [], - "mainnet": "kava", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/kava.svg", - "is_img_dt_invert": false, - "is_testnet": false, + "icon": { + "id": "networks/kava", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": null, diff --git a/data/chains/moonbeam.json b/data/moonbeam/meta.json similarity index 77% rename from data/chains/moonbeam.json rename to data/moonbeam/meta.json index 503ddf1..1cb1f3f 100644 --- a/data/chains/moonbeam.json +++ b/data/moonbeam/meta.json @@ -1,18 +1,17 @@ { "id": "moonbeam", - "index": 5, "graph_id": "moonbeam", "name": "Moonbeam", "alt_names": [], - "mainnet": "moonbeam", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/moonbeam.svg", - "is_img_dt_invert": false, - "is_testnet": false, + "icon": { + "id": "networks/moonbeam", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": null, diff --git a/data/chains/near.json b/data/near/meta.json similarity index 72% rename from data/chains/near.json rename to data/near/meta.json index 5d32731..e4f672c 100644 --- a/data/chains/near.json +++ b/data/near/meta.json @@ -1,19 +1,17 @@ { "id": "near", - "index": 4, "graph_id": "near-mainnet", "name": "Near", "alt_names": [], - "mainnet": "near", "standard": "near", "block_type": { "label": "sf.near.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" }, - "img": "https://pinax.network/assets/chains/near.svg", - "img_invert": "https://pinax.network/assets/chains/near_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, + "icon": { + "id": "tokens/near", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -28,4 +26,4 @@ "deprecated_at": null } } -} +} \ No newline at end of file diff --git a/data/chains/neartest.json b/data/near/neartest/meta.json similarity index 51% rename from data/chains/neartest.json rename to data/near/neartest/meta.json index e58146d..b18a93b 100644 --- a/data/chains/neartest.json +++ b/data/near/neartest/meta.json @@ -1,19 +1,8 @@ { "id": "neartest", - "index": 4, "graph_id": "near-testnet", "name": "Near-testnet", "alt_names": [], - "mainnet": "near", - "standard": "near", - "block_type": { - "label": "sf.near.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" - }, - "img": "https://pinax.network/assets/chains/near.svg", - "img_invert": "https://pinax.network/assets/chains/near_dark.svg", - "is_img_dt_invert": true, - "is_testnet": true, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", diff --git a/data/chains/optimism.json b/data/optimism/meta.json similarity index 79% rename from data/chains/optimism.json rename to data/optimism/meta.json index f04de2a..0479b09 100644 --- a/data/chains/optimism.json +++ b/data/optimism/meta.json @@ -1,18 +1,17 @@ { "id": "optimism", - "index": 4, "graph_id": "optimism", "name": "Optimism", "alt_names": [], - "mainnet": "optimism", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/optimism.svg", - "is_img_dt_invert": false, - "is_testnet": false, + "icon": { + "id": "tokens/optimism", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": "2024-01-01T00:00:00.000Z", @@ -27,4 +26,4 @@ "deprecated_at": null } } -} \ No newline at end of file +} diff --git a/data/chains/osmosis.json b/data/osmosis/meta.json similarity index 79% rename from data/chains/osmosis.json rename to data/osmosis/meta.json index a46a773..7f91efc 100644 --- a/data/chains/osmosis.json +++ b/data/osmosis/meta.json @@ -1,18 +1,17 @@ { "id": "osmosis", - "index": 4, "graph_id": "osmosis-1", "name": "Osmosis", "alt_names": [], - "mainnet": "osmosis", "standard": "cosmos", "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" }, - "img": "https://pinax.network/assets/chains/osmosis.svg", - "is_img_dt_invert": false, - "is_testnet": false, + "icon": { + "id": "tokens/osmosis", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", diff --git a/data/chains/polygon.json b/data/polygon/meta.json similarity index 76% rename from data/chains/polygon.json rename to data/polygon/meta.json index 9bdef19..d42a217 100644 --- a/data/chains/polygon.json +++ b/data/polygon/meta.json @@ -1,18 +1,19 @@ { "id": "polygon", - "index": 3, "graph_id": "matic", "name": "Polygon", - "alt_names": ["matic"], - "mainnet": "polygon", + "alt_names": [ + "matic" + ], "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/polygon.svg", - "is_img_dt_invert": false, - "is_testnet": false, + "icon": { + "id": "tokens/matic-network", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", diff --git a/data/chains/mumbai.json b/data/polygon/mumbai/meta.json similarity index 55% rename from data/chains/mumbai.json rename to data/polygon/mumbai/meta.json index d02cd17..e72bb06 100644 --- a/data/chains/mumbai.json +++ b/data/polygon/mumbai/meta.json @@ -1,18 +1,8 @@ { "id": "mumbai", - "index": 3, "graph_id": "mumbai", "name": "Mumbai", "alt_names": [], - "mainnet": "polygon", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/polygon.svg", - "is_img_dt_invert": false, - "is_testnet": true, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", diff --git a/data/chains/scroll.json b/data/scroll/meta.json similarity index 70% rename from data/chains/scroll.json rename to data/scroll/meta.json index 6cb1bf9..f79a78a 100644 --- a/data/chains/scroll.json +++ b/data/scroll/meta.json @@ -1,19 +1,17 @@ { "id": "scroll", - "index": 5, "graph_id": "scroll", "name": "Scroll", "alt_names": [], - "mainnet": "scroll", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/scroll.svg", - "img_invert": "https://pinax.network/assets/chains/scroll_dark.svg", - "is_img_dt_invert": true, - "is_testnet": false, + "icon": { + "id": "networks/scroll", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": null, @@ -28,4 +26,4 @@ "deprecated_at": null } } -} \ No newline at end of file +} diff --git a/data/chains/starknet.json b/data/starknet/meta.json similarity index 77% rename from data/chains/starknet.json rename to data/starknet/meta.json index 2975585..287f595 100644 --- a/data/chains/starknet.json +++ b/data/starknet/meta.json @@ -1,18 +1,17 @@ { "id": "starknet", - "index": 4, "graph_id": null, "name": "Starknet", "alt_names": [], - "mainnet": "starknet", "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, - "img": "https://pinax.network/assets/chains/starknet.svg", - "is_img_dt_invert": false, - "is_testnet": false, + "icon": { + "id": "networks/starknet", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": null, diff --git a/data/chains/telos.json b/data/telos/meta.json similarity index 79% rename from data/chains/telos.json rename to data/telos/meta.json index 100ad33..596ac04 100644 --- a/data/chains/telos.json +++ b/data/telos/meta.json @@ -1,18 +1,17 @@ { "id": "telos", - "index": 4, "graph_id": null, "name": "Telos", "alt_names": [], - "mainnet": "telos", "standard": "antelope", "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, - "img": "https://pinax.network/assets/chains/telos.svg", - "is_img_dt_invert": false, - "is_testnet": false, + "icon": { + "id": "networks/telos", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", diff --git a/data/chains/telostest.json b/data/telos/telostest/meta.json similarity index 55% rename from data/chains/telostest.json rename to data/telos/telostest/meta.json index f928e92..62c89d9 100644 --- a/data/chains/telostest.json +++ b/data/telos/telostest/meta.json @@ -1,18 +1,8 @@ { "id": "telostest", - "index": 4, "graph_id": null, "name": "Telos Test", "alt_names": [], - "mainnet": "telos", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "img": "https://pinax.network/assets/chains/telos.svg", - "is_img_dt_invert": false, - "is_testnet": true, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", diff --git a/data/chains/wax.json b/data/wax/meta.json similarity index 79% rename from data/chains/wax.json rename to data/wax/meta.json index 93660ec..a15781b 100644 --- a/data/chains/wax.json +++ b/data/wax/meta.json @@ -1,18 +1,17 @@ { "id": "wax", - "index": 4, "graph_id": null, "name": "WAX", "alt_names": [], - "mainnet": "wax", "standard": "antelope", "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, - "img": "https://pinax.network/assets/chains/wax.svg", - "is_img_dt_invert": false, - "is_testnet": false, + "icon": { + "id": "tokens/wax", + "brand_theme": "both" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", diff --git a/data/chains/waxtest.json b/data/wax/waxtest/meta.json similarity index 55% rename from data/chains/waxtest.json rename to data/wax/waxtest/meta.json index b69441b..a5baf7d 100644 --- a/data/chains/waxtest.json +++ b/data/wax/waxtest/meta.json @@ -1,18 +1,8 @@ { "id": "waxtest", - "index": 4, "graph_id": null, "name": "WAX Test", "alt_names": [], - "mainnet": "wax", - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "img": "https://pinax.network/assets/chains/wax.svg", - "is_img_dt_invert": false, - "is_testnet": true, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", diff --git a/docs/chain_icons.md b/docs/chain_icons.md new file mode 100644 index 0000000..c349bc5 --- /dev/null +++ b/docs/chain_icons.md @@ -0,0 +1,5 @@ +# Chain Icons + +For our chain icons, we use [Edge & Node's Token Icons library](https://tokenicons.io/). The library is a collection of SVG icons for various blockchain tokens and chains. The library is available on [GitHub](https://github.com/0xa3k5/token-icons), [NPM](https://www.npmjs.com/package/@token-icons/react) and [Figma](https://www.figma.com/community/file/1355517329090639687/token-icons-community). + +In this repository, we leverage the library's metadata (in the final data.json generation script), to make sure that the chain icons are up-to-date with the latest changes. See [data_json.js](../scripts/generate/data_json.js) for more information. \ No newline at end of file diff --git a/docs/retrieve_graph_ids.md b/docs/retrieve_graph_ids.md new file mode 100644 index 0000000..c7a272d --- /dev/null +++ b/docs/retrieve_graph_ids.md @@ -0,0 +1,33 @@ +# Retrieve The Graph Chain IDs + +This process is useful to add a supported chain to the app, as we need to make sure that the chain is available on The Graph to provide a valid TOML quickstart config. + +In the case that the chain is not available on The Graph, we set its `graph_id` to null, so that the TOML config shows `This chain is not supported by The Graph Network`. + +## Steps to retrieve The Graph Chain IDs + +**OPTION A: Run `npm run fetch-graph-ids.js` in the project** + +1. Clone the repository +2. At the root of the project, run `npm run fetch-graph-ids` + +**OPTION B: CURL** + +1. Fetch The Graph Supported Chains + - **Option A**: Install [JQ](https://jqlang.github.io/jq/) and run cURL command `curl -X POST -H "Content-Type: application/json" -d '{ "jsonrpc": "2.0", "method": "chain_list", "id": 1 }' https://api.studio.thegraph.com/deploy | jq` + - **Option B**: Use your favorite HTTP Client to retrieve it: + ```json + { + "url": "https://api.studio.thegraph.com/deploy", + "headers": { + "Content-Type": "application/json" + }, + "body": { + "jsonrpc": "2.0", + "method": "chain_list", + "id": 1 + } + } + ``` +2. See if you can find a chain ID matching the chain you are adding to the app under "hostedService" +3. If you can't find any matching ID, the added chain will have `graph_id: null`, otherwise the chain ID \ No newline at end of file diff --git a/docs/updating_indexes.md b/docs/updating_indexes.md new file mode 100644 index 0000000..52b3715 --- /dev/null +++ b/docs/updating_indexes.md @@ -0,0 +1,3 @@ +# Updating Indexes + +To display the chains in the UI, each chain has an index score that is used to sort the chains. To reorganize the chains, you can update the [index.config.json](../configs/index.config.json) file. \ No newline at end of file diff --git a/configs.ts b/env.config.ts similarity index 100% rename from configs.ts rename to env.config.ts diff --git a/package-lock.json b/package-lock.json index 479fcd6..ad5efab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,22611 +1,76 @@ { - "name": "@pinax/chain-metadata", - "version": "1.0.0", + "name": "@pinax/chains", + "version": "1.1.16", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "@pinax/chain-metadata", - "version": "1.0.0", - "dependencies": { - "wagmi": "^2.5.7" - }, + "name": "@pinax/chains", + "version": "1.1.16", "devDependencies": { + "@token-icons/core": "^2.0.4", "husky": "^9.0.11", - "prettier": "^3.2.5", - "typescript": "^5.3.3" - } - }, - "node_modules/@adraffy/ens-normalize": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz", - "integrity": "sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==" - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "peer": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", - "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", - "peer": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.0", - "@babel/parser": "^7.24.0", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "peer": true - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "peer": true, - "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "peer": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", - "peer": true, - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "peer": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", - "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", - "peer": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "prettier": "^3.2.5" } }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", - "peer": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, + "node_modules/@token-icons/core": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.0.4.tgz", + "integrity": "sha512-QmQq7QMFL41WOlBW8hYIqINo8A5iml8KVjwODzUxAamPQgN94Y8rqNDf2Wlox4etM5s3IsM+LiyxAefqNP4PQA==", + "dev": true, "peerDependencies": { - "@babel/core": "^7.0.0" + "typescript": "5.3.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true, + "node_modules/husky": { + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", + "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", + "dev": true, "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", - "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", - "peer": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "peer": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "peer": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "peer": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", - "peer": true, - "dependencies": { - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "peer": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "peer": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "peer": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", - "peer": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", - "peer": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "peer": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "peer": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "peer": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "peer": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", - "peer": true, - "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", - "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", - "peer": true, - "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0" + "husky": "bin.mjs" }, "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "node": ">=18" }, - "engines": { - "node": ">=6.9.0" + "funding": { + "url": "https://github.com/sponsors/typicode" } }, - "node_modules/@babel/parser": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", - "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", - "peer": true, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true, "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", - "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", - "peer": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", - "peer": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", - "peer": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-default-from": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.23.3.tgz", - "integrity": "sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-default-from": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", - "peer": true, - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "peer": true, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "node": ">=14" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } + } + }, + "dependencies": { + "@token-icons/core": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.0.4.tgz", + "integrity": "sha512-QmQq7QMFL41WOlBW8hYIqINo8A5iml8KVjwODzUxAamPQgN94Y8rqNDf2Wlox4etM5s3IsM+LiyxAefqNP4PQA==", + "dev": true }, - "node_modules/@babel/plugin-syntax-export-default-from": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz", - "integrity": "sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", - "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "peer": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", - "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", - "peer": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", - "peer": true, - "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", - "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", - "peer": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", - "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", - "peer": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", - "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", - "peer": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", - "peer": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", - "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", - "peer": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", - "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", - "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", - "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", - "peer": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", - "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", - "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", - "peer": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", - "peer": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", - "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", - "peer": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", - "peer": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "peer": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", - "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", - "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz", - "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==", - "peer": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", - "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", - "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", - "peer": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", - "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", - "peer": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", - "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", - "peer": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", - "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", - "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.0.tgz", - "integrity": "sha512-zc0GA5IitLKJrSfXlXmp8KDqLrnGECK7YRfQBmEKg1NmBOQ7e+KuclBEKJgzifQeUYLdNiAw4B4bjyvzWVLiSA==", - "peer": true, - "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", - "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", - "peer": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", - "peer": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", - "peer": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", - "peer": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.0.tgz", - "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", - "peer": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.9", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.8", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.6", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.9", - "@babel/plugin-transform-modules-umd": "^7.23.3", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.24.0", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-flow": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.0.tgz", - "integrity": "sha512-cum/nSi82cDaSJ21I4PgLTVlj0OXovFk6GRguJYe/IKg6y6JHLTbJhybtX4k35WT9wdeJfEVjycTixMhBHd0Dg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-transform-flow-strip-types": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", - "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-typescript": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/register": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz", - "integrity": "sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==", - "peer": true, - "dependencies": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.6", - "source-map-support": "^0.5.16" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "peer": true - }, - "node_modules/@babel/runtime": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", - "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", - "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@coinbase/wallet-sdk": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.9.1.tgz", - "integrity": "sha512-cGUE8wm1/cMI8irRMVOqbFWYcnNugqCtuy2lnnHfgloBg+GRLs9RsrkOUDMdv/StfUeeKhCDyYudsXXvcL1xIA==", - "dependencies": { - "bn.js": "^5.2.1", - "buffer": "^6.0.3", - "clsx": "^1.2.1", - "eth-block-tracker": "^7.1.0", - "eth-json-rpc-filters": "^6.0.0", - "eventemitter3": "^5.0.1", - "keccak": "^3.0.3", - "preact": "^10.16.0", - "sha.js": "^2.4.11" - } - }, - "node_modules/@emotion/babel-plugin": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", - "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/serialize": "^1.1.2", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.2.0" - } - }, - "node_modules/@emotion/cache": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", - "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", - "dependencies": { - "@emotion/memoize": "^0.8.1", - "@emotion/sheet": "^1.2.2", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "stylis": "4.2.0" - } - }, - "node_modules/@emotion/hash": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", - "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" - }, - "node_modules/@emotion/is-prop-valid": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", - "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", - "dependencies": { - "@emotion/memoize": "^0.8.1" - } - }, - "node_modules/@emotion/memoize": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" - }, - "node_modules/@emotion/react": { - "version": "11.11.4", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz", - "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/cache": "^11.11.0", - "@emotion/serialize": "^1.1.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "hoist-non-react-statics": "^3.3.1" - }, - "peerDependencies": { - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/serialize": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.3.tgz", - "integrity": "sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==", - "dependencies": { - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/unitless": "^0.8.1", - "@emotion/utils": "^1.2.1", - "csstype": "^3.0.2" - } - }, - "node_modules/@emotion/sheet": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", - "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" - }, - "node_modules/@emotion/styled": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", - "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/is-prop-valid": "^1.2.1", - "@emotion/serialize": "^1.1.2", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1" - }, - "peerDependencies": { - "@emotion/react": "^11.0.0-rc.0", - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/unitless": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", - "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" - }, - "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", - "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@emotion/utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" - }, - "node_modules/@emotion/weak-memoize": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", - "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" - }, - "node_modules/@ethereumjs/common": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-3.2.0.tgz", - "integrity": "sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA==", - "dependencies": { - "@ethereumjs/util": "^8.1.0", - "crc-32": "^1.2.0" - } - }, - "node_modules/@ethereumjs/rlp": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", - "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", - "bin": { - "rlp": "bin/rlp" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@ethereumjs/tx": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-4.2.0.tgz", - "integrity": "sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw==", - "dependencies": { - "@ethereumjs/common": "^3.2.0", - "@ethereumjs/rlp": "^4.0.1", - "@ethereumjs/util": "^8.1.0", - "ethereum-cryptography": "^2.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@ethereumjs/util": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", - "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", - "dependencies": { - "@ethereumjs/rlp": "^4.0.1", - "ethereum-cryptography": "^2.0.0", - "micro-ftch": "^0.3.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "peer": true - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "peer": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@ioredis/commands": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", - "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==" - }, - "node_modules/@isaacs/ttlcache": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", - "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@jest/create-cache-key-function": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", - "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", - "peer": true, - "dependencies": { - "@jest/types": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", - "peer": true, - "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", - "peer": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "peer": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "peer": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "peer": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "peer": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "peer": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "peer": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.24.tgz", - "integrity": "sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q==", - "peer": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@lit-labs/ssr-dom-shim": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.0.tgz", - "integrity": "sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==" - }, - "node_modules/@lit/reactive-element": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", - "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.0.0" - } - }, - "node_modules/@metamask/eth-json-rpc-provider": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@metamask/eth-json-rpc-provider/-/eth-json-rpc-provider-1.0.1.tgz", - "integrity": "sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA==", - "dependencies": { - "@metamask/json-rpc-engine": "^7.0.0", - "@metamask/safe-event-emitter": "^3.0.0", - "@metamask/utils": "^5.0.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@metamask/eth-json-rpc-provider/node_modules/@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@metamask/json-rpc-engine": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@metamask/json-rpc-engine/-/json-rpc-engine-7.3.2.tgz", - "integrity": "sha512-dVjBPlni4CoiBpESVqrxh6k4OR14w6GRXKSSXHFuITjuhALE42gNCkXTpL4cjNeOBUgTba3eGe5EI8cyc2QLRg==", - "dependencies": { - "@metamask/rpc-errors": "^6.1.0", - "@metamask/safe-event-emitter": "^3.0.0", - "@metamask/utils": "^8.3.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@metamask/json-rpc-engine/node_modules/@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@metamask/json-rpc-engine/node_modules/@metamask/utils": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-8.3.0.tgz", - "integrity": "sha512-WFVcMPEkKKRCJ8DDkZUTVbLlpwgRn98F4VM/WzN89HM8PmHMnCyk/oG0AmK/seOxtik7uC7Bbi2YBC5Z5XB2zw==", - "dependencies": { - "@ethereumjs/tx": "^4.2.0", - "@noble/hashes": "^1.3.1", - "@scure/base": "^1.1.3", - "@types/debug": "^4.1.7", - "debug": "^4.3.4", - "pony-cause": "^2.1.10", - "semver": "^7.5.4", - "superstruct": "^1.0.3" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@metamask/object-multiplex": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@metamask/object-multiplex/-/object-multiplex-1.3.0.tgz", - "integrity": "sha512-czcQeVYdSNtabd+NcYQnrM69MciiJyd1qvKH8WM2Id3C0ZiUUX5Xa/MK+/VUk633DBhVOwdNzAKIQ33lGyA+eQ==", - "dependencies": { - "end-of-stream": "^1.4.4", - "once": "^1.4.0", - "readable-stream": "^2.3.3" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@metamask/onboarding": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@metamask/onboarding/-/onboarding-1.0.1.tgz", - "integrity": "sha512-FqHhAsCI+Vacx2qa5mAFcWNSrTcVGMNjzxVgaX8ECSny/BJ9/vgXP9V7WF/8vb9DltPeQkxr+Fnfmm6GHfmdTQ==", - "dependencies": { - "bowser": "^2.9.0" - } - }, - "node_modules/@metamask/post-message-stream": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@metamask/post-message-stream/-/post-message-stream-6.2.0.tgz", - "integrity": "sha512-WunZ0bruClF862mvbKQGETn5SM0XKGmocPMQR1Ew6sYix9/FDzeoZnoI8RkXk01E+70FCdxhTE/r8kk5SFOuTw==", - "dependencies": { - "@metamask/utils": "^5.0.0", - "readable-stream": "2.3.3" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@metamask/post-message-stream/node_modules/process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==" - }, - "node_modules/@metamask/post-message-stream/node_modules/readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/@metamask/post-message-stream/node_modules/string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/@metamask/providers": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@metamask/providers/-/providers-10.2.1.tgz", - "integrity": "sha512-p2TXw2a1Nb8czntDGfeIYQnk4LLVbd5vlcb3GY//lylYlKdSqp+uUTegCvxiFblRDOT68jsY8Ib1VEEzVUOolA==", - "dependencies": { - "@metamask/object-multiplex": "^1.1.0", - "@metamask/safe-event-emitter": "^2.0.0", - "@types/chrome": "^0.0.136", - "detect-browser": "^5.2.0", - "eth-rpc-errors": "^4.0.2", - "extension-port-stream": "^2.0.1", - "fast-deep-equal": "^2.0.1", - "is-stream": "^2.0.0", - "json-rpc-engine": "^6.1.0", - "json-rpc-middleware-stream": "^4.2.1", - "pump": "^3.0.0", - "webextension-polyfill-ts": "^0.25.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@metamask/rpc-errors": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@metamask/rpc-errors/-/rpc-errors-6.2.1.tgz", - "integrity": "sha512-VTgWkjWLzb0nupkFl1duQi9Mk8TGT9rsdnQg6DeRrYEFxtFOh0IF8nAwxM/4GWqDl6uIB06lqUBgUrAVWl62Bw==", - "dependencies": { - "@metamask/utils": "^8.3.0", - "fast-safe-stringify": "^2.0.6" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@metamask/rpc-errors/node_modules/@metamask/utils": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-8.3.0.tgz", - "integrity": "sha512-WFVcMPEkKKRCJ8DDkZUTVbLlpwgRn98F4VM/WzN89HM8PmHMnCyk/oG0AmK/seOxtik7uC7Bbi2YBC5Z5XB2zw==", - "dependencies": { - "@ethereumjs/tx": "^4.2.0", - "@noble/hashes": "^1.3.1", - "@scure/base": "^1.1.3", - "@types/debug": "^4.1.7", - "debug": "^4.3.4", - "pony-cause": "^2.1.10", - "semver": "^7.5.4", - "superstruct": "^1.0.3" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@metamask/safe-event-emitter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", - "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==" - }, - "node_modules/@metamask/sdk": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/@metamask/sdk/-/sdk-0.14.3.tgz", - "integrity": "sha512-BYLs//nY2wioVSih78gOQI6sLIYY3vWkwVqXGYUgkBV+bi49bv+9S0m+hZ2cwiRaxfMYtKs0KvhAQ8weiYwDrg==", - "dependencies": { - "@metamask/onboarding": "^1.0.1", - "@metamask/post-message-stream": "^6.1.0", - "@metamask/providers": "^10.2.1", - "@metamask/sdk-communication-layer": "0.14.3", - "@metamask/sdk-install-modal-web": "0.14.1", - "@react-native-async-storage/async-storage": "^1.17.11", - "@types/dom-screen-wake-lock": "^1.0.0", - "bowser": "^2.9.0", - "cross-fetch": "^4.0.0", - "eciesjs": "^0.3.15", - "eth-rpc-errors": "^4.0.3", - "eventemitter2": "^6.4.7", - "extension-port-stream": "^2.0.1", - "i18next": "22.5.1", - "i18next-browser-languagedetector": "^7.1.0", - "obj-multiplex": "^1.0.0", - "pump": "^3.0.0", - "qrcode-terminal-nooctal": "^0.12.1", - "react-i18next": "^13.2.2", - "react-native-webview": "^11.26.0", - "readable-stream": "^2.3.7", - "rollup-plugin-visualizer": "^5.9.2", - "socket.io-client": "^4.5.1", - "util": "^0.12.4", - "uuid": "^8.3.2" - }, - "peerDependencies": { - "react": "^18.2.0", - "react-native": "*" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-native": { - "optional": true - } - } - }, - "node_modules/@metamask/sdk-communication-layer": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.14.3.tgz", - "integrity": "sha512-yjSbj8y7fFbQXv2HBzUX6D9C8BimkCYP6BDV7hdw53W8b/GlYCtXVxUFajQ9tuO1xPTRjR/xt/dkdr2aCi6WGw==", - "dependencies": { - "bufferutil": "^4.0.8", - "cross-fetch": "^3.1.5", - "date-fns": "^2.29.3", - "eciesjs": "^0.3.16", - "eventemitter2": "^6.4.5", - "socket.io-client": "^4.5.1", - "utf-8-validate": "^6.0.3", - "uuid": "^8.3.2" - } - }, - "node_modules/@metamask/sdk-communication-layer/node_modules/cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "dependencies": { - "node-fetch": "^2.6.12" - } - }, - "node_modules/@metamask/sdk-install-modal-web": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.14.1.tgz", - "integrity": "sha512-emT8HKbnfVwGhPxyUfMja6DWzvtJvDEBQxqCVx93H0HsyrrOzOC43iGCAosslw6o5h7gOfRKLqWmK8V7jQAS2Q==", - "dependencies": { - "@emotion/react": "^11.10.6", - "@emotion/styled": "^11.10.6", - "i18next": "22.5.1", - "qr-code-styling": "^1.6.0-rc.1", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-i18next": "^13.2.2" - } - }, - "node_modules/@metamask/sdk-install-modal-web/node_modules/i18next": { - "version": "22.5.1", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz", - "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==", - "funding": [ - { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - } - ], - "dependencies": { - "@babel/runtime": "^7.20.6" - } - }, - "node_modules/@metamask/sdk/node_modules/i18next": { - "version": "22.5.1", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz", - "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==", - "funding": [ - { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - } - ], - "dependencies": { - "@babel/runtime": "^7.20.6" - } - }, - "node_modules/@metamask/utils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-5.0.2.tgz", - "integrity": "sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g==", - "dependencies": { - "@ethereumjs/tx": "^4.1.2", - "@types/debug": "^4.1.7", - "debug": "^4.3.4", - "semver": "^7.3.8", - "superstruct": "^1.0.3" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@motionone/animation": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.17.0.tgz", - "integrity": "sha512-ANfIN9+iq1kGgsZxs+Nz96uiNcPLGTXwfNo2Xz/fcJXniPYpaz/Uyrfa+7I5BPLxCP82sh7quVDudf1GABqHbg==", - "dependencies": { - "@motionone/easing": "^10.17.0", - "@motionone/types": "^10.17.0", - "@motionone/utils": "^10.17.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/animation/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@motionone/dom": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.17.0.tgz", - "integrity": "sha512-cMm33swRlCX/qOPHWGbIlCl0K9Uwi6X5RiL8Ma6OrlJ/TP7Q+Np5GE4xcZkFptysFjMTi4zcZzpnNQGQ5D6M0Q==", - "dependencies": { - "@motionone/animation": "^10.17.0", - "@motionone/generators": "^10.17.0", - "@motionone/types": "^10.17.0", - "@motionone/utils": "^10.17.0", - "hey-listen": "^1.0.8", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/dom/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@motionone/easing": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.17.0.tgz", - "integrity": "sha512-Bxe2wSuLu/qxqW4rBFS5m9tMLOw+QBh8v5A7Z5k4Ul4sTj5jAOfZG5R0bn5ywmk+Fs92Ij1feZ5pmC4TeXA8Tg==", - "dependencies": { - "@motionone/utils": "^10.17.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/easing/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@motionone/generators": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.17.0.tgz", - "integrity": "sha512-T6Uo5bDHrZWhIfxG/2Aut7qyWQyJIWehk6OB4qNvr/jwA/SRmixwbd7SOrxZi1z5rH3LIeFFBKK1xHnSbGPZSQ==", - "dependencies": { - "@motionone/types": "^10.17.0", - "@motionone/utils": "^10.17.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/generators/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@motionone/svelte": { - "version": "10.16.4", - "resolved": "https://registry.npmjs.org/@motionone/svelte/-/svelte-10.16.4.tgz", - "integrity": "sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA==", - "dependencies": { - "@motionone/dom": "^10.16.4", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/svelte/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@motionone/types": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.17.0.tgz", - "integrity": "sha512-EgeeqOZVdRUTEHq95Z3t8Rsirc7chN5xFAPMYFobx8TPubkEfRSm5xihmMUkbaR2ErKJTUw3347QDPTHIW12IA==" - }, - "node_modules/@motionone/utils": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.17.0.tgz", - "integrity": "sha512-bGwrki4896apMWIj9yp5rAS2m0xyhxblg6gTB/leWDPt+pb410W8lYWsxyurX+DH+gO1zsQsfx2su/c1/LtTpg==", - "dependencies": { - "@motionone/types": "^10.17.0", - "hey-listen": "^1.0.8", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/utils/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@motionone/vue": { - "version": "10.16.4", - "resolved": "https://registry.npmjs.org/@motionone/vue/-/vue-10.16.4.tgz", - "integrity": "sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg==", - "deprecated": "Motion One for Vue is deprecated. Use Oku Motion instead https://oku-ui.com/motion", - "dependencies": { - "@motionone/dom": "^10.16.4", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/vue/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@noble/curves": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", - "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", - "dependencies": { - "@noble/hashes": "1.3.2" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@parcel/watcher": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", - "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.1", - "@parcel/watcher-darwin-arm64": "2.4.1", - "@parcel/watcher-darwin-x64": "2.4.1", - "@parcel/watcher-freebsd-x64": "2.4.1", - "@parcel/watcher-linux-arm-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-musl": "2.4.1", - "@parcel/watcher-linux-x64-glibc": "2.4.1", - "@parcel/watcher-linux-x64-musl": "2.4.1", - "@parcel/watcher-win32-arm64": "2.4.1", - "@parcel/watcher-win32-ia32": "2.4.1", - "@parcel/watcher-win32-x64": "2.4.1" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", - "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", - "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", - "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", - "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", - "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", - "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", - "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", - "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", - "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-wasm": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.4.1.tgz", - "integrity": "sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==", - "bundleDependencies": [ - "napi-wasm" - ], - "dependencies": { - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "napi-wasm": "^1.1.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-wasm/node_modules/napi-wasm": { - "version": "1.1.0", - "inBundle": true, - "license": "MIT" - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", - "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", - "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", - "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher/node_modules/node-addon-api": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz", - "integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==", - "engines": { - "node": "^16 || ^18 || >= 20" - } - }, - "node_modules/@react-native-async-storage/async-storage": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.22.3.tgz", - "integrity": "sha512-Ov3wjuqxHd62tLYfgTjxj77YRYWra3A4Fi8uICIPcePgNO2WkS5B0ADXt9e/JLzSCNqVlXCq4Fir/gHmZTU9ww==", - "dependencies": { - "merge-options": "^3.0.4" - }, - "peerDependencies": { - "react-native": "^0.0.0-0 || >=0.60 <1.0" - } - }, - "node_modules/@react-native-community/cli": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-12.3.6.tgz", - "integrity": "sha512-647OSi6xBb8FbwFqX9zsJxOzu685AWtrOUWHfOkbKD+5LOpGORw+GQo0F9rWZnB68rLQyfKUZWJeaD00pGv5fw==", - "peer": true, - "dependencies": { - "@react-native-community/cli-clean": "12.3.6", - "@react-native-community/cli-config": "12.3.6", - "@react-native-community/cli-debugger-ui": "12.3.6", - "@react-native-community/cli-doctor": "12.3.6", - "@react-native-community/cli-hermes": "12.3.6", - "@react-native-community/cli-plugin-metro": "12.3.6", - "@react-native-community/cli-server-api": "12.3.6", - "@react-native-community/cli-tools": "12.3.6", - "@react-native-community/cli-types": "12.3.6", - "chalk": "^4.1.2", - "commander": "^9.4.1", - "deepmerge": "^4.3.0", - "execa": "^5.0.0", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0", - "graceful-fs": "^4.1.3", - "prompts": "^2.4.2", - "semver": "^7.5.2" - }, - "bin": { - "react-native": "build/bin.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native-community/cli-clean": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-12.3.6.tgz", - "integrity": "sha512-gUU29ep8xM0BbnZjwz9MyID74KKwutq9x5iv4BCr2im6nly4UMf1B1D+V225wR7VcDGzbgWjaezsJShLLhC5ig==", - "peer": true, - "dependencies": { - "@react-native-community/cli-tools": "12.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0" - } - }, - "node_modules/@react-native-community/cli-clean/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-clean/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-clean/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-clean/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/@react-native-community/cli-clean/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-clean/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-config": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-12.3.6.tgz", - "integrity": "sha512-JGWSYQ9EAK6m2v0abXwFLEfsqJ1zkhzZ4CV261QZF9MoUNB6h57a274h1MLQR9mG6Tsh38wBUuNfEPUvS1vYew==", - "peer": true, - "dependencies": { - "@react-native-community/cli-tools": "12.3.6", - "chalk": "^4.1.2", - "cosmiconfig": "^5.1.0", - "deepmerge": "^4.3.0", - "glob": "^7.1.3", - "joi": "^17.2.1" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/@react-native-community/cli-config/node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "peer": true, - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "peer": true, - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "peer": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-debugger-ui": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.6.tgz", - "integrity": "sha512-SjUKKsx5FmcK9G6Pb6UBFT0s9JexVStK5WInmANw75Hm7YokVvHEgtprQDz2Uvy5znX5g2ujzrkIU//T15KQzA==", - "peer": true, - "dependencies": { - "serve-static": "^1.13.1" - } - }, - "node_modules/@react-native-community/cli-doctor": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-12.3.6.tgz", - "integrity": "sha512-fvBDv2lTthfw4WOQKkdTop2PlE9GtfrlNnpjB818MhcdEnPjfQw5YaTUcnNEGsvGomdCs1MVRMgYXXwPSN6OvQ==", - "peer": true, - "dependencies": { - "@react-native-community/cli-config": "12.3.6", - "@react-native-community/cli-platform-android": "12.3.6", - "@react-native-community/cli-platform-ios": "12.3.6", - "@react-native-community/cli-tools": "12.3.6", - "chalk": "^4.1.2", - "command-exists": "^1.2.8", - "deepmerge": "^4.3.0", - "envinfo": "^7.10.0", - "execa": "^5.0.0", - "hermes-profile-transformer": "^0.0.6", - "node-stream-zip": "^1.9.1", - "ora": "^5.4.1", - "semver": "^7.5.2", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1", - "yaml": "^2.2.1" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/@react-native-community/cli-doctor/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/yaml": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.0.tgz", - "integrity": "sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ==", - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@react-native-community/cli-hermes": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-12.3.6.tgz", - "integrity": "sha512-sNGwfOCl8OAIjWCkwuLpP8NZbuO0dhDI/2W7NeOGDzIBsf4/c4MptTrULWtGIH9okVPLSPX0NnRyGQ+mSwWyuQ==", - "peer": true, - "dependencies": { - "@react-native-community/cli-platform-android": "12.3.6", - "@react-native-community/cli-tools": "12.3.6", - "chalk": "^4.1.2", - "hermes-profile-transformer": "^0.0.6" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/@react-native-community/cli-hermes/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-platform-android": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.6.tgz", - "integrity": "sha512-DeDDAB8lHpuGIAPXeeD9Qu2+/wDTFPo99c8uSW49L0hkmZJixzvvvffbGQAYk32H0TmaI7rzvzH+qzu7z3891g==", - "peer": true, - "dependencies": { - "@react-native-community/cli-tools": "12.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "fast-xml-parser": "^4.2.4", - "glob": "^7.1.3", - "logkitty": "^0.7.1" - } - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-platform-ios": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.6.tgz", - "integrity": "sha512-3eZ0jMCkKUO58wzPWlvAPRqezVKm9EPZyaPyHbRPWU8qw7JqkvnRlWIaYDGpjCJgVW4k2hKsEursLtYKb188tg==", - "peer": true, - "dependencies": { - "@react-native-community/cli-tools": "12.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "fast-xml-parser": "^4.0.12", - "glob": "^7.1.3", - "ora": "^5.4.1" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-plugin-metro": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.6.tgz", - "integrity": "sha512-3jxSBQt4fkS+KtHCPSyB5auIT+KKIrPCv9Dk14FbvOaEh9erUWEm/5PZWmtboW1z7CYeNbFMeXm9fM2xwtVOpg==", - "peer": true - }, - "node_modules/@react-native-community/cli-server-api": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-12.3.6.tgz", - "integrity": "sha512-80NIMzo8b2W+PL0Jd7NjiJW9mgaT8Y8wsIT/lh6mAvYH7mK0ecDJUYUTAAv79Tbo1iCGPAr3T295DlVtS8s4yQ==", - "peer": true, - "dependencies": { - "@react-native-community/cli-debugger-ui": "12.3.6", - "@react-native-community/cli-tools": "12.3.6", - "compression": "^1.7.1", - "connect": "^3.6.5", - "errorhandler": "^1.5.1", - "nocache": "^3.0.1", - "pretty-format": "^26.6.2", - "serve-static": "^1.13.1", - "ws": "^7.5.1" - } - }, - "node_modules/@react-native-community/cli-server-api/node_modules/utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "hasInstallScript": true, - "optional": true, - "peer": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, - "node_modules/@react-native-community/cli-server-api/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "peer": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/@react-native-community/cli-tools": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-12.3.6.tgz", - "integrity": "sha512-FPEvZn19UTMMXUp/piwKZSh8cMEfO8G3KDtOwo53O347GTcwNrKjgZGtLSPELBX2gr+YlzEft3CoRv2Qmo83fQ==", - "peer": true, - "dependencies": { - "appdirsjs": "^1.2.4", - "chalk": "^4.1.2", - "find-up": "^5.0.0", - "mime": "^2.4.1", - "node-fetch": "^2.6.0", - "open": "^6.2.0", - "ora": "^5.4.1", - "semver": "^7.5.2", - "shell-quote": "^1.7.3", - "sudo-prompt": "^9.0.0" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/@react-native-community/cli-tools/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "peer": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "peer": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "peer": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "peer": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-types": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-12.3.6.tgz", - "integrity": "sha512-xPqTgcUtZowQ8WKOkI9TLGBwH2bGggOC4d2FFaIRST3gTcjrEeGRNeR5aXCzJFIgItIft8sd7p2oKEdy90+01Q==", - "peer": true, - "dependencies": { - "joi": "^17.2.1" - } - }, - "node_modules/@react-native-community/cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/@react-native-community/cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native/assets-registry": { - "version": "0.73.1", - "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.73.1.tgz", - "integrity": "sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg==", - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/babel-plugin-codegen": { - "version": "0.73.4", - "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.4.tgz", - "integrity": "sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ==", - "peer": true, - "dependencies": { - "@react-native/codegen": "0.73.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/babel-preset": { - "version": "0.73.21", - "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.73.21.tgz", - "integrity": "sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA==", - "peer": true, - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.18.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.20.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.20.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.20.0", - "@babel/plugin-transform-flow-strip-types": "^7.20.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "@react-native/babel-plugin-codegen": "0.73.4", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.14.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@babel/core": "*" - } - }, - "node_modules/@react-native/codegen": { - "version": "0.73.3", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.3.tgz", - "integrity": "sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg==", - "peer": true, - "dependencies": { - "@babel/parser": "^7.20.0", - "flow-parser": "^0.206.0", - "glob": "^7.1.1", - "invariant": "^2.2.4", - "jscodeshift": "^0.14.0", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" - } - }, - "node_modules/@react-native/community-cli-plugin": { - "version": "0.73.17", - "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.17.tgz", - "integrity": "sha512-F3PXZkcHg+1ARIr6FRQCQiB7ZAA+MQXGmq051metRscoLvgYJwj7dgC8pvgy0kexzUkHu5BNKrZeySzUft3xuQ==", - "peer": true, - "dependencies": { - "@react-native-community/cli-server-api": "12.3.6", - "@react-native-community/cli-tools": "12.3.6", - "@react-native/dev-middleware": "0.73.8", - "@react-native/metro-babel-transformer": "0.73.15", - "chalk": "^4.0.0", - "execa": "^5.1.1", - "metro": "^0.80.3", - "metro-config": "^0.80.3", - "metro-core": "^0.80.3", - "node-fetch": "^2.2.0", - "readline": "^1.3.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/@react-native/community-cli-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native/debugger-frontend": { - "version": "0.73.3", - "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.73.3.tgz", - "integrity": "sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw==", - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/dev-middleware": { - "version": "0.73.8", - "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.73.8.tgz", - "integrity": "sha512-oph4NamCIxkMfUL/fYtSsE+JbGOnrlawfQ0kKtDQ5xbOjPKotKoXqrs1eGwozNKv7FfQ393stk1by9a6DyASSg==", - "peer": true, - "dependencies": { - "@isaacs/ttlcache": "^1.4.1", - "@react-native/debugger-frontend": "0.73.3", - "chrome-launcher": "^0.15.2", - "chromium-edge-launcher": "^1.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "open": "^7.0.3", - "serve-static": "^1.13.1", - "temp-dir": "^2.0.0", - "ws": "^6.2.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/dev-middleware/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/@react-native/dev-middleware/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "node_modules/@react-native/dev-middleware/node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "peer": true, - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native/dev-middleware/node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "peer": true, - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/@react-native/gradle-plugin": { - "version": "0.73.4", - "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.73.4.tgz", - "integrity": "sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg==", - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/js-polyfills": { - "version": "0.73.1", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.73.1.tgz", - "integrity": "sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g==", - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/metro-babel-transformer": { - "version": "0.73.15", - "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.15.tgz", - "integrity": "sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw==", - "peer": true, - "dependencies": { - "@babel/core": "^7.20.0", - "@react-native/babel-preset": "0.73.21", - "hermes-parser": "0.15.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@babel/core": "*" - } - }, - "node_modules/@react-native/normalize-colors": { - "version": "0.73.2", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.73.2.tgz", - "integrity": "sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w==", - "peer": true - }, - "node_modules/@react-native/virtualized-lists": { - "version": "0.73.4", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.73.4.tgz", - "integrity": "sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog==", - "peer": true, - "dependencies": { - "invariant": "^2.2.4", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "react-native": "*" - } - }, - "node_modules/@safe-global/safe-apps-provider": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.1.tgz", - "integrity": "sha512-V4a05A3EgJcriqtDoJklDz1BOinWhC6P0hjUSxshA4KOZM7rGPCTto/usXs09zr1vvL28evl/NldSTv97j2bmg==", - "dependencies": { - "@safe-global/safe-apps-sdk": "^8.1.0", - "events": "^3.3.0" - } - }, - "node_modules/@safe-global/safe-apps-sdk": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.1.0.tgz", - "integrity": "sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w==", - "dependencies": { - "@safe-global/safe-gateway-typescript-sdk": "^3.5.3", - "viem": "^1.0.0" - } - }, - "node_modules/@safe-global/safe-apps-sdk/node_modules/abitype": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.9.8.tgz", - "integrity": "sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/wagmi-dev" - } - ], - "peerDependencies": { - "typescript": ">=5.0.4", - "zod": "^3 >=3.19.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - }, - "zod": { - "optional": true - } - } - }, - "node_modules/@safe-global/safe-apps-sdk/node_modules/viem": { - "version": "1.21.4", - "resolved": "https://registry.npmjs.org/viem/-/viem-1.21.4.tgz", - "integrity": "sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/wevm" - } - ], - "dependencies": { - "@adraffy/ens-normalize": "1.10.0", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@scure/bip32": "1.3.2", - "@scure/bip39": "1.2.1", - "abitype": "0.9.8", - "isows": "1.0.3", - "ws": "8.13.0" - }, - "peerDependencies": { - "typescript": ">=5.0.4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@safe-global/safe-gateway-typescript-sdk": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.18.0.tgz", - "integrity": "sha512-Do+zK2uyeaXHyQsZ0JVjAQYnOox8QoBiezdBVdDGlztQTWW8QbL0J7Us2XaXEXJAYwvrt58wvIn3iLOs0lmkwQ==", - "engines": { - "node": ">=16" - } - }, - "node_modules/@scure/base": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.5.tgz", - "integrity": "sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==", - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip32": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.2.tgz", - "integrity": "sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==", - "dependencies": { - "@noble/curves": "~1.2.0", - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.2" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip39": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz", - "integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==", - "dependencies": { - "@noble/hashes": "~1.3.0", - "@scure/base": "~1.1.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@sideway/address": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", - "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", - "peer": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "peer": true - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "peer": true - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "peer": true - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "peer": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "peer": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" - }, - "node_modules/@stablelib/aead": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", - "integrity": "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==" - }, - "node_modules/@stablelib/binary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", - "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", - "dependencies": { - "@stablelib/int": "^1.0.1" - } - }, - "node_modules/@stablelib/bytes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz", - "integrity": "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==" - }, - "node_modules/@stablelib/chacha": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz", - "integrity": "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==", - "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/chacha20poly1305": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz", - "integrity": "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==", - "dependencies": { - "@stablelib/aead": "^1.0.1", - "@stablelib/binary": "^1.0.1", - "@stablelib/chacha": "^1.0.1", - "@stablelib/constant-time": "^1.0.1", - "@stablelib/poly1305": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz", - "integrity": "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==" - }, - "node_modules/@stablelib/ed25519": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz", - "integrity": "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==", - "dependencies": { - "@stablelib/random": "^1.0.2", - "@stablelib/sha512": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/hash": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", - "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" - }, - "node_modules/@stablelib/hkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz", - "integrity": "sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==", - "dependencies": { - "@stablelib/hash": "^1.0.1", - "@stablelib/hmac": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/hmac": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz", - "integrity": "sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==", - "dependencies": { - "@stablelib/constant-time": "^1.0.1", - "@stablelib/hash": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/int": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", - "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" - }, - "node_modules/@stablelib/keyagreement": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz", - "integrity": "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==", - "dependencies": { - "@stablelib/bytes": "^1.0.1" - } - }, - "node_modules/@stablelib/poly1305": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz", - "integrity": "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==", - "dependencies": { - "@stablelib/constant-time": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/random": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", - "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", - "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/sha256": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz", - "integrity": "sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==", - "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/hash": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/sha512": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz", - "integrity": "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==", - "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/hash": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, - "node_modules/@stablelib/x25519": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz", - "integrity": "sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==", - "dependencies": { - "@stablelib/keyagreement": "^1.0.1", - "@stablelib/random": "^1.0.2", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@tanstack/query-core": { - "version": "5.24.1", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.24.1.tgz", - "integrity": "sha512-DZ6Nx9p7BhjkG50ayJ+MKPgff+lMeol7QYXkvuU5jr2ryW/4ok5eanaS9W5eooA4xN0A/GPHdLGOZGzArgf5Cg==", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/react-query": { - "version": "5.24.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.24.1.tgz", - "integrity": "sha512-4+09JEdO4d6+Gc8Y/g2M/MuxDK5IY0QV8+2wL2304wPKJgJ54cBbULd3nciJ5uvh/as8rrxx6s0mtIwpRuGd1g==", - "peer": true, - "dependencies": { - "@tanstack/query-core": "5.24.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^18.0.0" - } - }, - "node_modules/@types/chrome": { - "version": "0.0.136", - "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.136.tgz", - "integrity": "sha512-XDEiRhLkMd+SB7Iw3ZUIj/fov3wLd4HyTdLltVszkgl1dBfc3Rb7oPMVZ2Mz2TLqnF7Ow+StbR8E7r9lqpb4DA==", - "dependencies": { - "@types/filesystem": "*", - "@types/har-format": "*" - } - }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/dom-screen-wake-lock": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/dom-screen-wake-lock/-/dom-screen-wake-lock-1.0.3.tgz", - "integrity": "sha512-3Iten7X3Zgwvk6kh6/NRdwN7WbZ760YgFCsF5AxDifltUQzW1RaW+WRmcVtgwFzLjaNu64H+0MPJ13yRa8g3Dw==" - }, - "node_modules/@types/filesystem": { - "version": "0.0.35", - "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.35.tgz", - "integrity": "sha512-1eKvCaIBdrD2mmMgy5dwh564rVvfEhZTWVQQGRNn0Nt4ZEnJ0C8oSUCzvMKRA4lGde5oEVo+q2MrTTbV/GHDCQ==", - "dependencies": { - "@types/filewriter": "*" - } - }, - "node_modules/@types/filewriter": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.33.tgz", - "integrity": "sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==" - }, - "node_modules/@types/har-format": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@types/har-format/-/har-format-1.2.15.tgz", - "integrity": "sha512-RpQH4rXLuvTXKR0zqHq3go0RVXYv/YVqv4TnPH95VbwUxZdQlK1EtcMvQvMpDngHbt13Csh9Z4qT9AbkiQH5BA==" - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "peer": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "peer": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "peer": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" - }, - "node_modules/@types/node": { - "version": "20.11.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz", - "integrity": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" - }, - "node_modules/@types/secp256k1": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", - "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "peer": true - }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" - }, - "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", - "peer": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "peer": true - }, - "node_modules/@wagmi/connectors": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-4.1.14.tgz", - "integrity": "sha512-e8I89FsNBtzhIilU3nqmgMR9xvSgCfmkWLz9iCKBTqyitbK5EJU7WTEtjjYFm1v2J//JeAwaA2XEKtG9BLR9jQ==", - "dependencies": { - "@coinbase/wallet-sdk": "3.9.1", - "@metamask/sdk": "0.14.3", - "@safe-global/safe-apps-provider": "0.18.1", - "@safe-global/safe-apps-sdk": "8.1.0", - "@walletconnect/ethereum-provider": "2.11.1", - "@walletconnect/modal": "2.6.2" - }, - "funding": { - "url": "https://github.com/sponsors/wevm" - }, - "peerDependencies": { - "@wagmi/core": "2.6.5", - "typescript": ">=5.0.4", - "viem": "2.x" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@wagmi/core": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-2.6.5.tgz", - "integrity": "sha512-DLyrc0o+dx05oIhBJuxnS7ekS5e6rB5mytlqPme+Km7aLdeBdcfYB4yJyYCyWoi93OLa7M5sbflTttz3o56bKw==", - "dependencies": { - "eventemitter3": "5.0.1", - "mipd": "0.0.5", - "zustand": "4.4.1" - }, - "funding": { - "url": "https://github.com/sponsors/wevm" - }, - "peerDependencies": { - "@tanstack/query-core": ">=5.0.0", - "typescript": ">=5.0.4", - "viem": "2.x" - }, - "peerDependenciesMeta": { - "@tanstack/query-core": { - "optional": true - }, - "typescript": { - "optional": true - } - } - }, - "node_modules/@walletconnect/core": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.11.1.tgz", - "integrity": "sha512-T57Vd7YdbHPsy3tthBuwrhaZNafN0+PqjISFRNeJy/bsKdXxpJg2hGSARuOTpCO7V6VcaatqlaSMuG3DrnG5rA==", - "dependencies": { - "@walletconnect/heartbeat": "1.2.1", - "@walletconnect/jsonrpc-provider": "1.0.13", - "@walletconnect/jsonrpc-types": "1.0.3", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/jsonrpc-ws-connection": "1.0.14", - "@walletconnect/keyvaluestorage": "^1.1.1", - "@walletconnect/logger": "^2.0.1", - "@walletconnect/relay-api": "^1.0.9", - "@walletconnect/relay-auth": "^1.0.4", - "@walletconnect/safe-json": "^1.0.2", - "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.1", - "@walletconnect/utils": "2.11.1", - "events": "^3.3.0", - "isomorphic-unfetch": "3.1.0", - "lodash.isequal": "4.5.0", - "uint8arrays": "^3.1.0" - } - }, - "node_modules/@walletconnect/environment": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz", - "integrity": "sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==", - "dependencies": { - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/ethereum-provider": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.11.1.tgz", - "integrity": "sha512-UfQH0ho24aa2M1xYmanbJv2ggQPebKmQytp2j20QEvURJ2R0v7YKWZ+0PfwOs6o6cuGw6gGxy/0WQXQRZSAsfg==", - "dependencies": { - "@walletconnect/jsonrpc-http-connection": "^1.0.7", - "@walletconnect/jsonrpc-provider": "^1.0.13", - "@walletconnect/jsonrpc-types": "^1.0.3", - "@walletconnect/jsonrpc-utils": "^1.0.8", - "@walletconnect/modal": "^2.6.2", - "@walletconnect/sign-client": "2.11.1", - "@walletconnect/types": "2.11.1", - "@walletconnect/universal-provider": "2.11.1", - "@walletconnect/utils": "2.11.1", - "events": "^3.3.0" - } - }, - "node_modules/@walletconnect/events": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz", - "integrity": "sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==", - "dependencies": { - "keyvaluestorage-interface": "^1.0.0", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/heartbeat": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz", - "integrity": "sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q==", - "dependencies": { - "@walletconnect/events": "^1.0.1", - "@walletconnect/time": "^1.0.2", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/jsonrpc-http-connection": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.7.tgz", - "integrity": "sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ==", - "dependencies": { - "@walletconnect/jsonrpc-utils": "^1.0.6", - "@walletconnect/safe-json": "^1.0.1", - "cross-fetch": "^3.1.4", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/jsonrpc-http-connection/node_modules/cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "dependencies": { - "node-fetch": "^2.6.12" - } - }, - "node_modules/@walletconnect/jsonrpc-provider": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz", - "integrity": "sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==", - "dependencies": { - "@walletconnect/jsonrpc-utils": "^1.0.8", - "@walletconnect/safe-json": "^1.0.2", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/jsonrpc-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz", - "integrity": "sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==", - "dependencies": { - "keyvaluestorage-interface": "^1.0.0", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/jsonrpc-utils": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz", - "integrity": "sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==", - "dependencies": { - "@walletconnect/environment": "^1.0.1", - "@walletconnect/jsonrpc-types": "^1.0.3", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/jsonrpc-ws-connection": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.14.tgz", - "integrity": "sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA==", - "dependencies": { - "@walletconnect/jsonrpc-utils": "^1.0.6", - "@walletconnect/safe-json": "^1.0.2", - "events": "^3.3.0", - "ws": "^7.5.1" - } - }, - "node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "hasInstallScript": true, - "optional": true, - "peer": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, - "node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/@walletconnect/keyvaluestorage": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", - "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", - "dependencies": { - "@walletconnect/safe-json": "^1.0.1", - "idb-keyval": "^6.2.1", - "unstorage": "^1.9.0" - }, - "peerDependencies": { - "@react-native-async-storage/async-storage": "1.x" - }, - "peerDependenciesMeta": { - "@react-native-async-storage/async-storage": { - "optional": true - } - } - }, - "node_modules/@walletconnect/logger": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/logger/-/logger-2.0.1.tgz", - "integrity": "sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==", - "dependencies": { - "pino": "7.11.0", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/modal": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@walletconnect/modal/-/modal-2.6.2.tgz", - "integrity": "sha512-eFopgKi8AjKf/0U4SemvcYw9zlLpx9njVN8sf6DAkowC2Md0gPU/UNEbH1Wwj407pEKnEds98pKWib1NN1ACoA==", - "dependencies": { - "@walletconnect/modal-core": "2.6.2", - "@walletconnect/modal-ui": "2.6.2" - } - }, - "node_modules/@walletconnect/modal-core": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@walletconnect/modal-core/-/modal-core-2.6.2.tgz", - "integrity": "sha512-cv8ibvdOJQv2B+nyxP9IIFdxvQznMz8OOr/oR/AaUZym4hjXNL/l1a2UlSQBXrVjo3xxbouMxLb3kBsHoYP2CA==", - "dependencies": { - "valtio": "1.11.2" - } - }, - "node_modules/@walletconnect/modal-ui": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@walletconnect/modal-ui/-/modal-ui-2.6.2.tgz", - "integrity": "sha512-rbdstM1HPGvr7jprQkyPggX7rP4XiCG85ZA+zWBEX0dVQg8PpAgRUqpeub4xQKDgY7pY/xLRXSiCVdWGqvG2HA==", - "dependencies": { - "@walletconnect/modal-core": "2.6.2", - "lit": "2.8.0", - "motion": "10.16.2", - "qrcode": "1.5.3" - } - }, - "node_modules/@walletconnect/relay-api": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.9.tgz", - "integrity": "sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==", - "dependencies": { - "@walletconnect/jsonrpc-types": "^1.0.2", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/relay-auth": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz", - "integrity": "sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==", - "dependencies": { - "@stablelib/ed25519": "^1.0.2", - "@stablelib/random": "^1.0.1", - "@walletconnect/safe-json": "^1.0.1", - "@walletconnect/time": "^1.0.2", - "tslib": "1.14.1", - "uint8arrays": "^3.0.0" - } - }, - "node_modules/@walletconnect/safe-json": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", - "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", - "dependencies": { - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/sign-client": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.11.1.tgz", - "integrity": "sha512-s3oKSx6/F5X2WmkV1jfJImBFACf9Km5HpTb+n5q+mobJVpUQw/clvoVyIrNNppLhm1V1S/ylHXh0qCrDppDpCA==", - "dependencies": { - "@walletconnect/core": "2.11.1", - "@walletconnect/events": "^1.0.1", - "@walletconnect/heartbeat": "1.2.1", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/logger": "^2.0.1", - "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.1", - "@walletconnect/utils": "2.11.1", - "events": "^3.3.0" - } - }, - "node_modules/@walletconnect/time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@walletconnect/time/-/time-1.0.2.tgz", - "integrity": "sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==", - "dependencies": { - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/types": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.11.1.tgz", - "integrity": "sha512-UbdbX+d6MOK0AXKxt5imV3KvAcLVpZUHylaRDIP5ffwVylM/p4DHnKppil1Qq5N+IGDr3RsUwLGFkKjqsQYRKw==", - "dependencies": { - "@walletconnect/events": "^1.0.1", - "@walletconnect/heartbeat": "1.2.1", - "@walletconnect/jsonrpc-types": "1.0.3", - "@walletconnect/keyvaluestorage": "^1.1.1", - "@walletconnect/logger": "^2.0.1", - "events": "^3.3.0" - } - }, - "node_modules/@walletconnect/universal-provider": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.11.1.tgz", - "integrity": "sha512-BJvPYByIfbBYF4x8mqDV79ebQX0tD54pp8itsqrHWn0qKZeJyIH8sQ69yY0GnbJrzoFS3ZLULdC0yDxWDeuRGw==", - "dependencies": { - "@walletconnect/jsonrpc-http-connection": "^1.0.7", - "@walletconnect/jsonrpc-provider": "1.0.13", - "@walletconnect/jsonrpc-types": "^1.0.2", - "@walletconnect/jsonrpc-utils": "^1.0.7", - "@walletconnect/logger": "^2.0.1", - "@walletconnect/sign-client": "2.11.1", - "@walletconnect/types": "2.11.1", - "@walletconnect/utils": "2.11.1", - "events": "^3.3.0" - } - }, - "node_modules/@walletconnect/utils": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.11.1.tgz", - "integrity": "sha512-wRFDHN86dZ05mCET1H3912odIeQa8j7cZKxl1FlWRpV2YsILj9HCYSX6Uq2brwO02Kv2vryke44G1r8XI/LViA==", - "dependencies": { - "@stablelib/chacha20poly1305": "1.0.1", - "@stablelib/hkdf": "1.0.1", - "@stablelib/random": "^1.0.2", - "@stablelib/sha256": "1.0.1", - "@stablelib/x25519": "^1.0.3", - "@walletconnect/relay-api": "^1.0.9", - "@walletconnect/safe-json": "^1.0.2", - "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.1", - "@walletconnect/window-getters": "^1.0.1", - "@walletconnect/window-metadata": "^1.0.1", - "detect-browser": "5.3.0", - "query-string": "7.1.3", - "uint8arrays": "^3.1.0" - } - }, - "node_modules/@walletconnect/window-getters": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz", - "integrity": "sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==", - "dependencies": { - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/window-metadata": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", - "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", - "dependencies": { - "@walletconnect/window-getters": "^1.0.1", - "tslib": "1.14.1" - } - }, - "node_modules/abitype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.0.tgz", - "integrity": "sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==", - "peer": true, - "funding": { - "url": "https://github.com/sponsors/wevm" - }, - "peerDependencies": { - "typescript": ">=5.0.4", - "zod": "^3 >=3.22.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - }, - "zod": { - "optional": true - } - } - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "peer": true, - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "peer": true, - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/anser": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", - "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", - "peer": true - }, - "node_modules/ansi-fragments": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", - "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", - "peer": true, - "dependencies": { - "colorette": "^1.0.7", - "slice-ansi": "^2.0.0", - "strip-ansi": "^5.0.0" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/appdirsjs": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", - "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==", - "peer": true - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "peer": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "peer": true - }, - "node_modules/ast-types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", - "peer": true, - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ast-types/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "peer": true - }, - "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "peer": true - }, - "node_modules/async-mutex": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.2.6.tgz", - "integrity": "sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==", - "dependencies": { - "tslib": "^2.0.0" - } - }, - "node_modules/async-mutex/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "peer": true, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", - "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", - "peer": true, - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.5.0", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", - "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", - "peer": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0", - "core-js-compat": "^3.34.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", - "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", - "peer": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-transform-flow-enums": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", - "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", - "peer": true, - "dependencies": { - "@babel/plugin-syntax-flow": "^7.12.1" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "peer": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "peer": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "peer": true, - "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "peer": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "peer": true - }, - "node_modules/bufferutil": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", - "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "peer": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", - "peer": true, - "dependencies": { - "callsites": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-callsite/node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", - "peer": true, - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001591", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001591.tgz", - "integrity": "sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "peer": true - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chrome-launcher": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", - "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", - "peer": true, - "dependencies": { - "@types/node": "*", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^1.0.0" - }, - "bin": { - "print-chrome-path": "bin/print-chrome-path.js" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/chromium-edge-launcher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz", - "integrity": "sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA==", - "peer": true, - "dependencies": { - "@types/node": "*", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^1.0.0", - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, - "node_modules/chromium-edge-launcher/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "peer": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/citty": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", - "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", - "dependencies": { - "consola": "^3.2.3" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "peer": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "peer": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", - "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==", - "dependencies": { - "execa": "^8.0.1", - "is-wsl": "^3.1.0", - "is64bit": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/clipboardy/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/clipboardy/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy/node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/clipboardy/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "peer": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "peer": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/cluster-key-slot": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", - "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", - "peer": true - }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", - "peer": true - }, - "node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "peer": true, - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "peer": true - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "peer": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "peer": true, - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "peer": true - }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "peer": true, - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/connect/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "node_modules/consola": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", - "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", - "engines": { - "node": "^14.18.0 || >=16.10.0" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "node_modules/cookie-es": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.0.0.tgz", - "integrity": "sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==" - }, - "node_modules/core-js-compat": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", - "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", - "peer": true, - "dependencies": { - "browserslist": "^4.22.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/cross-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", - "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", - "dependencies": { - "node-fetch": "^2.6.12" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crossws": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.2.4.tgz", - "integrity": "sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==", - "peerDependencies": { - "uWebSockets.js": "*" - }, - "peerDependenciesMeta": { - "uWebSockets.js": { - "optional": true - } - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" - }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "dependencies": { - "@babel/runtime": "^7.21.0" - }, - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, - "node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", - "peer": true - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "peer": true, - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "engines": { - "node": ">=8" - } - }, - "node_modules/defu": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==" - }, - "node_modules/denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", - "peer": true - }, - "node_modules/denque": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", - "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "peer": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/deprecated-react-native-prop-types": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz", - "integrity": "sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ==", - "peer": true, - "dependencies": { - "@react-native/normalize-colors": "^0.73.0", - "invariant": "^2.2.4", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/destr": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz", - "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==" - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "peer": true, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-browser": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", - "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/dijkstrajs": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==" - }, - "node_modules/duplexify": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", - "dependencies": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" - } - }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/eciesjs": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/eciesjs/-/eciesjs-0.3.18.tgz", - "integrity": "sha512-RQhegEtLSyIiGJmFTZfvCTHER/fymipXFVx6OwSRYD6hOuy+6Kjpk0dGvIfP9kxn/smBpxQy71uxpGO406ITCw==", - "dependencies": { - "@types/secp256k1": "^4.0.4", - "futoin-hkdf": "^1.5.3", - "secp256k1": "^5.0.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "peer": true - }, - "node_modules/electron-to-chromium": { - "version": "1.4.690", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.690.tgz", - "integrity": "sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA==", - "peer": true - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/encode-utf8": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", - "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "peer": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/engine.io-client": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.3.tgz", - "integrity": "sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.11.0", - "xmlhttprequest-ssl": "~2.0.0" - } - }, - "node_modules/engine.io-client/node_modules/utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "hasInstallScript": true, - "optional": true, - "peer": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, - "node_modules/engine.io-client/node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/engine.io-parser": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz", - "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/envinfo": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", - "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", - "peer": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "peer": true, - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/errorhandler": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", - "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", - "peer": true, - "dependencies": { - "accepts": "~1.3.7", - "escape-html": "~1.0.3" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "peer": true - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "peer": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "peer": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eth-block-tracker": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-7.1.0.tgz", - "integrity": "sha512-8YdplnuE1IK4xfqpf4iU7oBxnOYAc35934o083G8ao+8WM8QQtt/mVlAY6yIAdY1eMeLqg4Z//PZjJGmWGPMRg==", - "dependencies": { - "@metamask/eth-json-rpc-provider": "^1.0.0", - "@metamask/safe-event-emitter": "^3.0.0", - "@metamask/utils": "^5.0.1", - "json-rpc-random-id": "^1.0.1", - "pify": "^3.0.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/eth-block-tracker/node_modules/@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/eth-json-rpc-filters": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-6.0.1.tgz", - "integrity": "sha512-ITJTvqoCw6OVMLs7pI8f4gG92n/St6x80ACtHodeS+IXmO0w+t1T5OOzfSt7KLSMLRkVUoexV7tztLgDxg+iig==", - "dependencies": { - "@metamask/safe-event-emitter": "^3.0.0", - "async-mutex": "^0.2.6", - "eth-query": "^2.1.2", - "json-rpc-engine": "^6.1.0", - "pify": "^5.0.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/eth-json-rpc-filters/node_modules/@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/eth-json-rpc-filters/node_modules/pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eth-query": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz", - "integrity": "sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==", - "dependencies": { - "json-rpc-random-id": "^1.0.0", - "xtend": "^4.0.1" - } - }, - "node_modules/eth-rpc-errors": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz", - "integrity": "sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==", - "dependencies": { - "fast-safe-stringify": "^2.0.6" - } - }, - "node_modules/ethereum-cryptography": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.1.3.tgz", - "integrity": "sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==", - "dependencies": { - "@noble/curves": "1.3.0", - "@noble/hashes": "1.3.3", - "@scure/bip32": "1.3.3", - "@scure/bip39": "1.2.2" - } - }, - "node_modules/ethereum-cryptography/node_modules/@noble/curves": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.3.0.tgz", - "integrity": "sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==", - "dependencies": { - "@noble/hashes": "1.3.3" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/ethereum-cryptography/node_modules/@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/ethereum-cryptography/node_modules/@scure/bip32": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.3.tgz", - "integrity": "sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==", - "dependencies": { - "@noble/curves": "~1.3.0", - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/ethereum-cryptography/node_modules/@scure/bip39": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.2.tgz", - "integrity": "sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==", - "dependencies": { - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eventemitter2": { - "version": "6.4.9", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz", - "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==" - }, - "node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "peer": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/extension-port-stream": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/extension-port-stream/-/extension-port-stream-2.1.1.tgz", - "integrity": "sha512-qknp5o5rj2J9CRKfVB8KJr+uXQlrojNZzdESUPhKYLXf97TPcGf6qWWKmpsNNtUyOdzFhab1ON0jzouNxHHvow==", - "dependencies": { - "webextension-polyfill": ">=0.10.0 <1.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" - }, - "node_modules/fast-redact": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz", - "integrity": "sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "node_modules/fast-xml-parser": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.5.tgz", - "integrity": "sha512-sWvP1Pl8H03B8oFJpFR3HE31HUfwtX7Rlf9BNsvdpujD4n7WMhfmu8h9wOV2u+c1k0ZilTADhPqypzx2J690ZQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - }, - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - } - ], - "peer": true, - "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "peer": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "peer": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "peer": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flow-enums-runtime": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", - "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==", - "peer": true - }, - "node_modules/flow-parser": { - "version": "0.206.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", - "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==", - "peer": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "peer": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "peer": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/futoin-hkdf": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/futoin-hkdf/-/futoin-hkdf-1.5.3.tgz", - "integrity": "sha512-SewY5KdMpaoCeh7jachEWFsh1nNlaDjNHZXWqL5IGwtpEYHTgkr2+AMCgNwKWkcc0wpSYrZfR7he4WdmHFtDxQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "peer": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-port-please": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz", - "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==" - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "peer": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "peer": true - }, - "node_modules/h3": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.11.1.tgz", - "integrity": "sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==", - "dependencies": { - "cookie-es": "^1.0.0", - "crossws": "^0.2.2", - "defu": "^6.1.4", - "destr": "^2.0.3", - "iron-webcrypto": "^1.0.0", - "ohash": "^1.1.3", - "radix3": "^1.1.0", - "ufo": "^1.4.0", - "uncrypto": "^0.1.3", - "unenv": "^1.9.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hermes-estree": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.15.0.tgz", - "integrity": "sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ==", - "peer": true - }, - "node_modules/hermes-parser": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.15.0.tgz", - "integrity": "sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q==", - "peer": true, - "dependencies": { - "hermes-estree": "0.15.0" - } - }, - "node_modules/hermes-profile-transformer": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", - "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", - "peer": true, - "dependencies": { - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/hermes-profile-transformer/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "peer": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/hey-listen": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", - "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/html-parse-stringify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", - "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", - "dependencies": { - "void-elements": "3.1.0" - } - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "peer": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "peer": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-shutdown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz", - "integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "peer": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/husky": { - "version": "9.0.11", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", - "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", - "dev": true, - "bin": { - "husky": "bin.mjs" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, - "node_modules/i18next": { - "version": "23.10.0", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.10.0.tgz", - "integrity": "sha512-/TgHOqsa7/9abUKJjdPeydoyDc0oTi/7u9F8lMSj6ufg4cbC1Oj3f/Jja7zj7WRIhEQKB7Q4eN6y68I9RDxxGQ==", - "funding": [ - { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - } - ], - "peer": true, - "dependencies": { - "@babel/runtime": "^7.23.2" - } - }, - "node_modules/i18next-browser-languagedetector": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.0.tgz", - "integrity": "sha512-U00DbDtFIYD3wkWsr2aVGfXGAj2TgnELzOX9qv8bT0aJtvPV9CRO77h+vgmHFBMe7LAxdwvT/7VkCWGya6L3tA==", - "dependencies": { - "@babel/runtime": "^7.23.2" - } - }, - "node_modules/idb-keyval": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.1.tgz", - "integrity": "sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==" - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/image-size": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", - "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", - "peer": true, - "dependencies": { - "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=16.x" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "peer": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "peer": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ioredis": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.3.2.tgz", - "integrity": "sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==", - "dependencies": { - "@ioredis/commands": "^1.1.1", - "cluster-key-slot": "^1.1.0", - "debug": "^4.3.4", - "denque": "^2.1.0", - "lodash.defaults": "^4.2.0", - "lodash.isarguments": "^3.1.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0", - "standard-as-callback": "^2.1.0" - }, - "engines": { - "node": ">=12.22.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ioredis" - } - }, - "node_modules/iron-webcrypto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.0.0.tgz", - "integrity": "sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==", - "funding": { - "url": "https://github.com/sponsors/brc-dd" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-inside-container/node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "peer": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "dependencies": { - "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is64bit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", - "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==", - "dependencies": { - "system-architecture": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isomorphic-unfetch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz", - "integrity": "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==", - "dependencies": { - "node-fetch": "^2.6.1", - "unfetch": "^4.2.0" - } - }, - "node_modules/isows": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.3.tgz", - "integrity": "sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/wagmi-dev" - } - ], - "peerDependencies": { - "ws": "*" - } - }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "peer": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "peer": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "peer": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "peer": true - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "peer": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "peer": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "peer": true, - "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "peer": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "peer": true - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "peer": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/joi": { - "version": "17.12.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", - "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", - "peer": true, - "dependencies": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.5", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "peer": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsc-android": { - "version": "250231.0.0", - "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", - "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==", - "peer": true - }, - "node_modules/jsc-safe-url": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", - "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", - "peer": true - }, - "node_modules/jscodeshift": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", - "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", - "peer": true, - "dependencies": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.21.0", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" - } - }, - "node_modules/jscodeshift/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jscodeshift/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jscodeshift/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jscodeshift/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/jscodeshift/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jscodeshift/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "peer": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "peer": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-rpc-engine": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz", - "integrity": "sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==", - "dependencies": { - "@metamask/safe-event-emitter": "^2.0.0", - "eth-rpc-errors": "^4.0.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/json-rpc-middleware-stream": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/json-rpc-middleware-stream/-/json-rpc-middleware-stream-4.2.3.tgz", - "integrity": "sha512-4iFb0yffm5vo3eFKDbQgke9o17XBcLQ2c3sONrXSbcOLzP8LTojqo8hRGVgtJShhm5q4ZDSNq039fAx9o65E1w==", - "dependencies": { - "@metamask/safe-event-emitter": "^3.0.0", - "json-rpc-engine": "^6.1.0", - "readable-stream": "^2.3.3" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/json-rpc-middleware-stream/node_modules/@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/json-rpc-random-id": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz", - "integrity": "sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "peer": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "peer": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/keccak": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", - "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/keccak/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/keyvaluestorage-interface": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz", - "integrity": "sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/lighthouse-logger": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", - "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", - "peer": true, - "dependencies": { - "debug": "^2.6.9", - "marky": "^1.2.2" - } - }, - "node_modules/lighthouse-logger/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/lighthouse-logger/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "node_modules/listhen": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.7.2.tgz", - "integrity": "sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==", - "dependencies": { - "@parcel/watcher": "^2.4.1", - "@parcel/watcher-wasm": "^2.4.1", - "citty": "^0.1.6", - "clipboardy": "^4.0.0", - "consola": "^3.2.3", - "crossws": "^0.2.0", - "defu": "^6.1.4", - "get-port-please": "^3.1.2", - "h3": "^1.10.2", - "http-shutdown": "^1.2.2", - "jiti": "^1.21.0", - "mlly": "^1.6.1", - "node-forge": "^1.3.1", - "pathe": "^1.1.2", - "std-env": "^3.7.0", - "ufo": "^1.4.0", - "untun": "^0.1.3", - "uqr": "^0.1.2" - }, - "bin": { - "listen": "bin/listhen.mjs", - "listhen": "bin/listhen.mjs" - } - }, - "node_modules/lit": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", - "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", - "dependencies": { - "@lit/reactive-element": "^1.6.0", - "lit-element": "^3.3.0", - "lit-html": "^2.8.0" - } - }, - "node_modules/lit-element": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", - "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.1.0", - "@lit/reactive-element": "^1.3.0", - "lit-html": "^2.8.0" - } - }, - "node_modules/lit-html": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", - "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", - "dependencies": { - "@types/trusted-types": "^2.0.2" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "peer": true - }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" - }, - "node_modules/lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==" - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" - }, - "node_modules/lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", - "peer": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "peer": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/logkitty": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", - "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", - "peer": true, - "dependencies": { - "ansi-fragments": "^0.2.1", - "dayjs": "^1.8.15", - "yargs": "^15.1.0" - }, - "bin": { - "logkitty": "bin/logkitty.js" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "peer": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "peer": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "peer": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "peer": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/marky": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", - "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==", - "peer": true - }, - "node_modules/memoize-one": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", - "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", - "peer": true - }, - "node_modules/merge-options": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", - "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", - "dependencies": { - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/metro": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.80.6.tgz", - "integrity": "sha512-f6Nhnht9TxVRP6zdBq9J2jNdeDBxRmJFnjxhQS1GeCpokBvI6fTXq+wHTLz5jZA+75fwbkPSzBxBJzQa6xi0AQ==", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "accepts": "^1.3.7", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "error-stack-parser": "^2.0.6", - "graceful-fs": "^4.2.4", - "hermes-parser": "0.19.1", - "image-size": "^1.0.2", - "invariant": "^2.2.4", - "jest-worker": "^29.6.3", - "jsc-safe-url": "^0.2.2", - "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.80.6", - "metro-cache": "0.80.6", - "metro-cache-key": "0.80.6", - "metro-config": "0.80.6", - "metro-core": "0.80.6", - "metro-file-map": "0.80.6", - "metro-resolver": "0.80.6", - "metro-runtime": "0.80.6", - "metro-source-map": "0.80.6", - "metro-symbolicate": "0.80.6", - "metro-transform-plugins": "0.80.6", - "metro-transform-worker": "0.80.6", - "mime-types": "^2.1.27", - "node-fetch": "^2.2.0", - "nullthrows": "^1.1.1", - "rimraf": "^3.0.2", - "serialize-error": "^2.1.0", - "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", - "throat": "^5.0.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" - }, - "bin": { - "metro": "src/cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/metro-babel-transformer": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.6.tgz", - "integrity": "sha512-ssuoVC4OzqaOt3LpwfUbDfBlFGRu9v1Yf2JJnKPz0ROYHNjSBws4aUesqQQ/Ea8DbiH7TK4j4cJmm+XjdHmgqA==", - "peer": true, - "dependencies": { - "@babel/core": "^7.20.0", - "hermes-parser": "0.19.1", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/metro-babel-transformer/node_modules/hermes-estree": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.19.1.tgz", - "integrity": "sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==", - "peer": true - }, - "node_modules/metro-babel-transformer/node_modules/hermes-parser": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.19.1.tgz", - "integrity": "sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==", - "peer": true, - "dependencies": { - "hermes-estree": "0.19.1" - } - }, - "node_modules/metro-cache": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.6.tgz", - "integrity": "sha512-NP81pHSPkzs+iNlpVkJqijrpcd6lfuDAunYH9/Rn8oLNz0yLfkl8lt+xOdUU4IkFt3oVcTBEFCnzAzv4B8YhyA==", - "peer": true, - "dependencies": { - "metro-core": "0.80.6", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/metro-cache-key": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.6.tgz", - "integrity": "sha512-DFmjQacC8m/S3HpELklLMWkPGP/fZPX3BSgjd0xQvwIvWyFwk8Nn/lfp/uWdEVDtDSIr64/anXU5uWohGwlWXw==", - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/metro-config": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.80.6.tgz", - "integrity": "sha512-vHYYvJpRTWYbmvqlR7i04xQpZCHJ6yfZ/xIcPdz2ssbdJGGJbiT1Aar9wr8RAhsccSxdJgfE5B1DB8Mo+DnhIg==", - "peer": true, - "dependencies": { - "connect": "^3.6.5", - "cosmiconfig": "^5.0.5", - "jest-validate": "^29.6.3", - "metro": "0.80.6", - "metro-cache": "0.80.6", - "metro-core": "0.80.6", - "metro-runtime": "0.80.6" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/metro-config/node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "peer": true, - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/metro-config/node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "peer": true, - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/metro-config/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "peer": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/metro-config/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/metro-core": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.80.6.tgz", - "integrity": "sha512-fn4rryTUAwzFJWj7VIPDH4CcW/q7MV4oGobqR6NsuxZoIGYrVpK7pBasumu5YbCqifuErMs5s23BhmrDNeZURw==", - "peer": true, - "dependencies": { - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.80.6" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/metro-file-map": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.6.tgz", - "integrity": "sha512-S3CUqvpXpc+q3q+hCEWvFKhVqgq0VmXdZQDF6u7ue86E2elq1XLnfLOt9JSpwyhpMQRyysjSCnd/Yh6GZMNHoQ==", - "peer": true, - "dependencies": { - "anymatch": "^3.0.3", - "debug": "^2.2.0", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "invariant": "^2.2.4", - "jest-worker": "^29.6.3", - "micromatch": "^4.0.4", - "node-abort-controller": "^3.1.1", - "nullthrows": "^1.1.1", - "walker": "^1.0.7" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/metro-file-map/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/metro-file-map/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "node_modules/metro-minify-terser": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.6.tgz", - "integrity": "sha512-83eZaH2+B+jP92KuodPqXknzwmiboKAuZY4doRfTEEXAG57pNVNN6cqSRJlwDnmaTBKRffxoncBXbYqHQgulgg==", - "peer": true, - "dependencies": { - "terser": "^5.15.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/metro-resolver": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.6.tgz", - "integrity": "sha512-R7trfglG4zY4X9XyM9cvuffAhQ9W1reWoahr1jdEWa6rOI8PyM0qXjcsb8l+fsOQhdSiVlkKcYAmkyrs1S/zrA==", - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/metro-runtime": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.6.tgz", - "integrity": "sha512-21GQVd0pp2nACoK0C2PL8mBsEhIFUFFntYrWRlYNHtPQoqDzddrPEIgkyaABGXGued+dZoBlFQl+LASlmmfkvw==", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/metro-source-map": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.6.tgz", - "integrity": "sha512-lqDuSLctWy9Qccu4Zl0YB1PzItpsqcKGb1nK0aDY+lzJ26X65OCib2VzHlj+xj7e4PiIKOfsvDCczCBz4cnxdg==", - "peer": true, - "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.80.6", - "nullthrows": "^1.1.1", - "ob1": "0.80.6", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/metro-symbolicate": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.6.tgz", - "integrity": "sha512-SGwKeBi+lK7NmM5+EcW6DyRRa9HmGSvH0LJtlT4XoRMbpxzsLYs0qUEA+olD96pOIP+ta7I8S30nQr2ttqgO8A==", - "peer": true, - "dependencies": { - "invariant": "^2.2.4", - "metro-source-map": "0.80.6", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" - }, - "bin": { - "metro-symbolicate": "src/index.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/metro-transform-plugins": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.6.tgz", - "integrity": "sha512-e04tdTC5Fy1vOQrTTXb5biao0t7nR/h+b1IaBTlM5UaHaAJZr658uVOoZhkRxKjbhF2mIwJ/8DdorD2CA15BCg==", - "peer": true, - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/metro-transform-worker": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.6.tgz", - "integrity": "sha512-jV+VgCLiCj5jQadW/h09qJaqDreL6XcBRY52STCoz2xWn6WWLLMB5nXzQtvFNPmnIOps+Xu8+d5hiPcBNOhYmA==", - "peer": true, - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", - "metro": "0.80.6", - "metro-babel-transformer": "0.80.6", - "metro-cache": "0.80.6", - "metro-cache-key": "0.80.6", - "metro-minify-terser": "0.80.6", - "metro-source-map": "0.80.6", - "metro-transform-plugins": "0.80.6", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/metro/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/metro/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/metro/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "peer": true - }, - "node_modules/metro/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "peer": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/metro/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/metro/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/metro/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/metro/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/metro/node_modules/hermes-estree": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.19.1.tgz", - "integrity": "sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==", - "peer": true - }, - "node_modules/metro/node_modules/hermes-parser": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.19.1.tgz", - "integrity": "sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==", - "peer": true, - "dependencies": { - "hermes-estree": "0.19.1" - } - }, - "node_modules/metro/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "node_modules/metro/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "peer": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/metro/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/metro/node_modules/utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "hasInstallScript": true, - "optional": true, - "peer": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, - "node_modules/metro/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/metro/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "peer": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/metro/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/metro/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "peer": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/metro/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/micro-ftch": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", - "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==" - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "peer": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "peer": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "peer": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "peer": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mipd": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mipd/-/mipd-0.0.5.tgz", - "integrity": "sha512-gbKA784D2WKb5H/GtqEv+Ofd1S9Zj+Z/PGDIl1u1QAbswkxD28BQ5bSXQxkeBzPBABg1iDSbiwGG1XqlOxRspA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/wagmi-dev" - } - ], - "dependencies": { - "viem": "^1.1.4" - }, - "peerDependencies": { - "typescript": ">=5.0.4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/mipd/node_modules/abitype": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.9.8.tgz", - "integrity": "sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/wagmi-dev" - } - ], - "peerDependencies": { - "typescript": ">=5.0.4", - "zod": "^3 >=3.19.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - }, - "zod": { - "optional": true - } - } - }, - "node_modules/mipd/node_modules/viem": { - "version": "1.21.4", - "resolved": "https://registry.npmjs.org/viem/-/viem-1.21.4.tgz", - "integrity": "sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/wevm" - } - ], - "dependencies": { - "@adraffy/ens-normalize": "1.10.0", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@scure/bip32": "1.3.2", - "@scure/bip39": "1.2.1", - "abitype": "0.9.8", - "isows": "1.0.3", - "ws": "8.13.0" - }, - "peerDependencies": { - "typescript": ">=5.0.4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "peer": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mlly": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", - "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", - "dependencies": { - "acorn": "^8.11.3", - "pathe": "^1.1.2", - "pkg-types": "^1.0.3", - "ufo": "^1.3.2" - } - }, - "node_modules/motion": { - "version": "10.16.2", - "resolved": "https://registry.npmjs.org/motion/-/motion-10.16.2.tgz", - "integrity": "sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==", - "dependencies": { - "@motionone/animation": "^10.15.1", - "@motionone/dom": "^10.16.2", - "@motionone/svelte": "^10.16.2", - "@motionone/types": "^10.15.1", - "@motionone/utils": "^10.15.1", - "@motionone/vue": "^10.16.2" - } - }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/multiformats": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", - "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "peer": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "peer": true - }, - "node_modules/nocache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", - "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", - "peer": true, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/node-abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", - "peer": true - }, - "node_modules/node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node_modules/node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", - "peer": true, - "dependencies": { - "minimatch": "^3.0.2" - }, - "engines": { - "node": ">= 0.10.5" - } - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch-native": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.2.tgz", - "integrity": "sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==" - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz", - "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "peer": true - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "peer": true - }, - "node_modules/node-stream-zip": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", - "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", - "peer": true, - "engines": { - "node": ">=0.12.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/antelle" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "peer": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nullthrows": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", - "peer": true - }, - "node_modules/ob1": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.6.tgz", - "integrity": "sha512-nlLGZPMQ/kbmkdIb5yvVzep1jKUII2x6ehNsHpgy71jpnJMW7V+KsB3AjYI2Ajb7UqMAMNjlssg6FUodrEMYzg==", - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/obj-multiplex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/obj-multiplex/-/obj-multiplex-1.0.0.tgz", - "integrity": "sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA==", - "dependencies": { - "end-of-stream": "^1.4.0", - "once": "^1.4.0", - "readable-stream": "^2.3.3" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ofetch": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.3.tgz", - "integrity": "sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==", - "dependencies": { - "destr": "^2.0.1", - "node-fetch-native": "^1.4.0", - "ufo": "^1.3.0" - } - }, - "node_modules/ohash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz", - "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==" - }, - "node_modules/on-exit-leak-free": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz", - "integrity": "sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==" - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "peer": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "peer": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "peer": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", - "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", - "peer": true, - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/open/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "peer": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ora/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/ora/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "peer": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "peer": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "peer": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/pino": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", - "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", - "dependencies": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.0.0", - "on-exit-leak-free": "^0.2.0", - "pino-abstract-transport": "v0.5.0", - "pino-std-serializers": "^4.0.0", - "process-warning": "^1.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.1.0", - "safe-stable-stringify": "^2.1.0", - "sonic-boom": "^2.2.1", - "thread-stream": "^0.15.1" - }, - "bin": { - "pino": "bin.js" - } - }, - "node_modules/pino-abstract-transport": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz", - "integrity": "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==", - "dependencies": { - "duplexify": "^4.1.2", - "split2": "^4.0.0" - } - }, - "node_modules/pino-std-serializers": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", - "integrity": "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==" - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "peer": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "peer": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "peer": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "peer": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "peer": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", - "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" - } - }, - "node_modules/pngjs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", - "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/pony-cause": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.10.tgz", - "integrity": "sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/preact": { - "version": "10.19.6", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.6.tgz", - "integrity": "sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/preact" - } - }, - "node_modules/prettier": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "peer": true, - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/pretty-format/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "peer": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/pretty-format/node_modules/@types/yargs": { - "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", - "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", - "peer": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/pretty-format/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/pretty-format/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/pretty-format/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/pretty-format/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "peer": true - }, - "node_modules/pretty-format/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/process-warning": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", - "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" - }, - "node_modules/promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "peer": true, - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "peer": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "peer": true, - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/proxy-compare": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.5.1.tgz", - "integrity": "sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==" - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/qr-code-styling": { - "version": "1.6.0-rc.1", - "resolved": "https://registry.npmjs.org/qr-code-styling/-/qr-code-styling-1.6.0-rc.1.tgz", - "integrity": "sha512-ModRIiW6oUnsP18QzrRYZSc/CFKFKIdj7pUs57AEVH20ajlglRpN3HukjHk0UbNMTlKGuaYl7Gt6/O5Gg2NU2Q==", - "dependencies": { - "qrcode-generator": "^1.4.3" - } - }, - "node_modules/qrcode": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", - "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", - "dependencies": { - "dijkstrajs": "^1.0.1", - "encode-utf8": "^1.0.3", - "pngjs": "^5.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "qrcode": "bin/qrcode" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/qrcode-generator": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/qrcode-generator/-/qrcode-generator-1.4.4.tgz", - "integrity": "sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw==" - }, - "node_modules/qrcode-terminal-nooctal": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/qrcode-terminal-nooctal/-/qrcode-terminal-nooctal-0.12.1.tgz", - "integrity": "sha512-jy/kkD0iIMDjTucB+5T6KBsnirlhegDH47vHgrj5MejchSQmi/EAMM0xMFeePgV9CJkkAapNakpVUWYgHvtdKg==", - "bin": { - "qrcode-terminal": "bin/qrcode-terminal.js" - } - }, - "node_modules/query-string": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", - "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", - "dependencies": { - "decode-uri-component": "^0.2.2", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "peer": true, - "dependencies": { - "inherits": "~2.0.3" - } - }, - "node_modules/quick-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" - }, - "node_modules/radix3": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.0.tgz", - "integrity": "sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==" - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "peer": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-devtools-core": { - "version": "4.28.5", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.5.tgz", - "integrity": "sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA==", - "peer": true, - "dependencies": { - "shell-quote": "^1.6.1", - "ws": "^7" - } - }, - "node_modules/react-devtools-core/node_modules/utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "hasInstallScript": true, - "optional": true, - "peer": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, - "node_modules/react-devtools-core/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "peer": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-i18next": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-13.5.0.tgz", - "integrity": "sha512-CFJ5NDGJ2MUyBohEHxljOq/39NQ972rh1ajnadG9BjTk+UXbHLq4z5DKEbEQBDoIhUmmbuS/fIMJKo6VOax1HA==", - "dependencies": { - "@babel/runtime": "^7.22.5", - "html-parse-stringify": "^3.0.1" - }, - "peerDependencies": { - "i18next": ">= 23.2.3", - "react": ">= 16.8.0" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/react-native": { - "version": "0.73.5", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.73.5.tgz", - "integrity": "sha512-iHgDArmF4CrhL0qTj+Rn+CBN5pZWUL9lUGl8ub+V9Hwu/vnzQQh8rTMVSwVd2sV6N76KjpE5a4TfIAHkpIHhKg==", - "peer": true, - "dependencies": { - "@jest/create-cache-key-function": "^29.6.3", - "@react-native-community/cli": "12.3.6", - "@react-native-community/cli-platform-android": "12.3.6", - "@react-native-community/cli-platform-ios": "12.3.6", - "@react-native/assets-registry": "0.73.1", - "@react-native/codegen": "0.73.3", - "@react-native/community-cli-plugin": "0.73.17", - "@react-native/gradle-plugin": "0.73.4", - "@react-native/js-polyfills": "0.73.1", - "@react-native/normalize-colors": "0.73.2", - "@react-native/virtualized-lists": "0.73.4", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "ansi-regex": "^5.0.0", - "base64-js": "^1.5.1", - "chalk": "^4.0.0", - "deprecated-react-native-prop-types": "^5.0.0", - "event-target-shim": "^5.0.1", - "flow-enums-runtime": "^0.0.6", - "invariant": "^2.2.4", - "jest-environment-node": "^29.6.3", - "jsc-android": "^250231.0.0", - "memoize-one": "^5.0.0", - "metro-runtime": "^0.80.3", - "metro-source-map": "^0.80.3", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.3.0", - "react-devtools-core": "^4.27.7", - "react-refresh": "^0.14.0", - "react-shallow-renderer": "^16.15.0", - "regenerator-runtime": "^0.13.2", - "scheduler": "0.24.0-canary-efb381bbf-20230505", - "stacktrace-parser": "^0.1.10", - "whatwg-fetch": "^3.0.0", - "ws": "^6.2.2", - "yargs": "^17.6.2" - }, - "bin": { - "react-native": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "react": "18.2.0" - } - }, - "node_modules/react-native-webview": { - "version": "11.26.1", - "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.26.1.tgz", - "integrity": "sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw==", - "dependencies": { - "escape-string-regexp": "2.0.0", - "invariant": "2.2.4" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/react-native-webview/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-native/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/react-native/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/react-native/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "peer": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/react-native/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/react-native/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/react-native/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-native/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "peer": true - }, - "node_modules/react-native/node_modules/scheduler": { - "version": "0.24.0-canary-efb381bbf-20230505", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", - "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/react-native/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "peer": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-native/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-native/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/react-native/node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "peer": true, - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/react-native/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/react-native/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "peer": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/react-native/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-shallow-renderer": { - "version": "16.15.0", - "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", - "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", - "peer": true, - "dependencies": { - "object-assign": "^4.1.1", - "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/readline": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", - "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==", - "peer": true - }, - "node_modules/real-require": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz", - "integrity": "sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/recast": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", - "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", - "peer": true, - "dependencies": { - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/recast/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/recast/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "peer": true - }, - "node_modules/redis-errors": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", - "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/redis-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", - "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", - "dependencies": { - "redis-errors": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "peer": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "peer": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "peer": true, - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "peer": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "peer": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "peer": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup-plugin-visualizer": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", - "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", - "dependencies": { - "open": "^8.4.0", - "picomatch": "^2.3.1", - "source-map": "^0.7.4", - "yargs": "^17.5.1" - }, - "bin": { - "rollup-plugin-visualizer": "dist/bin/cli.js" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "rollup": "2.x || 3.x || 4.x" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/rollup-plugin-visualizer/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/rollup-plugin-visualizer/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/rollup-plugin-visualizer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/rollup-plugin-visualizer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/rollup-plugin-visualizer/node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rollup-plugin-visualizer/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/rollup-plugin-visualizer/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/rollup-plugin-visualizer/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/rollup-plugin-visualizer/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/rollup-plugin-visualizer/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/rollup-plugin-visualizer/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safe-stable-stringify": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", - "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", - "engines": { - "node": ">=10" - } - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/secp256k1": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-5.0.0.tgz", - "integrity": "sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==", - "hasInstallScript": true, - "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^5.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/secp256k1/node_modules/node-addon-api": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", - "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" - }, - "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "peer": true, - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "peer": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "peer": true - }, - "node_modules/send/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "peer": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "peer": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "peer": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, - "node_modules/set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", - "dependencies": { - "define-data-property": "^1.1.2", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "peer": true - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "peer": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "peer": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "peer": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "peer": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "peer": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/socket.io-client": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.4.tgz", - "integrity": "sha512-wh+OkeF0rAVCrABWQBaEjLfb7DVPotMbu0cgWgyR0v6eA4EoVnAwcIeIbcdTE3GT/H3kbdLl7OoH2+asoDRIIg==", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", - "engine.io-client": "~6.5.2", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/sonic-boom": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz", - "integrity": "sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==", - "dependencies": { - "atomic-sleep": "^1.0.0" - } - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "peer": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "peer": true - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "peer": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "peer": true - }, - "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "peer": true, - "dependencies": { - "type-fest": "^0.7.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/standard-as-callback": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", - "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "peer": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/std-env": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", - "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" - }, - "node_modules/stream-shift": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", - "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==" - }, - "node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "peer": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", - "peer": true - }, - "node_modules/stylis": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" - }, - "node_modules/sudo-prompt": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", - "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", - "peer": true - }, - "node_modules/superstruct": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.3.tgz", - "integrity": "sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/system-architecture": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", - "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", - "peer": true, - "dependencies": { - "rimraf": "~2.6.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/temp/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/terser": { - "version": "5.28.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.28.1.tgz", - "integrity": "sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==", - "peer": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "peer": true - }, - "node_modules/thread-stream": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-0.15.2.tgz", - "integrity": "sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==", - "dependencies": { - "real-require": "^0.1.0" - } - }, - "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "peer": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "peer": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "peer": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "peer": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "devOptional": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/ufo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", - "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" - }, - "node_modules/uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "dependencies": { - "multiformats": "^9.4.2" - } - }, - "node_modules/uncrypto": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", - "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==" - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "node_modules/unenv": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/unenv/-/unenv-1.9.0.tgz", - "integrity": "sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==", - "dependencies": { - "consola": "^3.2.3", - "defu": "^6.1.3", - "mime": "^3.0.0", - "node-fetch-native": "^1.6.1", - "pathe": "^1.1.1" - } - }, - "node_modules/unenv/node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/unfetch": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", - "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==" - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "peer": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "peer": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "peer": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unstorage": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.1.tgz", - "integrity": "sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==", - "dependencies": { - "anymatch": "^3.1.3", - "chokidar": "^3.5.3", - "destr": "^2.0.2", - "h3": "^1.8.2", - "ioredis": "^5.3.2", - "listhen": "^1.5.5", - "lru-cache": "^10.0.2", - "mri": "^1.2.0", - "node-fetch-native": "^1.4.1", - "ofetch": "^1.3.3", - "ufo": "^1.3.1" - }, - "peerDependencies": { - "@azure/app-configuration": "^1.4.1", - "@azure/cosmos": "^4.0.0", - "@azure/data-tables": "^13.2.2", - "@azure/identity": "^3.3.2", - "@azure/keyvault-secrets": "^4.7.0", - "@azure/storage-blob": "^12.16.0", - "@capacitor/preferences": "^5.0.6", - "@netlify/blobs": "^6.2.0", - "@planetscale/database": "^1.11.0", - "@upstash/redis": "^1.23.4", - "@vercel/kv": "^0.2.3", - "idb-keyval": "^6.2.1" - }, - "peerDependenciesMeta": { - "@azure/app-configuration": { - "optional": true - }, - "@azure/cosmos": { - "optional": true - }, - "@azure/data-tables": { - "optional": true - }, - "@azure/identity": { - "optional": true - }, - "@azure/keyvault-secrets": { - "optional": true - }, - "@azure/storage-blob": { - "optional": true - }, - "@capacitor/preferences": { - "optional": true - }, - "@netlify/blobs": { - "optional": true - }, - "@planetscale/database": { - "optional": true - }, - "@upstash/redis": { - "optional": true - }, - "@vercel/kv": { - "optional": true - }, - "idb-keyval": { - "optional": true - } - } - }, - "node_modules/unstorage/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/untun": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/untun/-/untun-0.1.3.tgz", - "integrity": "sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==", - "dependencies": { - "citty": "^0.1.5", - "consola": "^3.2.3", - "pathe": "^1.1.1" - }, - "bin": { - "untun": "bin/untun.mjs" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "peer": true, - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uqr": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/uqr/-/uqr-0.1.2.tgz", - "integrity": "sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==" - }, - "node_modules/use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/utf-8-validate": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-6.0.3.tgz", - "integrity": "sha512-uIuGf9TWQ/y+0Lp+KGZCMuJWc3N9BHA+l/UmHd/oUHwJJDeysyTRxNQVkbzsIWfGFbRe3OcgML/i0mvVRPOyDA==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "peer": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/valtio": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.11.2.tgz", - "integrity": "sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw==", - "dependencies": { - "proxy-compare": "2.5.1", - "use-sync-external-store": "1.2.0" - }, - "engines": { - "node": ">=12.20.0" - }, - "peerDependencies": { - "@types/react": ">=16.8", - "react": ">=16.8" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "react": { - "optional": true - } - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "peer": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/viem": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/viem/-/viem-2.7.16.tgz", - "integrity": "sha512-yOPa9yaoJUm44m0Qe3ugHnkHol3QQlFxN3jT+bq+lQip7X7cWdPfmguyfLWX2viCXcmYZUDiQdeFbkPW9lw11Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/wevm" - } - ], - "peer": true, - "dependencies": { - "@adraffy/ens-normalize": "1.10.0", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@scure/bip32": "1.3.2", - "@scure/bip39": "1.2.1", - "abitype": "1.0.0", - "isows": "1.0.3", - "ws": "8.13.0" - }, - "peerDependencies": { - "typescript": ">=5.0.4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/vlq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", - "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", - "peer": true - }, - "node_modules/void-elements": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", - "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wagmi": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-2.5.7.tgz", - "integrity": "sha512-xSuteMXFKvra4xDddqZbZv/gQlcg3X+To5AoZW7WoAm0iVlF8/vEGpQzCWy6KZs2z1szxPrr0YnH3Zr1Qj4E/A==", - "dependencies": { - "@wagmi/connectors": "4.1.14", - "@wagmi/core": "2.6.5", - "use-sync-external-store": "1.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/wevm" - }, - "peerDependencies": { - "@tanstack/react-query": ">=5.0.0", - "react": ">=18", - "typescript": ">=5.0.4", - "viem": "2.x" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "peer": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "peer": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webextension-polyfill": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.10.0.tgz", - "integrity": "sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==" - }, - "node_modules/webextension-polyfill-ts": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill-ts/-/webextension-polyfill-ts-0.25.0.tgz", - "integrity": "sha512-ikQhwwHYkpBu00pFaUzIKY26I6L87DeRI+Q6jBT1daZUNuu8dSrg5U9l/ZbqdaQ1M/TTSPKeAa3kolP5liuedw==", - "deprecated": "This project has moved to @types/webextension-polyfill", - "dependencies": { - "webextension-polyfill": "^0.7.0" - } - }, - "node_modules/webextension-polyfill-ts/node_modules/webextension-polyfill": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.7.0.tgz", - "integrity": "sha512-su48BkMLxqzTTvPSE1eWxKToPS2Tv5DLGxKexLEVpwFd6Po6N8hhSLIvG6acPAg7qERoEaDL+Y5HQJeJeml5Aw==" - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/whatwg-fetch": { - "version": "3.6.20", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", - "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", - "peer": true - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" - }, - "node_modules/which-typed-array": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", - "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", - "dependencies": { - "available-typed-arrays": "^1.0.6", - "call-bind": "^1.0.5", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "peer": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "node_modules/ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xmlhttprequest-ssl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", - "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "peer": true - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-parser/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zustand": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.4.1.tgz", - "integrity": "sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==", - "dependencies": { - "use-sync-external-store": "1.2.0" - }, - "engines": { - "node": ">=12.7.0" - }, - "peerDependencies": { - "@types/react": ">=16.8", - "immer": ">=9.0", - "react": ">=16.8" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "immer": { - "optional": true - }, - "react": { - "optional": true - } - } - } - }, - "dependencies": { - "@adraffy/ens-normalize": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz", - "integrity": "sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==" - }, - "@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "peer": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "requires": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - } - }, - "@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "peer": true - }, - "@babel/core": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", - "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", - "peer": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.0", - "@babel/parser": "^7.24.0", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "dependencies": { - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "peer": true - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true - } - } - }, - "@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "peer": true, - "requires": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "peer": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", - "peer": true, - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "peer": true, - "requires": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", - "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", - "peer": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", - "peer": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true - } - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", - "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", - "peer": true, - "requires": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "peer": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "peer": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "peer": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", - "peer": true, - "requires": { - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "peer": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "peer": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "peer": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", - "peer": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" - } - }, - "@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", - "peer": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "peer": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "peer": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "peer": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" - }, - "@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "peer": true - }, - "@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", - "peer": true, - "requires": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" - } - }, - "@babel/helpers": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", - "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", - "peer": true, - "requires": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0" - } - }, - "@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", - "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", - "peer": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.23.3" - } - }, - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", - "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", - "peer": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", - "peer": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "peer": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-export-default-from": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.23.3.tgz", - "integrity": "sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-default-from": "^7.23.3" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "peer": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "peer": true, - "requires": {} - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-default-from": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz", - "integrity": "sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", - "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "peer": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", - "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", - "peer": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", - "peer": true, - "requires": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", - "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", - "peer": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-static-block": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", - "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", - "peer": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", - "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", - "peer": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", - "peer": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", - "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", - "peer": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", - "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", - "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.23.3" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", - "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", - "peer": true, - "requires": { - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-json-strings": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", - "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", - "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", - "peer": true, - "requires": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", - "peer": true, - "requires": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", - "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", - "peer": true, - "requires": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", - "peer": true, - "requires": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "peer": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", - "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", - "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz", - "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==", - "peer": true, - "requires": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" - } - }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", - "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", - "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", - "peer": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", - "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", - "peer": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", - "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", - "peer": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" - } - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", - "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", - "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.0.tgz", - "integrity": "sha512-zc0GA5IitLKJrSfXlXmp8KDqLrnGECK7YRfQBmEKg1NmBOQ7e+KuclBEKJgzifQeUYLdNiAw4B4bjyvzWVLiSA==", - "peer": true, - "requires": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", - "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", - "peer": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.23.3" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", - "peer": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", - "peer": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", - "peer": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/preset-env": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.0.tgz", - "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", - "peer": true, - "requires": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.9", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.8", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.6", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.9", - "@babel/plugin-transform-modules-umd": "^7.23.3", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.24.0", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true - } - } - }, - "@babel/preset-flow": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.0.tgz", - "integrity": "sha512-cum/nSi82cDaSJ21I4PgLTVlj0OXovFk6GRguJYe/IKg6y6JHLTbJhybtX4k35WT9wdeJfEVjycTixMhBHd0Dg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-transform-flow-strip-types": "^7.23.3" - } - }, - "@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", - "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-typescript": "^7.23.3" - } - }, - "@babel/register": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz", - "integrity": "sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==", - "peer": true, - "requires": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.6", - "source-map-support": "^0.5.16" - } - }, - "@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "peer": true - }, - "@babel/runtime": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", - "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - } - }, - "@babel/traverse": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", - "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "requires": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@coinbase/wallet-sdk": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.9.1.tgz", - "integrity": "sha512-cGUE8wm1/cMI8irRMVOqbFWYcnNugqCtuy2lnnHfgloBg+GRLs9RsrkOUDMdv/StfUeeKhCDyYudsXXvcL1xIA==", - "requires": { - "bn.js": "^5.2.1", - "buffer": "^6.0.3", - "clsx": "^1.2.1", - "eth-block-tracker": "^7.1.0", - "eth-json-rpc-filters": "^6.0.0", - "eventemitter3": "^5.0.1", - "keccak": "^3.0.3", - "preact": "^10.16.0", - "sha.js": "^2.4.11" - } - }, - "@emotion/babel-plugin": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", - "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/serialize": "^1.1.2", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.2.0" - } - }, - "@emotion/cache": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", - "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", - "requires": { - "@emotion/memoize": "^0.8.1", - "@emotion/sheet": "^1.2.2", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "stylis": "4.2.0" - } - }, - "@emotion/hash": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", - "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" - }, - "@emotion/is-prop-valid": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", - "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", - "requires": { - "@emotion/memoize": "^0.8.1" - } - }, - "@emotion/memoize": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" - }, - "@emotion/react": { - "version": "11.11.4", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz", - "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==", - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/cache": "^11.11.0", - "@emotion/serialize": "^1.1.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "hoist-non-react-statics": "^3.3.1" - } - }, - "@emotion/serialize": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.3.tgz", - "integrity": "sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==", - "requires": { - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/unitless": "^0.8.1", - "@emotion/utils": "^1.2.1", - "csstype": "^3.0.2" - } - }, - "@emotion/sheet": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", - "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" - }, - "@emotion/styled": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", - "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/is-prop-valid": "^1.2.1", - "@emotion/serialize": "^1.1.2", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1" - } - }, - "@emotion/unitless": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", - "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" - }, - "@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", - "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", - "requires": {} - }, - "@emotion/utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" - }, - "@emotion/weak-memoize": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", - "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" - }, - "@ethereumjs/common": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-3.2.0.tgz", - "integrity": "sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA==", - "requires": { - "@ethereumjs/util": "^8.1.0", - "crc-32": "^1.2.0" - } - }, - "@ethereumjs/rlp": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", - "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==" - }, - "@ethereumjs/tx": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-4.2.0.tgz", - "integrity": "sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw==", - "requires": { - "@ethereumjs/common": "^3.2.0", - "@ethereumjs/rlp": "^4.0.1", - "@ethereumjs/util": "^8.1.0", - "ethereum-cryptography": "^2.0.0" - } - }, - "@ethereumjs/util": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", - "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", - "requires": { - "@ethereumjs/rlp": "^4.0.1", - "ethereum-cryptography": "^2.0.0", - "micro-ftch": "^0.3.1" - } - }, - "@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "peer": true - }, - "@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "peer": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@ioredis/commands": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", - "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==" - }, - "@isaacs/ttlcache": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", - "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", - "peer": true - }, - "@jest/create-cache-key-function": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", - "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", - "peer": true, - "requires": { - "@jest/types": "^29.6.3" - } - }, - "@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", - "peer": true, - "requires": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - } - }, - "@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", - "peer": true, - "requires": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "peer": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "peer": true, - "requires": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "peer": true, - "requires": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "peer": true - }, - "@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "peer": true - }, - "@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "peer": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "peer": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.24.tgz", - "integrity": "sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q==", - "peer": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@lit-labs/ssr-dom-shim": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.0.tgz", - "integrity": "sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==" - }, - "@lit/reactive-element": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", - "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", - "requires": { - "@lit-labs/ssr-dom-shim": "^1.0.0" - } - }, - "@metamask/eth-json-rpc-provider": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@metamask/eth-json-rpc-provider/-/eth-json-rpc-provider-1.0.1.tgz", - "integrity": "sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA==", - "requires": { - "@metamask/json-rpc-engine": "^7.0.0", - "@metamask/safe-event-emitter": "^3.0.0", - "@metamask/utils": "^5.0.1" - }, - "dependencies": { - "@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==" - } - } - }, - "@metamask/json-rpc-engine": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@metamask/json-rpc-engine/-/json-rpc-engine-7.3.2.tgz", - "integrity": "sha512-dVjBPlni4CoiBpESVqrxh6k4OR14w6GRXKSSXHFuITjuhALE42gNCkXTpL4cjNeOBUgTba3eGe5EI8cyc2QLRg==", - "requires": { - "@metamask/rpc-errors": "^6.1.0", - "@metamask/safe-event-emitter": "^3.0.0", - "@metamask/utils": "^8.3.0" - }, - "dependencies": { - "@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==" - }, - "@metamask/utils": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-8.3.0.tgz", - "integrity": "sha512-WFVcMPEkKKRCJ8DDkZUTVbLlpwgRn98F4VM/WzN89HM8PmHMnCyk/oG0AmK/seOxtik7uC7Bbi2YBC5Z5XB2zw==", - "requires": { - "@ethereumjs/tx": "^4.2.0", - "@noble/hashes": "^1.3.1", - "@scure/base": "^1.1.3", - "@types/debug": "^4.1.7", - "debug": "^4.3.4", - "pony-cause": "^2.1.10", - "semver": "^7.5.4", - "superstruct": "^1.0.3" - } - } - } - }, - "@metamask/object-multiplex": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@metamask/object-multiplex/-/object-multiplex-1.3.0.tgz", - "integrity": "sha512-czcQeVYdSNtabd+NcYQnrM69MciiJyd1qvKH8WM2Id3C0ZiUUX5Xa/MK+/VUk633DBhVOwdNzAKIQ33lGyA+eQ==", - "requires": { - "end-of-stream": "^1.4.4", - "once": "^1.4.0", - "readable-stream": "^2.3.3" - } - }, - "@metamask/onboarding": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@metamask/onboarding/-/onboarding-1.0.1.tgz", - "integrity": "sha512-FqHhAsCI+Vacx2qa5mAFcWNSrTcVGMNjzxVgaX8ECSny/BJ9/vgXP9V7WF/8vb9DltPeQkxr+Fnfmm6GHfmdTQ==", - "requires": { - "bowser": "^2.9.0" - } - }, - "@metamask/post-message-stream": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@metamask/post-message-stream/-/post-message-stream-6.2.0.tgz", - "integrity": "sha512-WunZ0bruClF862mvbKQGETn5SM0XKGmocPMQR1Ew6sYix9/FDzeoZnoI8RkXk01E+70FCdxhTE/r8kk5SFOuTw==", - "requires": { - "@metamask/utils": "^5.0.0", - "readable-stream": "2.3.3" - }, - "dependencies": { - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==" - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "@metamask/providers": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@metamask/providers/-/providers-10.2.1.tgz", - "integrity": "sha512-p2TXw2a1Nb8czntDGfeIYQnk4LLVbd5vlcb3GY//lylYlKdSqp+uUTegCvxiFblRDOT68jsY8Ib1VEEzVUOolA==", - "requires": { - "@metamask/object-multiplex": "^1.1.0", - "@metamask/safe-event-emitter": "^2.0.0", - "@types/chrome": "^0.0.136", - "detect-browser": "^5.2.0", - "eth-rpc-errors": "^4.0.2", - "extension-port-stream": "^2.0.1", - "fast-deep-equal": "^2.0.1", - "is-stream": "^2.0.0", - "json-rpc-engine": "^6.1.0", - "json-rpc-middleware-stream": "^4.2.1", - "pump": "^3.0.0", - "webextension-polyfill-ts": "^0.25.0" - } - }, - "@metamask/rpc-errors": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@metamask/rpc-errors/-/rpc-errors-6.2.1.tgz", - "integrity": "sha512-VTgWkjWLzb0nupkFl1duQi9Mk8TGT9rsdnQg6DeRrYEFxtFOh0IF8nAwxM/4GWqDl6uIB06lqUBgUrAVWl62Bw==", - "requires": { - "@metamask/utils": "^8.3.0", - "fast-safe-stringify": "^2.0.6" - }, - "dependencies": { - "@metamask/utils": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-8.3.0.tgz", - "integrity": "sha512-WFVcMPEkKKRCJ8DDkZUTVbLlpwgRn98F4VM/WzN89HM8PmHMnCyk/oG0AmK/seOxtik7uC7Bbi2YBC5Z5XB2zw==", - "requires": { - "@ethereumjs/tx": "^4.2.0", - "@noble/hashes": "^1.3.1", - "@scure/base": "^1.1.3", - "@types/debug": "^4.1.7", - "debug": "^4.3.4", - "pony-cause": "^2.1.10", - "semver": "^7.5.4", - "superstruct": "^1.0.3" - } - } - } - }, - "@metamask/safe-event-emitter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", - "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==" - }, - "@metamask/sdk": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/@metamask/sdk/-/sdk-0.14.3.tgz", - "integrity": "sha512-BYLs//nY2wioVSih78gOQI6sLIYY3vWkwVqXGYUgkBV+bi49bv+9S0m+hZ2cwiRaxfMYtKs0KvhAQ8weiYwDrg==", - "requires": { - "@metamask/onboarding": "^1.0.1", - "@metamask/post-message-stream": "^6.1.0", - "@metamask/providers": "^10.2.1", - "@metamask/sdk-communication-layer": "0.14.3", - "@metamask/sdk-install-modal-web": "0.14.1", - "@react-native-async-storage/async-storage": "^1.17.11", - "@types/dom-screen-wake-lock": "^1.0.0", - "bowser": "^2.9.0", - "cross-fetch": "^4.0.0", - "eciesjs": "^0.3.15", - "eth-rpc-errors": "^4.0.3", - "eventemitter2": "^6.4.7", - "extension-port-stream": "^2.0.1", - "i18next": "22.5.1", - "i18next-browser-languagedetector": "^7.1.0", - "obj-multiplex": "^1.0.0", - "pump": "^3.0.0", - "qrcode-terminal-nooctal": "^0.12.1", - "react-i18next": "^13.2.2", - "react-native-webview": "^11.26.0", - "readable-stream": "^2.3.7", - "rollup-plugin-visualizer": "^5.9.2", - "socket.io-client": "^4.5.1", - "util": "^0.12.4", - "uuid": "^8.3.2" - }, - "dependencies": { - "i18next": { - "version": "22.5.1", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz", - "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==", - "requires": { - "@babel/runtime": "^7.20.6" - } - } - } - }, - "@metamask/sdk-communication-layer": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.14.3.tgz", - "integrity": "sha512-yjSbj8y7fFbQXv2HBzUX6D9C8BimkCYP6BDV7hdw53W8b/GlYCtXVxUFajQ9tuO1xPTRjR/xt/dkdr2aCi6WGw==", - "requires": { - "bufferutil": "^4.0.8", - "cross-fetch": "^3.1.5", - "date-fns": "^2.29.3", - "eciesjs": "^0.3.16", - "eventemitter2": "^6.4.5", - "socket.io-client": "^4.5.1", - "utf-8-validate": "^6.0.3", - "uuid": "^8.3.2" - }, - "dependencies": { - "cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "requires": { - "node-fetch": "^2.6.12" - } - } - } - }, - "@metamask/sdk-install-modal-web": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.14.1.tgz", - "integrity": "sha512-emT8HKbnfVwGhPxyUfMja6DWzvtJvDEBQxqCVx93H0HsyrrOzOC43iGCAosslw6o5h7gOfRKLqWmK8V7jQAS2Q==", - "requires": { - "@emotion/react": "^11.10.6", - "@emotion/styled": "^11.10.6", - "i18next": "22.5.1", - "qr-code-styling": "^1.6.0-rc.1", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-i18next": "^13.2.2" - }, - "dependencies": { - "i18next": { - "version": "22.5.1", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz", - "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==", - "requires": { - "@babel/runtime": "^7.20.6" - } - } - } - }, - "@metamask/utils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-5.0.2.tgz", - "integrity": "sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g==", - "requires": { - "@ethereumjs/tx": "^4.1.2", - "@types/debug": "^4.1.7", - "debug": "^4.3.4", - "semver": "^7.3.8", - "superstruct": "^1.0.3" - } - }, - "@motionone/animation": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.17.0.tgz", - "integrity": "sha512-ANfIN9+iq1kGgsZxs+Nz96uiNcPLGTXwfNo2Xz/fcJXniPYpaz/Uyrfa+7I5BPLxCP82sh7quVDudf1GABqHbg==", - "requires": { - "@motionone/easing": "^10.17.0", - "@motionone/types": "^10.17.0", - "@motionone/utils": "^10.17.0", - "tslib": "^2.3.1" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } - } - }, - "@motionone/dom": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.17.0.tgz", - "integrity": "sha512-cMm33swRlCX/qOPHWGbIlCl0K9Uwi6X5RiL8Ma6OrlJ/TP7Q+Np5GE4xcZkFptysFjMTi4zcZzpnNQGQ5D6M0Q==", - "requires": { - "@motionone/animation": "^10.17.0", - "@motionone/generators": "^10.17.0", - "@motionone/types": "^10.17.0", - "@motionone/utils": "^10.17.0", - "hey-listen": "^1.0.8", - "tslib": "^2.3.1" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } - } - }, - "@motionone/easing": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.17.0.tgz", - "integrity": "sha512-Bxe2wSuLu/qxqW4rBFS5m9tMLOw+QBh8v5A7Z5k4Ul4sTj5jAOfZG5R0bn5ywmk+Fs92Ij1feZ5pmC4TeXA8Tg==", - "requires": { - "@motionone/utils": "^10.17.0", - "tslib": "^2.3.1" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } - } - }, - "@motionone/generators": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.17.0.tgz", - "integrity": "sha512-T6Uo5bDHrZWhIfxG/2Aut7qyWQyJIWehk6OB4qNvr/jwA/SRmixwbd7SOrxZi1z5rH3LIeFFBKK1xHnSbGPZSQ==", - "requires": { - "@motionone/types": "^10.17.0", - "@motionone/utils": "^10.17.0", - "tslib": "^2.3.1" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } - } - }, - "@motionone/svelte": { - "version": "10.16.4", - "resolved": "https://registry.npmjs.org/@motionone/svelte/-/svelte-10.16.4.tgz", - "integrity": "sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA==", - "requires": { - "@motionone/dom": "^10.16.4", - "tslib": "^2.3.1" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } - } - }, - "@motionone/types": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.17.0.tgz", - "integrity": "sha512-EgeeqOZVdRUTEHq95Z3t8Rsirc7chN5xFAPMYFobx8TPubkEfRSm5xihmMUkbaR2ErKJTUw3347QDPTHIW12IA==" - }, - "@motionone/utils": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.17.0.tgz", - "integrity": "sha512-bGwrki4896apMWIj9yp5rAS2m0xyhxblg6gTB/leWDPt+pb410W8lYWsxyurX+DH+gO1zsQsfx2su/c1/LtTpg==", - "requires": { - "@motionone/types": "^10.17.0", - "hey-listen": "^1.0.8", - "tslib": "^2.3.1" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } - } - }, - "@motionone/vue": { - "version": "10.16.4", - "resolved": "https://registry.npmjs.org/@motionone/vue/-/vue-10.16.4.tgz", - "integrity": "sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg==", - "requires": { - "@motionone/dom": "^10.16.4", - "tslib": "^2.3.1" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } - } - }, - "@noble/curves": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", - "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", - "requires": { - "@noble/hashes": "1.3.2" - } - }, - "@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==" - }, - "@parcel/watcher": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", - "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", - "requires": { - "@parcel/watcher-android-arm64": "2.4.1", - "@parcel/watcher-darwin-arm64": "2.4.1", - "@parcel/watcher-darwin-x64": "2.4.1", - "@parcel/watcher-freebsd-x64": "2.4.1", - "@parcel/watcher-linux-arm-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-musl": "2.4.1", - "@parcel/watcher-linux-x64-glibc": "2.4.1", - "@parcel/watcher-linux-x64-musl": "2.4.1", - "@parcel/watcher-win32-arm64": "2.4.1", - "@parcel/watcher-win32-ia32": "2.4.1", - "@parcel/watcher-win32-x64": "2.4.1", - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "dependencies": { - "node-addon-api": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz", - "integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==" - } - } - }, - "@parcel/watcher-android-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", - "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", - "optional": true - }, - "@parcel/watcher-darwin-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", - "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", - "optional": true - }, - "@parcel/watcher-darwin-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", - "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", - "optional": true - }, - "@parcel/watcher-freebsd-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", - "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", - "optional": true - }, - "@parcel/watcher-linux-arm-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", - "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", - "optional": true - }, - "@parcel/watcher-linux-arm64-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", - "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", - "optional": true - }, - "@parcel/watcher-linux-arm64-musl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", - "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", - "optional": true - }, - "@parcel/watcher-linux-x64-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", - "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", - "optional": true - }, - "@parcel/watcher-linux-x64-musl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", - "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", - "optional": true - }, - "@parcel/watcher-wasm": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.4.1.tgz", - "integrity": "sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==", - "requires": { - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "napi-wasm": "^1.1.0" - }, - "dependencies": { - "napi-wasm": { - "version": "1.1.0", - "bundled": true - } - } - }, - "@parcel/watcher-win32-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", - "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", - "optional": true - }, - "@parcel/watcher-win32-ia32": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", - "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", - "optional": true - }, - "@parcel/watcher-win32-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", - "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", - "optional": true - }, - "@react-native-async-storage/async-storage": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.22.3.tgz", - "integrity": "sha512-Ov3wjuqxHd62tLYfgTjxj77YRYWra3A4Fi8uICIPcePgNO2WkS5B0ADXt9e/JLzSCNqVlXCq4Fir/gHmZTU9ww==", - "requires": { - "merge-options": "^3.0.4" - } - }, - "@react-native-community/cli": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-12.3.6.tgz", - "integrity": "sha512-647OSi6xBb8FbwFqX9zsJxOzu685AWtrOUWHfOkbKD+5LOpGORw+GQo0F9rWZnB68rLQyfKUZWJeaD00pGv5fw==", - "peer": true, - "requires": { - "@react-native-community/cli-clean": "12.3.6", - "@react-native-community/cli-config": "12.3.6", - "@react-native-community/cli-debugger-ui": "12.3.6", - "@react-native-community/cli-doctor": "12.3.6", - "@react-native-community/cli-hermes": "12.3.6", - "@react-native-community/cli-plugin-metro": "12.3.6", - "@react-native-community/cli-server-api": "12.3.6", - "@react-native-community/cli-tools": "12.3.6", - "@react-native-community/cli-types": "12.3.6", - "chalk": "^4.1.2", - "commander": "^9.4.1", - "deepmerge": "^4.3.0", - "execa": "^5.0.0", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0", - "graceful-fs": "^4.1.3", - "prompts": "^2.4.2", - "semver": "^7.5.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@react-native-community/cli-clean": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-12.3.6.tgz", - "integrity": "sha512-gUU29ep8xM0BbnZjwz9MyID74KKwutq9x5iv4BCr2im6nly4UMf1B1D+V225wR7VcDGzbgWjaezsJShLLhC5ig==", - "peer": true, - "requires": { - "@react-native-community/cli-tools": "12.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@react-native-community/cli-config": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-12.3.6.tgz", - "integrity": "sha512-JGWSYQ9EAK6m2v0abXwFLEfsqJ1zkhzZ4CV261QZF9MoUNB6h57a274h1MLQR9mG6Tsh38wBUuNfEPUvS1vYew==", - "peer": true, - "requires": { - "@react-native-community/cli-tools": "12.3.6", - "chalk": "^4.1.2", - "cosmiconfig": "^5.1.0", - "deepmerge": "^4.3.0", - "glob": "^7.1.3", - "joi": "^17.2.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "peer": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "peer": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "peer": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@react-native-community/cli-debugger-ui": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.6.tgz", - "integrity": "sha512-SjUKKsx5FmcK9G6Pb6UBFT0s9JexVStK5WInmANw75Hm7YokVvHEgtprQDz2Uvy5znX5g2ujzrkIU//T15KQzA==", - "peer": true, - "requires": { - "serve-static": "^1.13.1" - } - }, - "@react-native-community/cli-doctor": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-12.3.6.tgz", - "integrity": "sha512-fvBDv2lTthfw4WOQKkdTop2PlE9GtfrlNnpjB818MhcdEnPjfQw5YaTUcnNEGsvGomdCs1MVRMgYXXwPSN6OvQ==", - "peer": true, - "requires": { - "@react-native-community/cli-config": "12.3.6", - "@react-native-community/cli-platform-android": "12.3.6", - "@react-native-community/cli-platform-ios": "12.3.6", - "@react-native-community/cli-tools": "12.3.6", - "chalk": "^4.1.2", - "command-exists": "^1.2.8", - "deepmerge": "^4.3.0", - "envinfo": "^7.10.0", - "execa": "^5.0.0", - "hermes-profile-transformer": "^0.0.6", - "node-stream-zip": "^1.9.1", - "ora": "^5.4.1", - "semver": "^7.5.2", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1", - "yaml": "^2.2.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yaml": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.0.tgz", - "integrity": "sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ==", - "peer": true - } - } - }, - "@react-native-community/cli-hermes": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-12.3.6.tgz", - "integrity": "sha512-sNGwfOCl8OAIjWCkwuLpP8NZbuO0dhDI/2W7NeOGDzIBsf4/c4MptTrULWtGIH9okVPLSPX0NnRyGQ+mSwWyuQ==", - "peer": true, - "requires": { - "@react-native-community/cli-platform-android": "12.3.6", - "@react-native-community/cli-tools": "12.3.6", - "chalk": "^4.1.2", - "hermes-profile-transformer": "^0.0.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@react-native-community/cli-platform-android": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.6.tgz", - "integrity": "sha512-DeDDAB8lHpuGIAPXeeD9Qu2+/wDTFPo99c8uSW49L0hkmZJixzvvvffbGQAYk32H0TmaI7rzvzH+qzu7z3891g==", - "peer": true, - "requires": { - "@react-native-community/cli-tools": "12.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "fast-xml-parser": "^4.2.4", - "glob": "^7.1.3", - "logkitty": "^0.7.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@react-native-community/cli-platform-ios": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.6.tgz", - "integrity": "sha512-3eZ0jMCkKUO58wzPWlvAPRqezVKm9EPZyaPyHbRPWU8qw7JqkvnRlWIaYDGpjCJgVW4k2hKsEursLtYKb188tg==", - "peer": true, - "requires": { - "@react-native-community/cli-tools": "12.3.6", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "fast-xml-parser": "^4.0.12", - "glob": "^7.1.3", - "ora": "^5.4.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@react-native-community/cli-plugin-metro": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.6.tgz", - "integrity": "sha512-3jxSBQt4fkS+KtHCPSyB5auIT+KKIrPCv9Dk14FbvOaEh9erUWEm/5PZWmtboW1z7CYeNbFMeXm9fM2xwtVOpg==", - "peer": true - }, - "@react-native-community/cli-server-api": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-12.3.6.tgz", - "integrity": "sha512-80NIMzo8b2W+PL0Jd7NjiJW9mgaT8Y8wsIT/lh6mAvYH7mK0ecDJUYUTAAv79Tbo1iCGPAr3T295DlVtS8s4yQ==", - "peer": true, - "requires": { - "@react-native-community/cli-debugger-ui": "12.3.6", - "@react-native-community/cli-tools": "12.3.6", - "compression": "^1.7.1", - "connect": "^3.6.5", - "errorhandler": "^1.5.1", - "nocache": "^3.0.1", - "pretty-format": "^26.6.2", - "serve-static": "^1.13.1", - "ws": "^7.5.1" - }, - "dependencies": { - "utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "optional": true, - "peer": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "peer": true, - "requires": {} - } - } - }, - "@react-native-community/cli-tools": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-12.3.6.tgz", - "integrity": "sha512-FPEvZn19UTMMXUp/piwKZSh8cMEfO8G3KDtOwo53O347GTcwNrKjgZGtLSPELBX2gr+YlzEft3CoRv2Qmo83fQ==", - "peer": true, - "requires": { - "appdirsjs": "^1.2.4", - "chalk": "^4.1.2", - "find-up": "^5.0.0", - "mime": "^2.4.1", - "node-fetch": "^2.6.0", - "open": "^6.2.0", - "ora": "^5.4.1", - "semver": "^7.5.2", - "shell-quote": "^1.7.3", - "sudo-prompt": "^9.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "peer": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "peer": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "peer": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "peer": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@react-native-community/cli-types": { - "version": "12.3.6", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-12.3.6.tgz", - "integrity": "sha512-xPqTgcUtZowQ8WKOkI9TLGBwH2bGggOC4d2FFaIRST3gTcjrEeGRNeR5aXCzJFIgItIft8sd7p2oKEdy90+01Q==", - "peer": true, - "requires": { - "joi": "^17.2.1" - } - }, - "@react-native/assets-registry": { - "version": "0.73.1", - "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.73.1.tgz", - "integrity": "sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg==", - "peer": true - }, - "@react-native/babel-plugin-codegen": { - "version": "0.73.4", - "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.4.tgz", - "integrity": "sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ==", - "peer": true, - "requires": { - "@react-native/codegen": "0.73.3" - } - }, - "@react-native/babel-preset": { - "version": "0.73.21", - "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.73.21.tgz", - "integrity": "sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA==", - "peer": true, - "requires": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.18.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.20.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.20.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.20.0", - "@babel/plugin-transform-flow-strip-types": "^7.20.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "@react-native/babel-plugin-codegen": "0.73.4", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.14.0" - } - }, - "@react-native/codegen": { - "version": "0.73.3", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.3.tgz", - "integrity": "sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg==", - "peer": true, - "requires": { - "@babel/parser": "^7.20.0", - "flow-parser": "^0.206.0", - "glob": "^7.1.1", - "invariant": "^2.2.4", - "jscodeshift": "^0.14.0", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1" - } - }, - "@react-native/community-cli-plugin": { - "version": "0.73.17", - "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.17.tgz", - "integrity": "sha512-F3PXZkcHg+1ARIr6FRQCQiB7ZAA+MQXGmq051metRscoLvgYJwj7dgC8pvgy0kexzUkHu5BNKrZeySzUft3xuQ==", - "peer": true, - "requires": { - "@react-native-community/cli-server-api": "12.3.6", - "@react-native-community/cli-tools": "12.3.6", - "@react-native/dev-middleware": "0.73.8", - "@react-native/metro-babel-transformer": "0.73.15", - "chalk": "^4.0.0", - "execa": "^5.1.1", - "metro": "^0.80.3", - "metro-config": "^0.80.3", - "metro-core": "^0.80.3", - "node-fetch": "^2.2.0", - "readline": "^1.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@react-native/debugger-frontend": { - "version": "0.73.3", - "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.73.3.tgz", - "integrity": "sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw==", - "peer": true - }, - "@react-native/dev-middleware": { - "version": "0.73.8", - "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.73.8.tgz", - "integrity": "sha512-oph4NamCIxkMfUL/fYtSsE+JbGOnrlawfQ0kKtDQ5xbOjPKotKoXqrs1eGwozNKv7FfQ393stk1by9a6DyASSg==", - "peer": true, - "requires": { - "@isaacs/ttlcache": "^1.4.1", - "@react-native/debugger-frontend": "0.73.3", - "chrome-launcher": "^0.15.2", - "chromium-edge-launcher": "^1.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "open": "^7.0.3", - "serve-static": "^1.13.1", - "temp-dir": "^2.0.0", - "ws": "^6.2.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "peer": true, - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - } - }, - "ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "peer": true, - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "@react-native/gradle-plugin": { - "version": "0.73.4", - "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.73.4.tgz", - "integrity": "sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg==", - "peer": true - }, - "@react-native/js-polyfills": { - "version": "0.73.1", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.73.1.tgz", - "integrity": "sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g==", - "peer": true - }, - "@react-native/metro-babel-transformer": { - "version": "0.73.15", - "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.15.tgz", - "integrity": "sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw==", - "peer": true, - "requires": { - "@babel/core": "^7.20.0", - "@react-native/babel-preset": "0.73.21", - "hermes-parser": "0.15.0", - "nullthrows": "^1.1.1" - } - }, - "@react-native/normalize-colors": { - "version": "0.73.2", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.73.2.tgz", - "integrity": "sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w==", - "peer": true - }, - "@react-native/virtualized-lists": { - "version": "0.73.4", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.73.4.tgz", - "integrity": "sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog==", - "peer": true, - "requires": { - "invariant": "^2.2.4", - "nullthrows": "^1.1.1" - } - }, - "@safe-global/safe-apps-provider": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.1.tgz", - "integrity": "sha512-V4a05A3EgJcriqtDoJklDz1BOinWhC6P0hjUSxshA4KOZM7rGPCTto/usXs09zr1vvL28evl/NldSTv97j2bmg==", - "requires": { - "@safe-global/safe-apps-sdk": "^8.1.0", - "events": "^3.3.0" - } - }, - "@safe-global/safe-apps-sdk": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.1.0.tgz", - "integrity": "sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w==", - "requires": { - "@safe-global/safe-gateway-typescript-sdk": "^3.5.3", - "viem": "^1.0.0" - }, - "dependencies": { - "abitype": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.9.8.tgz", - "integrity": "sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==", - "requires": {} - }, - "viem": { - "version": "1.21.4", - "resolved": "https://registry.npmjs.org/viem/-/viem-1.21.4.tgz", - "integrity": "sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==", - "requires": { - "@adraffy/ens-normalize": "1.10.0", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@scure/bip32": "1.3.2", - "@scure/bip39": "1.2.1", - "abitype": "0.9.8", - "isows": "1.0.3", - "ws": "8.13.0" - } - } - } - }, - "@safe-global/safe-gateway-typescript-sdk": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.18.0.tgz", - "integrity": "sha512-Do+zK2uyeaXHyQsZ0JVjAQYnOox8QoBiezdBVdDGlztQTWW8QbL0J7Us2XaXEXJAYwvrt58wvIn3iLOs0lmkwQ==" - }, - "@scure/base": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.5.tgz", - "integrity": "sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==" - }, - "@scure/bip32": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.2.tgz", - "integrity": "sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==", - "requires": { - "@noble/curves": "~1.2.0", - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.2" - } - }, - "@scure/bip39": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz", - "integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==", - "requires": { - "@noble/hashes": "~1.3.0", - "@scure/base": "~1.1.0" - } - }, - "@sideway/address": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", - "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", - "peer": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "peer": true - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "peer": true - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "peer": true - }, - "@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "peer": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "peer": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - } - }, - "@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" - }, - "@stablelib/aead": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", - "integrity": "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==" - }, - "@stablelib/binary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", - "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", - "requires": { - "@stablelib/int": "^1.0.1" - } - }, - "@stablelib/bytes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz", - "integrity": "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==" - }, - "@stablelib/chacha": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz", - "integrity": "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==", - "requires": { - "@stablelib/binary": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "@stablelib/chacha20poly1305": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz", - "integrity": "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==", - "requires": { - "@stablelib/aead": "^1.0.1", - "@stablelib/binary": "^1.0.1", - "@stablelib/chacha": "^1.0.1", - "@stablelib/constant-time": "^1.0.1", - "@stablelib/poly1305": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "@stablelib/constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz", - "integrity": "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==" - }, - "@stablelib/ed25519": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz", - "integrity": "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==", - "requires": { - "@stablelib/random": "^1.0.2", - "@stablelib/sha512": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "@stablelib/hash": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", - "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" - }, - "@stablelib/hkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz", - "integrity": "sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==", - "requires": { - "@stablelib/hash": "^1.0.1", - "@stablelib/hmac": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "@stablelib/hmac": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz", - "integrity": "sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==", - "requires": { - "@stablelib/constant-time": "^1.0.1", - "@stablelib/hash": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "@stablelib/int": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", - "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" - }, - "@stablelib/keyagreement": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz", - "integrity": "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==", - "requires": { - "@stablelib/bytes": "^1.0.1" - } - }, - "@stablelib/poly1305": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz", - "integrity": "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==", - "requires": { - "@stablelib/constant-time": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "@stablelib/random": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", - "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", - "requires": { - "@stablelib/binary": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "@stablelib/sha256": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz", - "integrity": "sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==", - "requires": { - "@stablelib/binary": "^1.0.1", - "@stablelib/hash": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "@stablelib/sha512": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz", - "integrity": "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==", - "requires": { - "@stablelib/binary": "^1.0.1", - "@stablelib/hash": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, - "@stablelib/x25519": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz", - "integrity": "sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==", - "requires": { - "@stablelib/keyagreement": "^1.0.1", - "@stablelib/random": "^1.0.2", - "@stablelib/wipe": "^1.0.1" - } - }, - "@tanstack/query-core": { - "version": "5.24.1", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.24.1.tgz", - "integrity": "sha512-DZ6Nx9p7BhjkG50ayJ+MKPgff+lMeol7QYXkvuU5jr2ryW/4ok5eanaS9W5eooA4xN0A/GPHdLGOZGzArgf5Cg==", - "peer": true - }, - "@tanstack/react-query": { - "version": "5.24.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.24.1.tgz", - "integrity": "sha512-4+09JEdO4d6+Gc8Y/g2M/MuxDK5IY0QV8+2wL2304wPKJgJ54cBbULd3nciJ5uvh/as8rrxx6s0mtIwpRuGd1g==", - "peer": true, - "requires": { - "@tanstack/query-core": "5.24.1" - } - }, - "@types/chrome": { - "version": "0.0.136", - "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.136.tgz", - "integrity": "sha512-XDEiRhLkMd+SB7Iw3ZUIj/fov3wLd4HyTdLltVszkgl1dBfc3Rb7oPMVZ2Mz2TLqnF7Ow+StbR8E7r9lqpb4DA==", - "requires": { - "@types/filesystem": "*", - "@types/har-format": "*" - } - }, - "@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "requires": { - "@types/ms": "*" - } - }, - "@types/dom-screen-wake-lock": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/dom-screen-wake-lock/-/dom-screen-wake-lock-1.0.3.tgz", - "integrity": "sha512-3Iten7X3Zgwvk6kh6/NRdwN7WbZ760YgFCsF5AxDifltUQzW1RaW+WRmcVtgwFzLjaNu64H+0MPJ13yRa8g3Dw==" - }, - "@types/filesystem": { - "version": "0.0.35", - "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.35.tgz", - "integrity": "sha512-1eKvCaIBdrD2mmMgy5dwh564rVvfEhZTWVQQGRNn0Nt4ZEnJ0C8oSUCzvMKRA4lGde5oEVo+q2MrTTbV/GHDCQ==", - "requires": { - "@types/filewriter": "*" - } - }, - "@types/filewriter": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.33.tgz", - "integrity": "sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==" - }, - "@types/har-format": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@types/har-format/-/har-format-1.2.15.tgz", - "integrity": "sha512-RpQH4rXLuvTXKR0zqHq3go0RVXYv/YVqv4TnPH95VbwUxZdQlK1EtcMvQvMpDngHbt13Csh9Z4qT9AbkiQH5BA==" - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "peer": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "peer": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "peer": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" - }, - "@types/node": { - "version": "20.11.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz", - "integrity": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==", - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" - }, - "@types/secp256k1": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", - "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "peer": true - }, - "@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" - }, - "@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", - "peer": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "peer": true - }, - "@wagmi/connectors": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-4.1.14.tgz", - "integrity": "sha512-e8I89FsNBtzhIilU3nqmgMR9xvSgCfmkWLz9iCKBTqyitbK5EJU7WTEtjjYFm1v2J//JeAwaA2XEKtG9BLR9jQ==", - "requires": { - "@coinbase/wallet-sdk": "3.9.1", - "@metamask/sdk": "0.14.3", - "@safe-global/safe-apps-provider": "0.18.1", - "@safe-global/safe-apps-sdk": "8.1.0", - "@walletconnect/ethereum-provider": "2.11.1", - "@walletconnect/modal": "2.6.2" - } - }, - "@wagmi/core": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-2.6.5.tgz", - "integrity": "sha512-DLyrc0o+dx05oIhBJuxnS7ekS5e6rB5mytlqPme+Km7aLdeBdcfYB4yJyYCyWoi93OLa7M5sbflTttz3o56bKw==", - "requires": { - "eventemitter3": "5.0.1", - "mipd": "0.0.5", - "zustand": "4.4.1" - } - }, - "@walletconnect/core": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.11.1.tgz", - "integrity": "sha512-T57Vd7YdbHPsy3tthBuwrhaZNafN0+PqjISFRNeJy/bsKdXxpJg2hGSARuOTpCO7V6VcaatqlaSMuG3DrnG5rA==", - "requires": { - "@walletconnect/heartbeat": "1.2.1", - "@walletconnect/jsonrpc-provider": "1.0.13", - "@walletconnect/jsonrpc-types": "1.0.3", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/jsonrpc-ws-connection": "1.0.14", - "@walletconnect/keyvaluestorage": "^1.1.1", - "@walletconnect/logger": "^2.0.1", - "@walletconnect/relay-api": "^1.0.9", - "@walletconnect/relay-auth": "^1.0.4", - "@walletconnect/safe-json": "^1.0.2", - "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.1", - "@walletconnect/utils": "2.11.1", - "events": "^3.3.0", - "isomorphic-unfetch": "3.1.0", - "lodash.isequal": "4.5.0", - "uint8arrays": "^3.1.0" - } - }, - "@walletconnect/environment": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz", - "integrity": "sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==", - "requires": { - "tslib": "1.14.1" - } - }, - "@walletconnect/ethereum-provider": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.11.1.tgz", - "integrity": "sha512-UfQH0ho24aa2M1xYmanbJv2ggQPebKmQytp2j20QEvURJ2R0v7YKWZ+0PfwOs6o6cuGw6gGxy/0WQXQRZSAsfg==", - "requires": { - "@walletconnect/jsonrpc-http-connection": "^1.0.7", - "@walletconnect/jsonrpc-provider": "^1.0.13", - "@walletconnect/jsonrpc-types": "^1.0.3", - "@walletconnect/jsonrpc-utils": "^1.0.8", - "@walletconnect/modal": "^2.6.2", - "@walletconnect/sign-client": "2.11.1", - "@walletconnect/types": "2.11.1", - "@walletconnect/universal-provider": "2.11.1", - "@walletconnect/utils": "2.11.1", - "events": "^3.3.0" - } - }, - "@walletconnect/events": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz", - "integrity": "sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==", - "requires": { - "keyvaluestorage-interface": "^1.0.0", - "tslib": "1.14.1" - } - }, - "@walletconnect/heartbeat": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz", - "integrity": "sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q==", - "requires": { - "@walletconnect/events": "^1.0.1", - "@walletconnect/time": "^1.0.2", - "tslib": "1.14.1" - } - }, - "@walletconnect/jsonrpc-http-connection": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.7.tgz", - "integrity": "sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ==", - "requires": { - "@walletconnect/jsonrpc-utils": "^1.0.6", - "@walletconnect/safe-json": "^1.0.1", - "cross-fetch": "^3.1.4", - "tslib": "1.14.1" - }, - "dependencies": { - "cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "requires": { - "node-fetch": "^2.6.12" - } - } - } - }, - "@walletconnect/jsonrpc-provider": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz", - "integrity": "sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==", - "requires": { - "@walletconnect/jsonrpc-utils": "^1.0.8", - "@walletconnect/safe-json": "^1.0.2", - "tslib": "1.14.1" - } - }, - "@walletconnect/jsonrpc-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz", - "integrity": "sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==", - "requires": { - "keyvaluestorage-interface": "^1.0.0", - "tslib": "1.14.1" - } - }, - "@walletconnect/jsonrpc-utils": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz", - "integrity": "sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==", - "requires": { - "@walletconnect/environment": "^1.0.1", - "@walletconnect/jsonrpc-types": "^1.0.3", - "tslib": "1.14.1" - } - }, - "@walletconnect/jsonrpc-ws-connection": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.14.tgz", - "integrity": "sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA==", - "requires": { - "@walletconnect/jsonrpc-utils": "^1.0.6", - "@walletconnect/safe-json": "^1.0.2", - "events": "^3.3.0", - "ws": "^7.5.1" - }, - "dependencies": { - "utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "optional": true, - "peer": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "requires": {} - } - } - }, - "@walletconnect/keyvaluestorage": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", - "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", - "requires": { - "@walletconnect/safe-json": "^1.0.1", - "idb-keyval": "^6.2.1", - "unstorage": "^1.9.0" - } - }, - "@walletconnect/logger": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/logger/-/logger-2.0.1.tgz", - "integrity": "sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==", - "requires": { - "pino": "7.11.0", - "tslib": "1.14.1" - } - }, - "@walletconnect/modal": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@walletconnect/modal/-/modal-2.6.2.tgz", - "integrity": "sha512-eFopgKi8AjKf/0U4SemvcYw9zlLpx9njVN8sf6DAkowC2Md0gPU/UNEbH1Wwj407pEKnEds98pKWib1NN1ACoA==", - "requires": { - "@walletconnect/modal-core": "2.6.2", - "@walletconnect/modal-ui": "2.6.2" - } - }, - "@walletconnect/modal-core": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@walletconnect/modal-core/-/modal-core-2.6.2.tgz", - "integrity": "sha512-cv8ibvdOJQv2B+nyxP9IIFdxvQznMz8OOr/oR/AaUZym4hjXNL/l1a2UlSQBXrVjo3xxbouMxLb3kBsHoYP2CA==", - "requires": { - "valtio": "1.11.2" - } - }, - "@walletconnect/modal-ui": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@walletconnect/modal-ui/-/modal-ui-2.6.2.tgz", - "integrity": "sha512-rbdstM1HPGvr7jprQkyPggX7rP4XiCG85ZA+zWBEX0dVQg8PpAgRUqpeub4xQKDgY7pY/xLRXSiCVdWGqvG2HA==", - "requires": { - "@walletconnect/modal-core": "2.6.2", - "lit": "2.8.0", - "motion": "10.16.2", - "qrcode": "1.5.3" - } - }, - "@walletconnect/relay-api": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.9.tgz", - "integrity": "sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==", - "requires": { - "@walletconnect/jsonrpc-types": "^1.0.2", - "tslib": "1.14.1" - } - }, - "@walletconnect/relay-auth": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz", - "integrity": "sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==", - "requires": { - "@stablelib/ed25519": "^1.0.2", - "@stablelib/random": "^1.0.1", - "@walletconnect/safe-json": "^1.0.1", - "@walletconnect/time": "^1.0.2", - "tslib": "1.14.1", - "uint8arrays": "^3.0.0" - } - }, - "@walletconnect/safe-json": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", - "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", - "requires": { - "tslib": "1.14.1" - } - }, - "@walletconnect/sign-client": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.11.1.tgz", - "integrity": "sha512-s3oKSx6/F5X2WmkV1jfJImBFACf9Km5HpTb+n5q+mobJVpUQw/clvoVyIrNNppLhm1V1S/ylHXh0qCrDppDpCA==", - "requires": { - "@walletconnect/core": "2.11.1", - "@walletconnect/events": "^1.0.1", - "@walletconnect/heartbeat": "1.2.1", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/logger": "^2.0.1", - "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.1", - "@walletconnect/utils": "2.11.1", - "events": "^3.3.0" - } - }, - "@walletconnect/time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@walletconnect/time/-/time-1.0.2.tgz", - "integrity": "sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==", - "requires": { - "tslib": "1.14.1" - } - }, - "@walletconnect/types": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.11.1.tgz", - "integrity": "sha512-UbdbX+d6MOK0AXKxt5imV3KvAcLVpZUHylaRDIP5ffwVylM/p4DHnKppil1Qq5N+IGDr3RsUwLGFkKjqsQYRKw==", - "requires": { - "@walletconnect/events": "^1.0.1", - "@walletconnect/heartbeat": "1.2.1", - "@walletconnect/jsonrpc-types": "1.0.3", - "@walletconnect/keyvaluestorage": "^1.1.1", - "@walletconnect/logger": "^2.0.1", - "events": "^3.3.0" - } - }, - "@walletconnect/universal-provider": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.11.1.tgz", - "integrity": "sha512-BJvPYByIfbBYF4x8mqDV79ebQX0tD54pp8itsqrHWn0qKZeJyIH8sQ69yY0GnbJrzoFS3ZLULdC0yDxWDeuRGw==", - "requires": { - "@walletconnect/jsonrpc-http-connection": "^1.0.7", - "@walletconnect/jsonrpc-provider": "1.0.13", - "@walletconnect/jsonrpc-types": "^1.0.2", - "@walletconnect/jsonrpc-utils": "^1.0.7", - "@walletconnect/logger": "^2.0.1", - "@walletconnect/sign-client": "2.11.1", - "@walletconnect/types": "2.11.1", - "@walletconnect/utils": "2.11.1", - "events": "^3.3.0" - } - }, - "@walletconnect/utils": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.11.1.tgz", - "integrity": "sha512-wRFDHN86dZ05mCET1H3912odIeQa8j7cZKxl1FlWRpV2YsILj9HCYSX6Uq2brwO02Kv2vryke44G1r8XI/LViA==", - "requires": { - "@stablelib/chacha20poly1305": "1.0.1", - "@stablelib/hkdf": "1.0.1", - "@stablelib/random": "^1.0.2", - "@stablelib/sha256": "1.0.1", - "@stablelib/x25519": "^1.0.3", - "@walletconnect/relay-api": "^1.0.9", - "@walletconnect/safe-json": "^1.0.2", - "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.1", - "@walletconnect/window-getters": "^1.0.1", - "@walletconnect/window-metadata": "^1.0.1", - "detect-browser": "5.3.0", - "query-string": "7.1.3", - "uint8arrays": "^3.1.0" - } - }, - "@walletconnect/window-getters": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz", - "integrity": "sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==", - "requires": { - "tslib": "1.14.1" - } - }, - "@walletconnect/window-metadata": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", - "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", - "requires": { - "@walletconnect/window-getters": "^1.0.1", - "tslib": "1.14.1" - } - }, - "abitype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.0.tgz", - "integrity": "sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==", - "peer": true, - "requires": {} - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "peer": true, - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "peer": true, - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" - }, - "anser": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", - "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", - "peer": true - }, - "ansi-fragments": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", - "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", - "peer": true, - "requires": { - "colorette": "^1.0.7", - "slice-ansi": "^2.0.0", - "strip-ansi": "^5.0.0" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "appdirsjs": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", - "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==", - "peer": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "peer": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "peer": true - }, - "ast-types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", - "peer": true, - "requires": { - "tslib": "^2.0.1" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "peer": true - } - } - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "peer": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "peer": true - }, - "async-mutex": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.2.6.tgz", - "integrity": "sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==", - "requires": { - "tslib": "^2.0.0" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } - } - }, - "atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==" - }, - "available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "requires": { - "possible-typed-array-names": "^1.0.0" - } - }, - "babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "peer": true, - "requires": {} - }, - "babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "requires": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", - "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", - "peer": true, - "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.5.0", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", - "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", - "peer": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.5.0", - "core-js-compat": "^3.34.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", - "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", - "peer": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.5.0" - } - }, - "babel-plugin-transform-flow-enums": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", - "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", - "peer": true, - "requires": { - "@babel/plugin-syntax-flow": "^7.12.1" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "peer": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "peer": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "peer": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "peer": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "peer": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "peer": true, - "requires": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "peer": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "peer": true - }, - "bufferutil": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", - "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "peer": true - }, - "call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - } - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", - "peer": true, - "requires": { - "callsites": "^2.0.0" - }, - "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", - "peer": true - } - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", - "peer": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "peer": true - }, - "caniuse-lite": { - "version": "1.0.30001591", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001591.tgz", - "integrity": "sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==", - "peer": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - } - } - }, - "chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chrome-launcher": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", - "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", - "peer": true, - "requires": { - "@types/node": "*", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^1.0.0" - } - }, - "chromium-edge-launcher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz", - "integrity": "sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA==", - "peer": true, - "requires": { - "@types/node": "*", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^1.0.0", - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "peer": true - } - } - }, - "ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "peer": true - }, - "citty": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", - "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", - "requires": { - "consola": "^3.2.3" - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "peer": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "peer": true - }, - "clipboardy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", - "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==", - "requires": { - "execa": "^8.0.1", - "is-wsl": "^3.1.0", - "is64bit": "^2.0.0" - }, - "dependencies": { - "execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - } - }, - "get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==" - }, - "human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==" - }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" - }, - "is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "requires": { - "is-inside-container": "^1.0.0" - } - }, - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" - }, - "npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "requires": { - "path-key": "^4.0.0" - } - }, - "onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "requires": { - "mimic-fn": "^4.0.0" - } - }, - "path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==" - }, - "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" - }, - "strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" - } - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "peer": true - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "peer": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - }, - "cluster-key-slot": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", - "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==" - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", - "peer": true - }, - "command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", - "peer": true - }, - "commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "peer": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "peer": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "peer": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "peer": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "peer": true - }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "peer": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - } - } - }, - "consola": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", - "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==" - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "cookie-es": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.0.0.tgz", - "integrity": "sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==" - }, - "core-js-compat": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", - "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", - "peer": true, - "requires": { - "browserslist": "^4.22.3" - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" - }, - "cross-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", - "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", - "requires": { - "node-fetch": "^2.6.12" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crossws": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.2.4.tgz", - "integrity": "sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==", - "requires": {} - }, - "csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" - }, - "date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "requires": { - "@babel/runtime": "^7.21.0" - } - }, - "dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", - "peer": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, - "decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "peer": true - }, - "defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "peer": true, - "requires": { - "clone": "^1.0.2" - } - }, - "define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - }, - "defu": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==" - }, - "denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", - "peer": true - }, - "denque": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", - "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "peer": true - }, - "deprecated-react-native-prop-types": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz", - "integrity": "sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ==", - "peer": true, - "requires": { - "@react-native/normalize-colors": "^0.73.0", - "invariant": "^2.2.4", - "prop-types": "^15.8.1" - } - }, - "destr": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz", - "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "peer": true - }, - "detect-browser": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", - "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==" - }, - "dijkstrajs": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==" - }, - "duplexify": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", - "requires": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "eciesjs": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/eciesjs/-/eciesjs-0.3.18.tgz", - "integrity": "sha512-RQhegEtLSyIiGJmFTZfvCTHER/fymipXFVx6OwSRYD6hOuy+6Kjpk0dGvIfP9kxn/smBpxQy71uxpGO406ITCw==", - "requires": { - "@types/secp256k1": "^4.0.4", - "futoin-hkdf": "^1.5.3", - "secp256k1": "^5.0.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "peer": true - }, - "electron-to-chromium": { - "version": "1.4.690", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.690.tgz", - "integrity": "sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA==", - "peer": true - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "encode-utf8": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", - "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "peer": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "engine.io-client": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.3.tgz", - "integrity": "sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==", - "requires": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.11.0", - "xmlhttprequest-ssl": "~2.0.0" - }, - "dependencies": { - "utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "optional": true, - "peer": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "requires": {} - } - } - }, - "engine.io-parser": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz", - "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==" - }, - "envinfo": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", - "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", - "peer": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "peer": true, - "requires": { - "stackframe": "^1.3.4" - } - }, - "errorhandler": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", - "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", - "peer": true, - "requires": { - "accepts": "~1.3.7", - "escape-html": "~1.0.3" - } - }, - "es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "requires": { - "get-intrinsic": "^1.2.4" - } - }, - "es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" - }, - "escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "peer": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "peer": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "peer": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "peer": true - }, - "eth-block-tracker": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-7.1.0.tgz", - "integrity": "sha512-8YdplnuE1IK4xfqpf4iU7oBxnOYAc35934o083G8ao+8WM8QQtt/mVlAY6yIAdY1eMeLqg4Z//PZjJGmWGPMRg==", - "requires": { - "@metamask/eth-json-rpc-provider": "^1.0.0", - "@metamask/safe-event-emitter": "^3.0.0", - "@metamask/utils": "^5.0.1", - "json-rpc-random-id": "^1.0.1", - "pify": "^3.0.0" - }, - "dependencies": { - "@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==" - } - } - }, - "eth-json-rpc-filters": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-6.0.1.tgz", - "integrity": "sha512-ITJTvqoCw6OVMLs7pI8f4gG92n/St6x80ACtHodeS+IXmO0w+t1T5OOzfSt7KLSMLRkVUoexV7tztLgDxg+iig==", - "requires": { - "@metamask/safe-event-emitter": "^3.0.0", - "async-mutex": "^0.2.6", - "eth-query": "^2.1.2", - "json-rpc-engine": "^6.1.0", - "pify": "^5.0.0" - }, - "dependencies": { - "@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==" - }, - "pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==" - } - } - }, - "eth-query": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz", - "integrity": "sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==", - "requires": { - "json-rpc-random-id": "^1.0.0", - "xtend": "^4.0.1" - } - }, - "eth-rpc-errors": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz", - "integrity": "sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==", - "requires": { - "fast-safe-stringify": "^2.0.6" - } - }, - "ethereum-cryptography": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.1.3.tgz", - "integrity": "sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==", - "requires": { - "@noble/curves": "1.3.0", - "@noble/hashes": "1.3.3", - "@scure/bip32": "1.3.3", - "@scure/bip39": "1.2.2" - }, - "dependencies": { - "@noble/curves": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.3.0.tgz", - "integrity": "sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==", - "requires": { - "@noble/hashes": "1.3.3" - } - }, - "@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==" - }, - "@scure/bip32": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.3.tgz", - "integrity": "sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==", - "requires": { - "@noble/curves": "~1.3.0", - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" - } - }, - "@scure/bip39": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.2.tgz", - "integrity": "sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==", - "requires": { - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" - } - } - } - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "peer": true - }, - "eventemitter2": { - "version": "6.4.9", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz", - "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==" - }, - "eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "peer": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "extension-port-stream": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/extension-port-stream/-/extension-port-stream-2.1.1.tgz", - "integrity": "sha512-qknp5o5rj2J9CRKfVB8KJr+uXQlrojNZzdESUPhKYLXf97TPcGf6qWWKmpsNNtUyOdzFhab1ON0jzouNxHHvow==", - "requires": { - "webextension-polyfill": ">=0.10.0 <1.0" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" - }, - "fast-redact": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz", - "integrity": "sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==" - }, - "fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "fast-xml-parser": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.5.tgz", - "integrity": "sha512-sWvP1Pl8H03B8oFJpFR3HE31HUfwtX7Rlf9BNsvdpujD4n7WMhfmu8h9wOV2u+c1k0ZilTADhPqypzx2J690ZQ==", - "peer": true, - "requires": { - "strnum": "^1.0.5" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "peer": true, - "requires": { - "bser": "2.1.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "peer": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "peer": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flow-enums-runtime": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", - "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==", - "peer": true - }, - "flow-parser": { - "version": "0.206.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", - "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==", - "peer": true - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "peer": true - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "peer": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "peer": true - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "optional": true - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "futoin-hkdf": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/futoin-hkdf/-/futoin-hkdf-1.5.3.tgz", - "integrity": "sha512-SewY5KdMpaoCeh7jachEWFsh1nNlaDjNHZXWqL5IGwtpEYHTgkr2+AMCgNwKWkcc0wpSYrZfR7he4WdmHFtDxQ==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "peer": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "requires": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, - "get-port-please": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz", - "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==" - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "peer": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "peer": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "peer": true - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "peer": true - }, - "h3": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.11.1.tgz", - "integrity": "sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==", - "requires": { - "cookie-es": "^1.0.0", - "crossws": "^0.2.2", - "defu": "^6.1.4", - "destr": "^2.0.3", - "iron-webcrypto": "^1.0.0", - "ohash": "^1.1.3", - "radix3": "^1.1.0", - "ufo": "^1.4.0", - "uncrypto": "^0.1.3", - "unenv": "^1.9.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "requires": { - "es-define-property": "^1.0.0" - } - }, - "has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "requires": { - "has-symbols": "^1.0.3" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "hermes-estree": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.15.0.tgz", - "integrity": "sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ==", - "peer": true - }, - "hermes-parser": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.15.0.tgz", - "integrity": "sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q==", - "peer": true, - "requires": { - "hermes-estree": "0.15.0" - } - }, - "hermes-profile-transformer": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", - "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", - "peer": true, - "requires": { - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "peer": true - } - } - }, - "hey-listen": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", - "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - } - }, - "html-parse-stringify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", - "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", - "requires": { - "void-elements": "3.1.0" - } - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "peer": true, - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "dependencies": { - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "peer": true - } - } - }, - "http-shutdown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz", - "integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==" - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "peer": true - }, - "husky": { - "version": "9.0.11", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", - "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", - "dev": true - }, - "i18next": { - "version": "23.10.0", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.10.0.tgz", - "integrity": "sha512-/TgHOqsa7/9abUKJjdPeydoyDc0oTi/7u9F8lMSj6ufg4cbC1Oj3f/Jja7zj7WRIhEQKB7Q4eN6y68I9RDxxGQ==", - "peer": true, - "requires": { - "@babel/runtime": "^7.23.2" - } - }, - "i18next-browser-languagedetector": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.0.tgz", - "integrity": "sha512-U00DbDtFIYD3wkWsr2aVGfXGAj2TgnELzOX9qv8bT0aJtvPV9CRO77h+vgmHFBMe7LAxdwvT/7VkCWGya6L3tA==", - "requires": { - "@babel/runtime": "^7.23.2" - } - }, - "idb-keyval": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.1.tgz", - "integrity": "sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==" - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "image-size": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", - "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", - "peer": true, - "requires": { - "queue": "6.0.2" - } - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "peer": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "peer": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ioredis": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.3.2.tgz", - "integrity": "sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==", - "requires": { - "@ioredis/commands": "^1.1.1", - "cluster-key-slot": "^1.1.0", - "debug": "^4.3.4", - "denque": "^2.1.0", - "lodash.defaults": "^4.2.0", - "lodash.isarguments": "^3.1.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0", - "standard-as-callback": "^2.1.0" - } - }, - "iron-webcrypto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.0.0.tgz", - "integrity": "sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "requires": { - "hasown": "^2.0.0" - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", - "peer": true - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "peer": true - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "requires": { - "is-docker": "^3.0.0" - }, - "dependencies": { - "is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==" - } - } - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "peer": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "peer": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "requires": { - "which-typed-array": "^1.1.14" - } - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "peer": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "is64bit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", - "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==", - "requires": { - "system-architecture": "^0.1.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "peer": true - }, - "isomorphic-unfetch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz", - "integrity": "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==", - "requires": { - "node-fetch": "^2.6.1", - "unfetch": "^4.2.0" - } - }, - "isows": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.3.tgz", - "integrity": "sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==", - "requires": {} - }, - "jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "peer": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "peer": true - }, - "jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "peer": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "peer": true - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "peer": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - } - }, - "jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "peer": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "peer": true, - "requires": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "peer": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "peer": true - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "peer": true, - "requires": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==" - }, - "joi": { - "version": "17.12.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", - "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", - "peer": true, - "requires": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.5", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "peer": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsc-android": { - "version": "250231.0.0", - "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", - "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==", - "peer": true - }, - "jsc-safe-url": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", - "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", - "peer": true - }, - "jscodeshift": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", - "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", - "peer": true, - "requires": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.21.0", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "peer": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "peer": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-rpc-engine": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz", - "integrity": "sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==", - "requires": { - "@metamask/safe-event-emitter": "^2.0.0", - "eth-rpc-errors": "^4.0.2" - } - }, - "json-rpc-middleware-stream": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/json-rpc-middleware-stream/-/json-rpc-middleware-stream-4.2.3.tgz", - "integrity": "sha512-4iFb0yffm5vo3eFKDbQgke9o17XBcLQ2c3sONrXSbcOLzP8LTojqo8hRGVgtJShhm5q4ZDSNq039fAx9o65E1w==", - "requires": { - "@metamask/safe-event-emitter": "^3.0.0", - "json-rpc-engine": "^6.1.0", - "readable-stream": "^2.3.3" - }, - "dependencies": { - "@metamask/safe-event-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.0.0.tgz", - "integrity": "sha512-j6Z47VOmVyGMlnKXZmL0fyvWfEYtKWCA9yGZkU3FCsGZUT5lHGmvaV9JA5F2Y+010y7+ROtR3WMXIkvl/nVzqQ==" - } - } - }, - "json-rpc-random-id": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz", - "integrity": "sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==" - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "peer": true - }, - "jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "peer": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "keccak": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", - "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "keyvaluestorage-interface": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz", - "integrity": "sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "peer": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "peer": true - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "peer": true - }, - "lighthouse-logger": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", - "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", - "peer": true, - "requires": { - "debug": "^2.6.9", - "marky": "^1.2.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - } - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "listhen": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.7.2.tgz", - "integrity": "sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==", - "requires": { - "@parcel/watcher": "^2.4.1", - "@parcel/watcher-wasm": "^2.4.1", - "citty": "^0.1.6", - "clipboardy": "^4.0.0", - "consola": "^3.2.3", - "crossws": "^0.2.0", - "defu": "^6.1.4", - "get-port-please": "^3.1.2", - "h3": "^1.10.2", - "http-shutdown": "^1.2.2", - "jiti": "^1.21.0", - "mlly": "^1.6.1", - "node-forge": "^1.3.1", - "pathe": "^1.1.2", - "std-env": "^3.7.0", - "ufo": "^1.4.0", - "untun": "^0.1.3", - "uqr": "^0.1.2" - } - }, - "lit": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", - "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", - "requires": { - "@lit/reactive-element": "^1.6.0", - "lit-element": "^3.3.0", - "lit-html": "^2.8.0" - } - }, - "lit-element": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", - "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", - "requires": { - "@lit-labs/ssr-dom-shim": "^1.1.0", - "@lit/reactive-element": "^1.3.0", - "lit-html": "^2.8.0" - } - }, - "lit-html": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", - "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", - "requires": { - "@types/trusted-types": "^2.0.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "peer": true - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==" - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" - }, - "lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", - "peer": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "peer": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "logkitty": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", - "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", - "peer": true, - "requires": { - "ansi-fragments": "^0.2.1", - "dayjs": "^1.8.15", - "yargs": "^15.1.0" - } - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "peer": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "peer": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "peer": true - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "peer": true - } - } - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "peer": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "marky": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", - "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==", - "peer": true - }, - "memoize-one": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", - "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", - "peer": true - }, - "merge-options": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", - "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", - "requires": { - "is-plain-obj": "^2.1.0" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "metro": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.80.6.tgz", - "integrity": "sha512-f6Nhnht9TxVRP6zdBq9J2jNdeDBxRmJFnjxhQS1GeCpokBvI6fTXq+wHTLz5jZA+75fwbkPSzBxBJzQa6xi0AQ==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "accepts": "^1.3.7", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "error-stack-parser": "^2.0.6", - "graceful-fs": "^4.2.4", - "hermes-parser": "0.19.1", - "image-size": "^1.0.2", - "invariant": "^2.2.4", - "jest-worker": "^29.6.3", - "jsc-safe-url": "^0.2.2", - "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.80.6", - "metro-cache": "0.80.6", - "metro-cache-key": "0.80.6", - "metro-config": "0.80.6", - "metro-core": "0.80.6", - "metro-file-map": "0.80.6", - "metro-resolver": "0.80.6", - "metro-runtime": "0.80.6", - "metro-source-map": "0.80.6", - "metro-symbolicate": "0.80.6", - "metro-transform-plugins": "0.80.6", - "metro-transform-worker": "0.80.6", - "mime-types": "^2.1.27", - "node-fetch": "^2.2.0", - "nullthrows": "^1.1.1", - "rimraf": "^3.0.2", - "serialize-error": "^2.1.0", - "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", - "throat": "^5.0.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "peer": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "peer": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "requires": { - "ms": "2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "hermes-estree": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.19.1.tgz", - "integrity": "sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==", - "peer": true - }, - "hermes-parser": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.19.1.tgz", - "integrity": "sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==", - "peer": true, - "requires": { - "hermes-estree": "0.19.1" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "peer": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "optional": true, - "peer": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "peer": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "peer": true, - "requires": {} - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "peer": true - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "peer": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "peer": true - } - } - }, - "metro-babel-transformer": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.6.tgz", - "integrity": "sha512-ssuoVC4OzqaOt3LpwfUbDfBlFGRu9v1Yf2JJnKPz0ROYHNjSBws4aUesqQQ/Ea8DbiH7TK4j4cJmm+XjdHmgqA==", - "peer": true, - "requires": { - "@babel/core": "^7.20.0", - "hermes-parser": "0.19.1", - "nullthrows": "^1.1.1" - }, - "dependencies": { - "hermes-estree": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.19.1.tgz", - "integrity": "sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==", - "peer": true - }, - "hermes-parser": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.19.1.tgz", - "integrity": "sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==", - "peer": true, - "requires": { - "hermes-estree": "0.19.1" - } - } - } - }, - "metro-cache": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.6.tgz", - "integrity": "sha512-NP81pHSPkzs+iNlpVkJqijrpcd6lfuDAunYH9/Rn8oLNz0yLfkl8lt+xOdUU4IkFt3oVcTBEFCnzAzv4B8YhyA==", - "peer": true, - "requires": { - "metro-core": "0.80.6", - "rimraf": "^3.0.2" - } - }, - "metro-cache-key": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.6.tgz", - "integrity": "sha512-DFmjQacC8m/S3HpELklLMWkPGP/fZPX3BSgjd0xQvwIvWyFwk8Nn/lfp/uWdEVDtDSIr64/anXU5uWohGwlWXw==", - "peer": true - }, - "metro-config": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.80.6.tgz", - "integrity": "sha512-vHYYvJpRTWYbmvqlR7i04xQpZCHJ6yfZ/xIcPdz2ssbdJGGJbiT1Aar9wr8RAhsccSxdJgfE5B1DB8Mo+DnhIg==", - "peer": true, - "requires": { - "connect": "^3.6.5", - "cosmiconfig": "^5.0.5", - "jest-validate": "^29.6.3", - "metro": "0.80.6", - "metro-cache": "0.80.6", - "metro-core": "0.80.6", - "metro-runtime": "0.80.6" - }, - "dependencies": { - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "peer": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "peer": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "peer": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "peer": true - } - } - }, - "metro-core": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.80.6.tgz", - "integrity": "sha512-fn4rryTUAwzFJWj7VIPDH4CcW/q7MV4oGobqR6NsuxZoIGYrVpK7pBasumu5YbCqifuErMs5s23BhmrDNeZURw==", - "peer": true, - "requires": { - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.80.6" - } - }, - "metro-file-map": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.6.tgz", - "integrity": "sha512-S3CUqvpXpc+q3q+hCEWvFKhVqgq0VmXdZQDF6u7ue86E2elq1XLnfLOt9JSpwyhpMQRyysjSCnd/Yh6GZMNHoQ==", - "peer": true, - "requires": { - "anymatch": "^3.0.3", - "debug": "^2.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.4", - "invariant": "^2.2.4", - "jest-worker": "^29.6.3", - "micromatch": "^4.0.4", - "node-abort-controller": "^3.1.1", - "nullthrows": "^1.1.1", - "walker": "^1.0.7" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - } - } - }, - "metro-minify-terser": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.6.tgz", - "integrity": "sha512-83eZaH2+B+jP92KuodPqXknzwmiboKAuZY4doRfTEEXAG57pNVNN6cqSRJlwDnmaTBKRffxoncBXbYqHQgulgg==", - "peer": true, - "requires": { - "terser": "^5.15.0" - } - }, - "metro-resolver": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.6.tgz", - "integrity": "sha512-R7trfglG4zY4X9XyM9cvuffAhQ9W1reWoahr1jdEWa6rOI8PyM0qXjcsb8l+fsOQhdSiVlkKcYAmkyrs1S/zrA==", - "peer": true - }, - "metro-runtime": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.6.tgz", - "integrity": "sha512-21GQVd0pp2nACoK0C2PL8mBsEhIFUFFntYrWRlYNHtPQoqDzddrPEIgkyaABGXGued+dZoBlFQl+LASlmmfkvw==", - "peer": true, - "requires": { - "@babel/runtime": "^7.0.0" - } - }, - "metro-source-map": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.6.tgz", - "integrity": "sha512-lqDuSLctWy9Qccu4Zl0YB1PzItpsqcKGb1nK0aDY+lzJ26X65OCib2VzHlj+xj7e4PiIKOfsvDCczCBz4cnxdg==", - "peer": true, - "requires": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.80.6", - "nullthrows": "^1.1.1", - "ob1": "0.80.6", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - } - }, - "metro-symbolicate": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.6.tgz", - "integrity": "sha512-SGwKeBi+lK7NmM5+EcW6DyRRa9HmGSvH0LJtlT4XoRMbpxzsLYs0qUEA+olD96pOIP+ta7I8S30nQr2ttqgO8A==", - "peer": true, - "requires": { - "invariant": "^2.2.4", - "metro-source-map": "0.80.6", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" - } - }, - "metro-transform-plugins": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.6.tgz", - "integrity": "sha512-e04tdTC5Fy1vOQrTTXb5biao0t7nR/h+b1IaBTlM5UaHaAJZr658uVOoZhkRxKjbhF2mIwJ/8DdorD2CA15BCg==", - "peer": true, - "requires": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "nullthrows": "^1.1.1" - } - }, - "metro-transform-worker": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.6.tgz", - "integrity": "sha512-jV+VgCLiCj5jQadW/h09qJaqDreL6XcBRY52STCoz2xWn6WWLLMB5nXzQtvFNPmnIOps+Xu8+d5hiPcBNOhYmA==", - "peer": true, - "requires": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", - "metro": "0.80.6", - "metro-babel-transformer": "0.80.6", - "metro-cache": "0.80.6", - "metro-cache-key": "0.80.6", - "metro-minify-terser": "0.80.6", - "metro-source-map": "0.80.6", - "metro-transform-plugins": "0.80.6", - "nullthrows": "^1.1.1" - } - }, - "micro-ftch": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", - "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "peer": true - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "peer": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "peer": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "peer": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "peer": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "peer": true - }, - "mipd": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mipd/-/mipd-0.0.5.tgz", - "integrity": "sha512-gbKA784D2WKb5H/GtqEv+Ofd1S9Zj+Z/PGDIl1u1QAbswkxD28BQ5bSXQxkeBzPBABg1iDSbiwGG1XqlOxRspA==", - "requires": { - "viem": "^1.1.4" - }, - "dependencies": { - "abitype": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-0.9.8.tgz", - "integrity": "sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==", - "requires": {} - }, - "viem": { - "version": "1.21.4", - "resolved": "https://registry.npmjs.org/viem/-/viem-1.21.4.tgz", - "integrity": "sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==", - "requires": { - "@adraffy/ens-normalize": "1.10.0", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@scure/bip32": "1.3.2", - "@scure/bip39": "1.2.1", - "abitype": "0.9.8", - "isows": "1.0.3", - "ws": "8.13.0" - } - } - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "peer": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "mlly": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", - "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", - "requires": { - "acorn": "^8.11.3", - "pathe": "^1.1.2", - "pkg-types": "^1.0.3", - "ufo": "^1.3.2" - } - }, - "motion": { - "version": "10.16.2", - "resolved": "https://registry.npmjs.org/motion/-/motion-10.16.2.tgz", - "integrity": "sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==", - "requires": { - "@motionone/animation": "^10.15.1", - "@motionone/dom": "^10.16.2", - "@motionone/svelte": "^10.16.2", - "@motionone/types": "^10.15.1", - "@motionone/utils": "^10.15.1", - "@motionone/vue": "^10.16.2" - } - }, - "mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multiformats": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", - "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "peer": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "peer": true - }, - "nocache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", - "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", - "peer": true - }, - "node-abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", - "peer": true - }, - "node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", - "peer": true, - "requires": { - "minimatch": "^3.0.2" - } - }, - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-fetch-native": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.2.tgz", - "integrity": "sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==" - }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" - }, - "node-gyp-build": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz", - "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "peer": true - }, - "node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "peer": true - }, - "node-stream-zip": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", - "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", - "peer": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "peer": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "nullthrows": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", - "peer": true - }, - "ob1": { - "version": "0.80.6", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.6.tgz", - "integrity": "sha512-nlLGZPMQ/kbmkdIb5yvVzep1jKUII2x6ehNsHpgy71jpnJMW7V+KsB3AjYI2Ajb7UqMAMNjlssg6FUodrEMYzg==", - "peer": true - }, - "obj-multiplex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/obj-multiplex/-/obj-multiplex-1.0.0.tgz", - "integrity": "sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA==", - "requires": { - "end-of-stream": "^1.4.0", - "once": "^1.4.0", - "readable-stream": "^2.3.3" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "peer": true - }, - "ofetch": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.3.tgz", - "integrity": "sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==", - "requires": { - "destr": "^2.0.1", - "node-fetch-native": "^1.4.0", - "ufo": "^1.3.0" - } - }, - "ohash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz", - "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==" - }, - "on-exit-leak-free": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz", - "integrity": "sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "peer": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "peer": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "peer": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", - "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", - "peer": true, - "requires": { - "is-wsl": "^1.1.0" - }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "peer": true - } - } - }, - "ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "peer": true, - "requires": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "peer": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "peer": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "peer": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "peer": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" - }, - "pino": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", - "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", - "requires": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.0.0", - "on-exit-leak-free": "^0.2.0", - "pino-abstract-transport": "v0.5.0", - "pino-std-serializers": "^4.0.0", - "process-warning": "^1.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.1.0", - "safe-stable-stringify": "^2.1.0", - "sonic-boom": "^2.2.1", - "thread-stream": "^0.15.1" - } - }, - "pino-abstract-transport": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz", - "integrity": "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==", - "requires": { - "duplexify": "^4.1.2", - "split2": "^4.0.0" - } - }, - "pino-std-serializers": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", - "integrity": "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==" - }, - "pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "peer": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "peer": true, - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "peer": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "peer": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "peer": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "peer": true - } - } - }, - "pkg-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", - "requires": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" - } - }, - "pngjs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", - "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==" - }, - "pony-cause": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.10.tgz", - "integrity": "sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==" - }, - "possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==" - }, - "preact": { - "version": "10.19.6", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.6.tgz", - "integrity": "sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==" + "husky": { + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", + "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", + "dev": true }, "prettier": { "version": "3.2.5", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "peer": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "peer": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", - "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", - "peer": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "process-warning": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", - "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "peer": true, - "requires": { - "asap": "~2.0.6" - } - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "peer": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "peer": true, - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "proxy-compare": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.5.1.tgz", - "integrity": "sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "qr-code-styling": { - "version": "1.6.0-rc.1", - "resolved": "https://registry.npmjs.org/qr-code-styling/-/qr-code-styling-1.6.0-rc.1.tgz", - "integrity": "sha512-ModRIiW6oUnsP18QzrRYZSc/CFKFKIdj7pUs57AEVH20ajlglRpN3HukjHk0UbNMTlKGuaYl7Gt6/O5Gg2NU2Q==", - "requires": { - "qrcode-generator": "^1.4.3" - } - }, - "qrcode": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", - "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", - "requires": { - "dijkstrajs": "^1.0.1", - "encode-utf8": "^1.0.3", - "pngjs": "^5.0.0", - "yargs": "^15.3.1" - } - }, - "qrcode-generator": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/qrcode-generator/-/qrcode-generator-1.4.4.tgz", - "integrity": "sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw==" - }, - "qrcode-terminal-nooctal": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/qrcode-terminal-nooctal/-/qrcode-terminal-nooctal-0.12.1.tgz", - "integrity": "sha512-jy/kkD0iIMDjTucB+5T6KBsnirlhegDH47vHgrj5MejchSQmi/EAMM0xMFeePgV9CJkkAapNakpVUWYgHvtdKg==" - }, - "query-string": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", - "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", - "requires": { - "decode-uri-component": "^0.2.2", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - } - }, - "queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "peer": true, - "requires": { - "inherits": "~2.0.3" - } - }, - "quick-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" - }, - "radix3": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.0.tgz", - "integrity": "sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "peer": true - }, - "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "react-devtools-core": { - "version": "4.28.5", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.5.tgz", - "integrity": "sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA==", - "peer": true, - "requires": { - "shell-quote": "^1.6.1", - "ws": "^7" - }, - "dependencies": { - "utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "optional": true, - "peer": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "peer": true, - "requires": {} - } - } - }, - "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - } - }, - "react-i18next": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-13.5.0.tgz", - "integrity": "sha512-CFJ5NDGJ2MUyBohEHxljOq/39NQ972rh1ajnadG9BjTk+UXbHLq4z5DKEbEQBDoIhUmmbuS/fIMJKo6VOax1HA==", - "requires": { - "@babel/runtime": "^7.22.5", - "html-parse-stringify": "^3.0.1" - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-native": { - "version": "0.73.5", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.73.5.tgz", - "integrity": "sha512-iHgDArmF4CrhL0qTj+Rn+CBN5pZWUL9lUGl8ub+V9Hwu/vnzQQh8rTMVSwVd2sV6N76KjpE5a4TfIAHkpIHhKg==", - "peer": true, - "requires": { - "@jest/create-cache-key-function": "^29.6.3", - "@react-native-community/cli": "12.3.6", - "@react-native-community/cli-platform-android": "12.3.6", - "@react-native-community/cli-platform-ios": "12.3.6", - "@react-native/assets-registry": "0.73.1", - "@react-native/codegen": "0.73.3", - "@react-native/community-cli-plugin": "0.73.17", - "@react-native/gradle-plugin": "0.73.4", - "@react-native/js-polyfills": "0.73.1", - "@react-native/normalize-colors": "0.73.2", - "@react-native/virtualized-lists": "0.73.4", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "ansi-regex": "^5.0.0", - "base64-js": "^1.5.1", - "chalk": "^4.0.0", - "deprecated-react-native-prop-types": "^5.0.0", - "event-target-shim": "^5.0.1", - "flow-enums-runtime": "^0.0.6", - "invariant": "^2.2.4", - "jest-environment-node": "^29.6.3", - "jsc-android": "^250231.0.0", - "memoize-one": "^5.0.0", - "metro-runtime": "^0.80.3", - "metro-source-map": "^0.80.3", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.3.0", - "react-devtools-core": "^4.27.7", - "react-refresh": "^0.14.0", - "react-shallow-renderer": "^16.15.0", - "regenerator-runtime": "^0.13.2", - "scheduler": "0.24.0-canary-efb381bbf-20230505", - "stacktrace-parser": "^0.1.10", - "whatwg-fetch": "^3.0.0", - "ws": "^6.2.2", - "yargs": "^17.6.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "peer": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "peer": true - }, - "scheduler": { - "version": "0.24.0-canary-efb381bbf-20230505", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", - "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", - "peer": true, - "requires": { - "loose-envify": "^1.1.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "peer": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "peer": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "peer": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "peer": true - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "peer": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "peer": true - } - } - }, - "react-native-webview": { - "version": "11.26.1", - "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.26.1.tgz", - "integrity": "sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw==", - "requires": { - "escape-string-regexp": "2.0.0", - "invariant": "2.2.4" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - } - } - }, - "react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "peer": true - }, - "react-shallow-renderer": { - "version": "16.15.0", - "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", - "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", - "peer": true, - "requires": { - "object-assign": "^4.1.1", - "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" - } - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "readline": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", - "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==", - "peer": true - }, - "real-require": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz", - "integrity": "sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==" - }, - "recast": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", - "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", - "peer": true, - "requires": { - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "peer": true - }, - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "peer": true - } - } - }, - "redis-errors": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", - "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==" - }, - "redis-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", - "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", - "requires": { - "redis-errors": "^1.0.0" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "peer": true - }, - "regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "peer": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" - }, - "regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "peer": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "peer": true, - "requires": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - } - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "peer": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "peer": true - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "peer": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "peer": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rollup-plugin-visualizer": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", - "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", - "requires": { - "open": "^8.4.0", - "picomatch": "^2.3.1", - "source-map": "^0.7.4", - "yargs": "^17.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-stable-stringify": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", - "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" - }, - "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "secp256k1": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-5.0.0.tgz", - "integrity": "sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==", - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^5.0.0", - "node-gyp-build": "^4.2.0" - }, - "dependencies": { - "node-addon-api": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", - "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" - } - } - }, - "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "peer": true, - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "peer": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "peer": true - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "peer": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "peer": true - } - } - }, - "serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", - "peer": true - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "peer": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, - "set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", - "requires": { - "define-data-property": "^1.1.2", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "peer": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "peer": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "peer": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "peer": true - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "peer": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "peer": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "peer": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } - }, - "socket.io-client": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.4.tgz", - "integrity": "sha512-wh+OkeF0rAVCrABWQBaEjLfb7DVPotMbu0cgWgyR0v6eA4EoVnAwcIeIbcdTE3GT/H3kbdLl7OoH2+asoDRIIg==", - "requires": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", - "engine.io-client": "~6.5.2", - "socket.io-parser": "~4.2.4" - } - }, - "socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "requires": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - } - }, - "sonic-boom": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz", - "integrity": "sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==", - "requires": { - "atomic-sleep": "^1.0.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "peer": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "peer": true - } - } - }, - "split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" - }, - "split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "peer": true - }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "peer": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "peer": true - } - } - }, - "stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "peer": true - }, - "stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "peer": true, - "requires": { - "type-fest": "^0.7.1" - } - }, - "standard-as-callback": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", - "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "peer": true - }, - "std-env": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", - "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" - }, - "stream-shift": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", - "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==" - }, - "strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "peer": true, - "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "peer": true - } - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "peer": true - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", - "peer": true - }, - "stylis": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" - }, - "sudo-prompt": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", - "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", - "peer": true - }, - "superstruct": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.3.tgz", - "integrity": "sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "system-architecture": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", - "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==" - }, - "temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", - "peer": true, - "requires": { - "rimraf": "~2.6.2" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "peer": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "peer": true - }, - "terser": { - "version": "5.28.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.28.1.tgz", - "integrity": "sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==", - "peer": true, - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "peer": true - } - } - }, - "thread-stream": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-0.15.2.tgz", - "integrity": "sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==", - "requires": { - "real-require": "^0.1.0" - } - }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "peer": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "peer": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "peer": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "peer": true - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "peer": true - }, - "type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", - "peer": true - }, - "typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "devOptional": true - }, - "ufo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", - "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" - }, - "uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "requires": { - "multiformats": "^9.4.2" - } - }, - "uncrypto": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", - "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==" - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "unenv": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/unenv/-/unenv-1.9.0.tgz", - "integrity": "sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==", - "requires": { - "consola": "^3.2.3", - "defu": "^6.1.3", - "mime": "^3.0.0", - "node-fetch-native": "^1.6.1", - "pathe": "^1.1.1" - }, - "dependencies": { - "mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==" - } - } - }, - "unfetch": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", - "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==" - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "peer": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "peer": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "peer": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "peer": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "peer": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "peer": true - }, - "unstorage": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.1.tgz", - "integrity": "sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==", - "requires": { - "anymatch": "^3.1.3", - "chokidar": "^3.5.3", - "destr": "^2.0.2", - "h3": "^1.8.2", - "ioredis": "^5.3.2", - "listhen": "^1.5.5", - "lru-cache": "^10.0.2", - "mri": "^1.2.0", - "node-fetch-native": "^1.4.1", - "ofetch": "^1.3.3", - "ufo": "^1.3.1" - }, - "dependencies": { - "lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" - } - } - }, - "untun": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/untun/-/untun-0.1.3.tgz", - "integrity": "sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==", - "requires": { - "citty": "^0.1.5", - "consola": "^3.2.3", - "pathe": "^1.1.1" - } - }, - "update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "peer": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uqr": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/uqr/-/uqr-0.1.2.tgz", - "integrity": "sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==" - }, - "use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "requires": {} - }, - "utf-8-validate": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-6.0.3.tgz", - "integrity": "sha512-uIuGf9TWQ/y+0Lp+KGZCMuJWc3N9BHA+l/UmHd/oUHwJJDeysyTRxNQVkbzsIWfGFbRe3OcgML/i0mvVRPOyDA==", - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "peer": true - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "valtio": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.11.2.tgz", - "integrity": "sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw==", - "requires": { - "proxy-compare": "2.5.1", - "use-sync-external-store": "1.2.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "peer": true - }, - "viem": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/viem/-/viem-2.7.16.tgz", - "integrity": "sha512-yOPa9yaoJUm44m0Qe3ugHnkHol3QQlFxN3jT+bq+lQip7X7cWdPfmguyfLWX2viCXcmYZUDiQdeFbkPW9lw11Q==", - "peer": true, - "requires": { - "@adraffy/ens-normalize": "1.10.0", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@scure/bip32": "1.3.2", - "@scure/bip39": "1.2.1", - "abitype": "1.0.0", - "isows": "1.0.3", - "ws": "8.13.0" - } - }, - "vlq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", - "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", - "peer": true - }, - "void-elements": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", - "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==" - }, - "wagmi": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-2.5.7.tgz", - "integrity": "sha512-xSuteMXFKvra4xDddqZbZv/gQlcg3X+To5AoZW7WoAm0iVlF8/vEGpQzCWy6KZs2z1szxPrr0YnH3Zr1Qj4E/A==", - "requires": { - "@wagmi/connectors": "4.1.14", - "@wagmi/core": "2.6.5", - "use-sync-external-store": "1.2.0" - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "peer": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "peer": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "webextension-polyfill": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.10.0.tgz", - "integrity": "sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==" - }, - "webextension-polyfill-ts": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill-ts/-/webextension-polyfill-ts-0.25.0.tgz", - "integrity": "sha512-ikQhwwHYkpBu00pFaUzIKY26I6L87DeRI+Q6jBT1daZUNuu8dSrg5U9l/ZbqdaQ1M/TTSPKeAa3kolP5liuedw==", - "requires": { - "webextension-polyfill": "^0.7.0" - }, - "dependencies": { - "webextension-polyfill": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.7.0.tgz", - "integrity": "sha512-su48BkMLxqzTTvPSE1eWxKToPS2Tv5DLGxKexLEVpwFd6Po6N8hhSLIvG6acPAg7qERoEaDL+Y5HQJeJeml5Aw==" - } - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "whatwg-fetch": { - "version": "3.6.20", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", - "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", - "peer": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" - }, - "which-typed-array": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", - "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", - "requires": { - "available-typed-arrays": "^1.0.6", - "call-bind": "^1.0.5", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.1" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "peer": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", - "requires": {} - }, - "xmlhttprequest-ssl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", - "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "peer": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - } - } - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "peer": true - }, - "zustand": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.4.1.tgz", - "integrity": "sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==", - "requires": { - "use-sync-external-store": "1.2.0" - } } } } diff --git a/package.json b/package.json index 08e3053..4585239 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@pinax/chains", - "version": "1.1.16", + "version": "2.0.0-rc", "description": "Single-source-of-truth for the metadata of chains supported by Pinax.", "keywords": [ "chains", @@ -27,6 +27,7 @@ "prepare": "husky" }, "devDependencies": { + "@token-icons/core": "^2.0.4", "husky": "^9.0.11", "prettier": "^3.2.5" }, diff --git a/scripts/generate/data_json.js b/scripts/generate/data_json.js index d39e6db..7292333 100644 --- a/scripts/generate/data_json.js +++ b/scripts/generate/data_json.js @@ -1,28 +1,77 @@ const fs = require('fs'); const path = require('path'); +const tokens = JSON.parse(fs.readFileSync(path.resolve('node_modules/@token-icons/core/dist/metadata/tokens.json'))); +const networks = JSON.parse(fs.readFileSync(path.resolve('node_modules/@token-icons/core/dist/metadata/networks.json'))); + +// Define the path to the config file +const indexConfigPath = path.join(__dirname, '../../configs/index.config.json'); + +// Read the config file +const indexConf = JSON.parse(fs.readFileSync(indexConfigPath, 'utf8')); + // Define the directory containing the JSON files -const directoryPath = path.join(__dirname, '../..//data/chains'); +const directoryPath = path.join(__dirname, '../../data'); + +const data = []; +const warnings = []; -// Read the directory -fs.readdir(directoryPath, (err, files) => { - if (err) { - return console.error('Unable to scan directory: ' + err); +Object.keys(indexConf).forEach((mainnet, mainnetIndex) => { + // Read mainnet data file + const mainnetDirPath = path.join(directoryPath, mainnet); + const mainnetFilePath = path.join(mainnetDirPath, "meta.json"); + const mainnetData = JSON.parse(fs.readFileSync(mainnetFilePath, 'utf8')); + + // Set the index for the mainnet (multiplied by 1000 to avoid conflicts with subnets) + mainnetData.index = mainnetIndex * 1000; + + // Inject icon data from token-icons + if (mainnetData.icon.id.indexOf('tokens') !== -1) { + const iconMeta = tokens.find(token => token.id === mainnetData.icon.id.split('/')[1]); + if (iconMeta) { + mainnetData.icon.variants = iconMeta.variants; + } else { + warnings.push(`⚠️ Could not find icon meta for '${mainnetData.icon.id}'`); + } + } + else { + const iconMeta = networks.find(network => network.id === mainnetData.icon.id.split('/')[1]); + if (iconMeta) { + mainnetData.icon.variants = iconMeta.variants; + } else { + warnings.push(`⚠️ Could not find icon meta for '${mainnetData.icon.id}'`); + } } - let data = []; + // Loop through the subnets + indexConf[mainnet].forEach((subnet, subnetIndex) => { + // Read subnet data file + const subnetDirPath = path.join(mainnetDirPath, subnet); + const subnetFilePath = path.join(subnetDirPath, "meta.json"); + const subnetData = JSON.parse(fs.readFileSync(subnetFilePath, 'utf8')); - // Loop through all the files in the directory - files.forEach((file) => { - // Only process .json files - if (path.extname(file) === '.json') { - // Read the JSON file - const fileData = fs.readFileSync(path.join(directoryPath, file)); - // Parse the file data as JSON and add it to the array - data.push(JSON.parse(fileData)); + subnetData.index = mainnetData.index + subnetIndex + 1; + + // Add subnet data to mainnet data, depending on the subnet type (consensus layer or testnet) + if (subnetData.id.indexOf("-cl") !== -1) { + if (!mainnetData.consensus_layers) mainnetData.consensus_layers = []; + mainnetData.consensus_layers.push(subnetData); + } else { + if (!mainnetData.testnets) mainnetData.testnets = []; + mainnetData.testnets.push(subnetData); } }); - - // Write the combined data to a new JSON file - fs.writeFileSync(path.join('./', 'data.json'), JSON.stringify(data, null, 2)); + data.push(mainnetData); }); + +// Write the combined data to a new JSON file +fs.writeFileSync(path.join('./', 'data.json'), JSON.stringify(data, null, 2)); + +// Log warnings +if (warnings.length) { + console.log(warnings.join('\n')); + console.log(`☑️ Data written to 'data.json' with ${warnings.length} warnings`); +} else { + console.log(`✅ Data written to 'data.json'`); +} + diff --git a/types/chain.types.ts b/types/chain.types.ts index a8145c8..8725ff4 100644 --- a/types/chain.types.ts +++ b/types/chain.types.ts @@ -1,57 +1,59 @@ import { BlockType } from './block.types'; import { GraphId } from './graph.types'; -import { Mainnet } from './mainnet.types'; import { PinaxId } from './pinax.types'; import { SupportedServices } from './service.types'; import { Standard } from './standard.types'; -/** - * Describes the Data that needs to be provided for a Chain. - * - * The Chain type theb extends the Chain type to include - * the generated fields. - */ -export type Chain = { - // Pinax ID +export type ChainBase = { + // Testnet ID id: PinaxId; - // Verbose Name + // Testnet Name name: string; // The Graph ID - // See graph.types.ts for instructions on how to retrieve Graph IDs + // See docs/retrieve_graph_ids.md graph_id: GraphId | null; - // Display Priority + // Display Priority, lower is higher index: number; // Alternative Names alt_names: string[]; - // Mainnet ID - mainnet: Mainnet; + // Whether or not the chain supports our existing services + supported_services: SupportedServices; +}; + +// Consensus Layers handled like Testnets for now +export type ConsensusLayer = ChainBase; +export type Testnet = ChainBase; +/** + * Describes the Data that needs to be provided for a Chain. + * + * The Chain type theb extends the Chain type to include + * the generated fields. + */ +export interface Chain extends ChainBase { // Chain Standard (ie. ERC20) standard: Standard | null; // Block Type block_type: BlockType; - // Image URL - img: string; + icon: { + // Token Icon ID + id: string; - // Image URL (Inverted) if is_img_dt_invert is true - img_invert?: string; + // Theme of the Icon brand + brand_theme: 'light' | 'dark' | 'both'; + }; - // Whether or not the image should be inverted - is_img_dt_invert: boolean; + testnets: Array; - // Whether or not the chain is a testnet - is_testnet: boolean; - - // Whether or not the chain supports our existing services - supported_services: SupportedServices; + consensus_layers: Array; // Any additional metadata we want to store (ie. Wagmi) // metadata: any | null; -}; +} diff --git a/types/graph.types.ts b/types/graph.types.ts index 6f09763..5bbb50e 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,8 +1,7 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 2024-03-05, 4:08:06 p.m.. +// Last generation on 2024-04-08, 11:39:51 p.m.. export type GraphId = - | 'arbitrum-goerli' | 'arbitrum-one' | 'arbitrum-sepolia' | 'arweave-mainnet' @@ -13,22 +12,22 @@ export type GraphId = | 'avalanche' | 'base' | 'base-sepolia' - | 'base-testnet' | 'blast-mainnet' | 'blast-testnet' | 'boba' | 'bsc' + | 'btc' | 'celo' | 'celo-alfajores' | 'chapel' | 'clover' | 'cosmoshub-4' + | 'etherlink-testnet' | 'fantom' | 'fantom-testnet' | 'fuji' | 'fuse' | 'gnosis' - | 'goerli' | 'harmony' | 'holesky' | 'linea' @@ -42,11 +41,11 @@ export type GraphId = | 'near-mainnet' | 'near-testnet' | 'optimism' - | 'optimism-goerli' | 'optimism-sepolia' | 'osmo-test-4' | 'osmosis-1' | 'poa-core' + | 'polygon-amoy' | 'polygon-zkevm' | 'polygon-zkevm-testnet' | 'scroll' @@ -54,6 +53,9 @@ export type GraphId = | 'sei-testnet' | 'sepolia' | 'theta-testnet-001' + | 'xlayer-mainnet' + | 'xlayer-sepolia' | 'zksync-era' | 'zksync-era-sepolia' - | 'zksync-era-testnet'; + | 'zksync-era-testnet' + | 'zkyoto-testnet'; diff --git a/types/mainnet.types.ts b/types/mainnet.types.ts deleted file mode 100644 index 3ab1b75..0000000 --- a/types/mainnet.types.ts +++ /dev/null @@ -1,28 +0,0 @@ -export type Mainnet = - | 'arbitrum' - | 'arweave' - | 'avalanche' - | 'base' - | 'bsc' - | 'bitcoin' - | 'celo' - | 'cosmoshub' - | 'decimal' - | 'eth' - | 'eos' - | 'fantom' - | 'gnosis' - | 'juno' - | 'kava' - | 'moonbeam' - | 'near' - | 'optimism' - | 'ore' - | 'osmosis' - | 'polygon' - | 'scroll' - | 'starknet' - | 'telos' - | 'ux' - | 'wax' - | 'zkatana'; diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 091f38c..180a337 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 2024-03-05, 4:08:07 p.m.. +// Last generation on 2024-04-08, 11:39:43 p.m.. export type PinaxId = | 'alfajores' | 'arbgoerli' @@ -13,14 +13,17 @@ export type PinaxId = | 'bsc' | 'celo' | 'chapel' + | 'chiado-cl' | 'chiado' | 'cosmoshub' | 'decimal' | 'eos' + | 'eth-cl' | 'eth' | 'fantom' + | 'gnosis-cl' | 'gnosis' - | 'goerli' + | 'holesky-cl' | 'holesky' | 'jungle4' | 'kava' @@ -33,6 +36,7 @@ export type PinaxId = | 'osmosis' | 'polygon' | 'scroll' + | 'sepolia-cl' | 'sepolia' | 'starknet' | 'telos' diff --git a/utils/chains.ts b/utils/chains.ts new file mode 100644 index 0000000..53a1b16 --- /dev/null +++ b/utils/chains.ts @@ -0,0 +1,63 @@ +import { ChainBase } from '../types/chain.types'; + +// Copied over form website, probably worth moving to @pinax/chains repo. + +const isFirehoseSupported = (chain: ChainBase): boolean => { + return ( + chain?.supported_services?.firehose?.released_at !== null && + chain?.supported_services?.firehose?.deprecated_at === null + ); +}; + +const isSubstreamsSupported = (chain: ChainBase): boolean => { + return ( + chain?.supported_services?.substreams?.released_at !== null && + chain?.supported_services?.substreams?.deprecated_at === null + ); +}; + +const isRpcSupported = (chain: ChainBase): boolean => { + return ( + chain?.supported_services?.rpc?.released_at !== null && + chain?.supported_services?.rpc?.deprecated_at === null + ); +}; + +const isChainSupported = (chain: ChainBase): boolean => { + return ( + isFirehoseSupported(chain) || + isSubstreamsSupported(chain) || + isRpcSupported(chain) + ); +}; + +const wasFirehoseOnceSupported = (chain: ChainBase): boolean => { + return chain?.supported_services?.firehose?.released_at !== null; +}; + +const wasSubstreamsOnceSupported = (chain: ChainBase): boolean => { + return chain?.supported_services?.substreams?.released_at !== null; +}; + +const wasRpcOnceSupported = (chain: ChainBase): boolean => { + return chain?.supported_services?.rpc?.released_at !== null; +}; + +const wasChainOnceSupported = (chain: ChainBase): boolean => { + return ( + wasFirehoseOnceSupported(chain) || + wasSubstreamsOnceSupported(chain) || + wasRpcOnceSupported(chain) + ); +}; + +export { + isFirehoseSupported, + isSubstreamsSupported, + isRpcSupported, + isChainSupported, + wasFirehoseOnceSupported, + wasSubstreamsOnceSupported, + wasRpcOnceSupported, + wasChainOnceSupported, +}; From 34af64440fbba0bc4eb0d79b639ed8ecb40e5825 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Tue, 9 Apr 2024 01:14:01 -0400 Subject: [PATCH 02/51] Fixed types exports --- data.d.ts | 6 +++--- index.ts | 1 + types/chain.types.ts | 7 ++++++- utils/index.ts | 3 +++ 4 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 utils/index.ts diff --git a/data.d.ts b/data.d.ts index 578c208..eba0e3f 100644 --- a/data.d.ts +++ b/data.d.ts @@ -1,5 +1,5 @@ import { BlockType } from './types/block.types'; -import { Chain, Testnet, ConsensusLayer } from './types/chain.types'; +import { BaseChain, Chain, Testnet, ConsensusLayer } from './types/chain.types'; import { GraphId } from './types/graph.types'; import { Mainnet } from './types/mainnet.types'; import { PinaxId } from './types/pinax.types'; @@ -8,11 +8,11 @@ import { Standard } from './types/standard.types'; export { BlockType, - Chain as Mainnet, + BaseChain, + Chain, Testnet, ConsensusLayer, GraphId, - Chain as Mainnet, PinaxId, SupportedServices, Standard, diff --git a/index.ts b/index.ts index 31dd3fb..9d150a7 100644 --- a/index.ts +++ b/index.ts @@ -1,3 +1,4 @@ import * as data from './data'; import * as utils from './utils'; + export default { data, utils }; diff --git a/types/chain.types.ts b/types/chain.types.ts index 8725ff4..a0e3dde 100644 --- a/types/chain.types.ts +++ b/types/chain.types.ts @@ -48,10 +48,15 @@ export interface Chain extends ChainBase { // Theme of the Icon brand brand_theme: 'light' | 'dark' | 'both'; + + // Generated by ./scripts/generate/data_json.js + variants: Array<'branded' | 'mono'>; }; + // Merged by ./scripts/generate/data_json.js testnets: Array; - + + // Merged by ./scripts/generate/data_json.js consensus_layers: Array; // Any additional metadata we want to store (ie. Wagmi) diff --git a/utils/index.ts b/utils/index.ts new file mode 100644 index 0000000..9c3a235 --- /dev/null +++ b/utils/index.ts @@ -0,0 +1,3 @@ +import * as chains from './chains'; + +export { chains }; From fbf1b1e19aeffb952f5955ac0c0a8a1e3233b8ea Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Tue, 9 Apr 2024 13:46:09 -0400 Subject: [PATCH 03/51] Update structure, fix generation scripts, add precommit --- .husky/pre-commit | 3 +- data.d.ts | 19 -- dist/data.d.ts | 24 ++ data.json => dist/data.json | 245 +----------------- env.config.ts | 3 - index.ts | 4 +- package-lock.json | 32 ++- package.json | 9 +- scripts/generate/data_json.js | 61 +++-- scripts/generate/type_graphid.js | 2 +- scripts/generate/type_pinaxid.js | 57 ++-- {configs => src/configs}/index.config.json | 9 +- {data => src/data}/arbone/arbgoerli/meta.json | 0 .../data}/arbone/arbsepolia/meta.json | 0 {data => src/data}/arbone/chiado-cl/meta.json | 0 {data => src/data}/arbone/chiado/meta.json | 0 {data => src/data}/arbone/meta.json | 0 {data => src/data}/arweave/meta.json | 0 {data => src/data}/avalanche/meta.json | 0 {data => src/data}/base/meta.json | 0 {data => src/data}/bitcoin/meta.json | 0 {data => src/data}/bsc/chapel/meta.json | 0 {data => src/data}/bsc/meta.json | 0 {data => src/data}/celo/alfajores/meta.json | 0 {data => src/data}/celo/meta.json | 0 src/data/cosmoshub/juno/meta.json | 20 ++ {data => src/data}/cosmoshub/meta.json | 0 {data => src/data}/cosmoshub/theta/meta.json | 0 {data => src/data}/decimal/meta.json | 0 {data => src/data}/eos/jungle4/meta.json | 0 {data => src/data}/eos/kylin/meta.json | 0 {data => src/data}/eos/meta.json | 4 +- {data => src/data}/eth/eth-cl/meta.json | 0 src/data/eth/goerli-cl/meta.json | 20 ++ src/data/eth/goerli/meta.json | 20 ++ {data => src/data}/eth/holesky-cl/meta.json | 0 {data => src/data}/eth/holesky/meta.json | 0 {data => src/data}/eth/meta.json | 0 {data => src/data}/eth/sepolia-cl/meta.json | 0 {data => src/data}/eth/sepolia/meta.json | 0 {data => src/data}/fantom/meta.json | 0 {data => src/data}/gnosis/gnosis-cl/meta.json | 0 {data => src/data}/gnosis/meta.json | 0 {data => src/data}/kava/meta.json | 0 {data => src/data}/moonbeam/meta.json | 0 {data => src/data}/near/meta.json | 0 {data => src/data}/near/neartest/meta.json | 0 {data => src/data}/optimism/meta.json | 0 {data => src/data}/osmosis/meta.json | 0 {data => src/data}/polygon/meta.json | 0 {data => src/data}/polygon/mumbai/meta.json | 0 {data => src/data}/scroll/meta.json | 0 {data => src/data}/starknet/meta.json | 0 {data => src/data}/telos/meta.json | 0 {data => src/data}/telos/telostest/meta.json | 0 {data => src/data}/wax/meta.json | 0 {data => src/data}/wax/waxtest/meta.json | 0 {types => src/types}/block.types.ts | 0 {types => src/types}/chain.types.ts | 2 +- {types => src/types}/graph.types.ts | 2 +- {types => src/types}/pinax.types.ts | 34 +-- {types => src/types}/service.types.ts | 0 {types => src/types}/standard.types.ts | 0 {utils => src/utils}/chains.ts | 0 {utils => src/utils}/index.ts | 0 65 files changed, 218 insertions(+), 352 deletions(-) delete mode 100644 data.d.ts create mode 100644 dist/data.d.ts rename data.json => dist/data.json (81%) delete mode 100644 env.config.ts rename {configs => src/configs}/index.config.json (74%) rename {data => src/data}/arbone/arbgoerli/meta.json (100%) rename {data => src/data}/arbone/arbsepolia/meta.json (100%) rename {data => src/data}/arbone/chiado-cl/meta.json (100%) rename {data => src/data}/arbone/chiado/meta.json (100%) rename {data => src/data}/arbone/meta.json (100%) rename {data => src/data}/arweave/meta.json (100%) rename {data => src/data}/avalanche/meta.json (100%) rename {data => src/data}/base/meta.json (100%) rename {data => src/data}/bitcoin/meta.json (100%) rename {data => src/data}/bsc/chapel/meta.json (100%) rename {data => src/data}/bsc/meta.json (100%) rename {data => src/data}/celo/alfajores/meta.json (100%) rename {data => src/data}/celo/meta.json (100%) create mode 100644 src/data/cosmoshub/juno/meta.json rename {data => src/data}/cosmoshub/meta.json (100%) rename {data => src/data}/cosmoshub/theta/meta.json (100%) rename {data => src/data}/decimal/meta.json (100%) rename {data => src/data}/eos/jungle4/meta.json (100%) rename {data => src/data}/eos/kylin/meta.json (100%) rename {data => src/data}/eos/meta.json (91%) rename {data => src/data}/eth/eth-cl/meta.json (100%) create mode 100644 src/data/eth/goerli-cl/meta.json create mode 100644 src/data/eth/goerli/meta.json rename {data => src/data}/eth/holesky-cl/meta.json (100%) rename {data => src/data}/eth/holesky/meta.json (100%) rename {data => src/data}/eth/meta.json (100%) rename {data => src/data}/eth/sepolia-cl/meta.json (100%) rename {data => src/data}/eth/sepolia/meta.json (100%) rename {data => src/data}/fantom/meta.json (100%) rename {data => src/data}/gnosis/gnosis-cl/meta.json (100%) rename {data => src/data}/gnosis/meta.json (100%) rename {data => src/data}/kava/meta.json (100%) rename {data => src/data}/moonbeam/meta.json (100%) rename {data => src/data}/near/meta.json (100%) rename {data => src/data}/near/neartest/meta.json (100%) rename {data => src/data}/optimism/meta.json (100%) rename {data => src/data}/osmosis/meta.json (100%) rename {data => src/data}/polygon/meta.json (100%) rename {data => src/data}/polygon/mumbai/meta.json (100%) rename {data => src/data}/scroll/meta.json (100%) rename {data => src/data}/starknet/meta.json (100%) rename {data => src/data}/telos/meta.json (100%) rename {data => src/data}/telos/telostest/meta.json (100%) rename {data => src/data}/wax/meta.json (100%) rename {data => src/data}/wax/waxtest/meta.json (100%) rename {types => src/types}/block.types.ts (100%) rename {types => src/types}/chain.types.ts (99%) rename {types => src/types}/graph.types.ts (95%) rename {types => src/types}/pinax.types.ts (87%) rename {types => src/types}/service.types.ts (100%) rename {types => src/types}/standard.types.ts (100%) rename {utils => src/utils}/chains.ts (100%) rename {utils => src/utils}/index.ts (100%) diff --git a/.husky/pre-commit b/.husky/pre-commit index e28e0d3..4844ddf 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,2 +1,3 @@ npm run generate -git add data.json \ No newline at end of file +npm run generate:types +git add . \ No newline at end of file diff --git a/data.d.ts b/data.d.ts deleted file mode 100644 index eba0e3f..0000000 --- a/data.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { BlockType } from './types/block.types'; -import { BaseChain, Chain, Testnet, ConsensusLayer } from './types/chain.types'; -import { GraphId } from './types/graph.types'; -import { Mainnet } from './types/mainnet.types'; -import { PinaxId } from './types/pinax.types'; -import { SupportedServices } from './types/service.types'; -import { Standard } from './types/standard.types'; - -export { - BlockType, - BaseChain, - Chain, - Testnet, - ConsensusLayer, - GraphId, - PinaxId, - SupportedServices, - Standard, -}; diff --git a/dist/data.d.ts b/dist/data.d.ts new file mode 100644 index 0000000..0e60116 --- /dev/null +++ b/dist/data.d.ts @@ -0,0 +1,24 @@ +import { BlockType } from '../src/types/block.types'; +import { + BaseChain, + Chain, + Testnet, + ConsensusLayer, +} from '../src/types/chain.types'; +import { GraphId } from '../src/types/graph.types'; +import { Mainnet } from './types/mainnet.types'; +import { PinaxId } from '../src/types/pinax.types'; +import { SupportedServices } from '../src/types/service.types'; +import { Standard } from '../src/types/standard.types'; + +export { + BlockType, + BaseChain, + Chain, + Testnet, + ConsensusLayer, + GraphId, + PinaxId, + SupportedServices, + Standard, +}; diff --git a/data.json b/dist/data.json similarity index 81% rename from data.json rename to dist/data.json index f930ded..a31c5cc 100644 --- a/data.json +++ b/dist/data.json @@ -793,8 +793,11 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "icon": { - "id": "networks/eos", - "brand_theme": "TBD" + "id": "tokens/eos", + "brand_theme": "light", + "variants": [ + "mono" + ] }, "supported_services": { "firehose": { @@ -969,243 +972,5 @@ "index": 15001 } ] - }, - { - "id": "avalanche", - "graph_id": "avalanche", - "name": "Avalanche", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/avalanche", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - }, - "index": 16000 - }, - { - "id": "fantom", - "graph_id": "fantom", - "name": "Fantom", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/fantom", - "brand_theme": "light", - "variants": [ - "branded", - "mono" - ] - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - }, - "index": 17000 - }, - { - "id": "moonbeam", - "graph_id": "moonbeam", - "name": "Moonbeam", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/moonbeam", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - }, - "index": 18000 - }, - { - "id": "scroll", - "graph_id": "scroll", - "name": "Scroll", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/scroll", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - }, - "index": 19000 - }, - { - "id": "decimal", - "graph_id": null, - "name": "Decimal", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/decimal", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - }, - "index": 20000 - }, - { - "id": "kava", - "graph_id": null, - "name": "Kava", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/kava", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - }, - "index": 21000 - }, - { - "id": "starknet", - "graph_id": null, - "name": "Starknet", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/starknet", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - }, - "index": 22000 } ] \ No newline at end of file diff --git a/env.config.ts b/env.config.ts deleted file mode 100644 index 8bb0e9f..0000000 --- a/env.config.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const DEFAULT_SERVICE_PORT = 443; -export const DOMAIN = 'pinax.network'; -export const DEFAULT_IMG_BASE_URL = `https://${DOMAIN}/vector/chain`; diff --git a/index.ts b/index.ts index 9d150a7..1e7f7cf 100644 --- a/index.ts +++ b/index.ts @@ -1,4 +1,4 @@ -import * as data from './data'; -import * as utils from './utils'; +import * as data from './dist/data'; +import * as utils from './src/utils'; export default { data, utils }; diff --git a/package-lock.json b/package-lock.json index ad5efab..849c974 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,32 +1,35 @@ { "name": "@pinax/chains", - "version": "1.1.16", + "version": "2.0.0-rc", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@pinax/chains", - "version": "1.1.16", + "version": "2.0.0-rc", + "bundleDependencies": [ + "@token-icons/core" + ], "devDependencies": { - "@token-icons/core": "^2.0.4", + "@token-icons/core": "^2.1.0", "husky": "^9.0.11", "prettier": "^3.2.5" } }, "node_modules/@token-icons/core": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.0.4.tgz", - "integrity": "sha512-QmQq7QMFL41WOlBW8hYIqINo8A5iml8KVjwODzUxAamPQgN94Y8rqNDf2Wlox4etM5s3IsM+LiyxAefqNP4PQA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.1.0.tgz", + "integrity": "sha512-V36Ijnq0mlpVx9NMZw99EV+4eY45r/k9+CuwMe8Q/4WR8JqbjK4WNrZtH5luA53IkjClVW45sdKAq1a8XZR+hQ==", "dev": true, + "inBundle": true, "peerDependencies": { "typescript": "5.3.0" } }, "node_modules/husky": { "version": "9.0.11", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", - "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", "dev": true, + "license": "MIT", "bin": { "husky": "bin.mjs" }, @@ -39,9 +42,8 @@ }, "node_modules/prettier": { "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -55,21 +57,17 @@ }, "dependencies": { "@token-icons/core": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.0.4.tgz", - "integrity": "sha512-QmQq7QMFL41WOlBW8hYIqINo8A5iml8KVjwODzUxAamPQgN94Y8rqNDf2Wlox4etM5s3IsM+LiyxAefqNP4PQA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.1.0.tgz", + "integrity": "sha512-V36Ijnq0mlpVx9NMZw99EV+4eY45r/k9+CuwMe8Q/4WR8JqbjK4WNrZtH5luA53IkjClVW45sdKAq1a8XZR+hQ==", "dev": true }, "husky": { "version": "9.0.11", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", - "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", "dev": true }, "prettier": { "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true } } diff --git a/package.json b/package.json index 4585239..c92314e 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,8 @@ "main": "data.json", "types": "data.d.ts", "files": [ - "data.json", - "data.d.ts", + "dist/data.json", + "dist/data.d.ts", "types/**.ts" ], "scripts": { @@ -27,10 +27,13 @@ "prepare": "husky" }, "devDependencies": { - "@token-icons/core": "^2.0.4", + "@token-icons/core": "^2.1.0", "husky": "^9.0.11", "prettier": "^3.2.5" }, + "bundledDependencies": [ + "@token-icons/core" + ], "repository": { "type": "git", "url": "git+https://github.com/pinax-network/chains.git" diff --git a/scripts/generate/data_json.js b/scripts/generate/data_json.js index 7292333..02554f8 100644 --- a/scripts/generate/data_json.js +++ b/scripts/generate/data_json.js @@ -1,17 +1,28 @@ const fs = require('fs'); const path = require('path'); -const tokens = JSON.parse(fs.readFileSync(path.resolve('node_modules/@token-icons/core/dist/metadata/tokens.json'))); -const networks = JSON.parse(fs.readFileSync(path.resolve('node_modules/@token-icons/core/dist/metadata/networks.json'))); +const tokens = JSON.parse( + fs.readFileSync( + path.resolve('node_modules/@token-icons/core/dist/metadata/tokens.json'), + ), +); +const networks = JSON.parse( + fs.readFileSync( + path.resolve('node_modules/@token-icons/core/dist/metadata/networks.json'), + ), +); // Define the path to the config file -const indexConfigPath = path.join(__dirname, '../../configs/index.config.json'); +const indexConfigPath = path.join( + __dirname, + '../../src/configs/index.config.json', +); // Read the config file const indexConf = JSON.parse(fs.readFileSync(indexConfigPath, 'utf8')); // Define the directory containing the JSON files -const directoryPath = path.join(__dirname, '../../data'); +const directoryPath = path.join(__dirname, '../../src/data'); const data = []; const warnings = []; @@ -19,7 +30,7 @@ const warnings = []; Object.keys(indexConf).forEach((mainnet, mainnetIndex) => { // Read mainnet data file const mainnetDirPath = path.join(directoryPath, mainnet); - const mainnetFilePath = path.join(mainnetDirPath, "meta.json"); + const mainnetFilePath = path.join(mainnetDirPath, 'meta.json'); const mainnetData = JSON.parse(fs.readFileSync(mainnetFilePath, 'utf8')); // Set the index for the mainnet (multiplied by 1000 to avoid conflicts with subnets) @@ -27,19 +38,26 @@ Object.keys(indexConf).forEach((mainnet, mainnetIndex) => { // Inject icon data from token-icons if (mainnetData.icon.id.indexOf('tokens') !== -1) { - const iconMeta = tokens.find(token => token.id === mainnetData.icon.id.split('/')[1]); + const iconMeta = tokens.find( + (token) => token.id === mainnetData.icon.id.split('/')[1], + ); if (iconMeta) { mainnetData.icon.variants = iconMeta.variants; } else { - warnings.push(`⚠️ Could not find icon meta for '${mainnetData.icon.id}'`); + warnings.push( + `⚠️ Could not find icon meta for '${mainnetData.icon.id}'`, + ); } - } - else { - const iconMeta = networks.find(network => network.id === mainnetData.icon.id.split('/')[1]); + } else { + const iconMeta = networks.find( + (network) => network.id === mainnetData.icon.id.split('/')[1], + ); if (iconMeta) { mainnetData.icon.variants = iconMeta.variants; } else { - warnings.push(`⚠️ Could not find icon meta for '${mainnetData.icon.id}'`); + warnings.push( + `⚠️ Could not find icon meta for '${mainnetData.icon.id}'`, + ); } } @@ -47,13 +65,13 @@ Object.keys(indexConf).forEach((mainnet, mainnetIndex) => { indexConf[mainnet].forEach((subnet, subnetIndex) => { // Read subnet data file const subnetDirPath = path.join(mainnetDirPath, subnet); - const subnetFilePath = path.join(subnetDirPath, "meta.json"); + const subnetFilePath = path.join(subnetDirPath, 'meta.json'); const subnetData = JSON.parse(fs.readFileSync(subnetFilePath, 'utf8')); subnetData.index = mainnetData.index + subnetIndex + 1; // Add subnet data to mainnet data, depending on the subnet type (consensus layer or testnet) - if (subnetData.id.indexOf("-cl") !== -1) { + if (subnetData.id.indexOf('-cl') !== -1) { if (!mainnetData.consensus_layers) mainnetData.consensus_layers = []; mainnetData.consensus_layers.push(subnetData); } else { @@ -64,14 +82,25 @@ Object.keys(indexConf).forEach((mainnet, mainnetIndex) => { data.push(mainnetData); }); +// Create the 'dist' folder if it doesn't exist +const distFolderPath = path.join(__dirname, '../../dist'); +if (!fs.existsSync(distFolderPath)) { + fs.mkdirSync(distFolderPath); +} + // Write the combined data to a new JSON file -fs.writeFileSync(path.join('./', 'data.json'), JSON.stringify(data, null, 2)); +// Write the combined data to a new JSON file +fs.writeFileSync( + path.join(distFolderPath, 'data.json'), + JSON.stringify(data, null, 2), +); // Log warnings if (warnings.length) { console.log(warnings.join('\n')); - console.log(`☑️ Data written to 'data.json' with ${warnings.length} warnings`); + console.log( + `☑️ Data written to 'data.json' with ${warnings.length} warnings`, + ); } else { console.log(`✅ Data written to 'data.json'`); } - diff --git a/scripts/generate/type_graphid.js b/scripts/generate/type_graphid.js index 0d533f9..42cf042 100644 --- a/scripts/generate/type_graphid.js +++ b/scripts/generate/type_graphid.js @@ -1,7 +1,7 @@ const fs = require('fs'); const path = require('path'); -const typesDir = path.join(__dirname, '../../types'); +const typesDir = path.join(__dirname, '../../src/types'); const graphTypesFile = path.join(typesDir, 'graph.types.ts'); diff --git a/scripts/generate/type_pinaxid.js b/scripts/generate/type_pinaxid.js index ef7acb5..4e8e963 100644 --- a/scripts/generate/type_pinaxid.js +++ b/scripts/generate/type_pinaxid.js @@ -1,37 +1,50 @@ const fs = require('fs'); const path = require('path'); -const chainsDir = path.join(__dirname, '../../data/chains'); -const typesDir = path.join(__dirname, '../../types'); +const chainsDir = path.join(__dirname, '../../src/data'); +const typesDir = path.join(__dirname, '../../src/types'); const excludedFile = 'index.ts'; const pinaxTypesFile = path.join(typesDir, 'pinax.types.ts'); console.log('Generating PinaxId type...'); -// Scan the chains directory -fs.readdir(chainsDir, (err, files) => { - if (err) { - console.error('Error reading chains directory:', err); - return; - } +// Function to recursively read directories and subdirectories +function readDir(directory) { + let fileNames = []; + const files = fs.readdirSync(directory); + + files.forEach((file) => { + const filePath = path.join(directory, file); + const stats = fs.statSync(filePath); + + if (stats.isDirectory()) { + // If the file is a directory, recursively read it + fileNames = fileNames.concat(readDir(filePath)); + } else if ( + path.extname(file) === '.json' && + path.basename(file) === 'meta.json' + ) { + // If the file is a JSON file named meta.json, add the directory name to the array + fileNames.push(path.basename(directory)); + } + }); - // Filter out the excluded file - const filteredFiles = files.filter((file) => file !== excludedFile); + return fileNames; +} - // Extract the file names without the extension - const fileNames = filteredFiles.map((file) => path.parse(file).name); +// Read the directory and subdirectories +const fileNames = readDir(chainsDir); - // Generate the PinaxId type definition - const pinaxIdType = `// This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies.\n// Do not modify manually as it will be overwritten.\n// Last generation on ${new Date().toLocaleString()}.\nexport type PinaxId = '${fileNames.join("' | '")}'`; +// Generate the PinaxId type definition +const pinaxIdType = `// This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies.\n// Do not modify manually as it will be overwritten.\n// Last generation on ${new Date().toLocaleString()}.\nexport type PinaxId = '${fileNames.join("' | '")}'`; - // Write the PinaxId type definition to the types directory - fs.writeFile(pinaxTypesFile, pinaxIdType, (err) => { - if (err) { - console.error('Error writing pinax.types.ts file:', err); - return; - } +// Write the PinaxId type definition to the types directory +fs.writeFile(pinaxTypesFile, pinaxIdType, (err) => { + if (err) { + console.error('Error writing pinax.types.ts file:', err); + return; + } - console.log('✅ Generating PinaxId type'); - }); + console.log('✅ Generating PinaxId type'); }); diff --git a/configs/index.config.json b/src/configs/index.config.json similarity index 74% rename from configs/index.config.json rename to src/configs/index.config.json index f250164..db492fd 100644 --- a/configs/index.config.json +++ b/src/configs/index.config.json @@ -14,12 +14,5 @@ "osmosis": [], "eos": ["jungle4", "kylin"], "wax": ["waxtest"], - "telos": ["telostest"], - "avalanche": [], - "fantom": [], - "moonbeam": [], - "scroll": [], - "decimal": [], - "kava": [], - "starknet": [] + "telos": ["telostest"] } diff --git a/data/arbone/arbgoerli/meta.json b/src/data/arbone/arbgoerli/meta.json similarity index 100% rename from data/arbone/arbgoerli/meta.json rename to src/data/arbone/arbgoerli/meta.json diff --git a/data/arbone/arbsepolia/meta.json b/src/data/arbone/arbsepolia/meta.json similarity index 100% rename from data/arbone/arbsepolia/meta.json rename to src/data/arbone/arbsepolia/meta.json diff --git a/data/arbone/chiado-cl/meta.json b/src/data/arbone/chiado-cl/meta.json similarity index 100% rename from data/arbone/chiado-cl/meta.json rename to src/data/arbone/chiado-cl/meta.json diff --git a/data/arbone/chiado/meta.json b/src/data/arbone/chiado/meta.json similarity index 100% rename from data/arbone/chiado/meta.json rename to src/data/arbone/chiado/meta.json diff --git a/data/arbone/meta.json b/src/data/arbone/meta.json similarity index 100% rename from data/arbone/meta.json rename to src/data/arbone/meta.json diff --git a/data/arweave/meta.json b/src/data/arweave/meta.json similarity index 100% rename from data/arweave/meta.json rename to src/data/arweave/meta.json diff --git a/data/avalanche/meta.json b/src/data/avalanche/meta.json similarity index 100% rename from data/avalanche/meta.json rename to src/data/avalanche/meta.json diff --git a/data/base/meta.json b/src/data/base/meta.json similarity index 100% rename from data/base/meta.json rename to src/data/base/meta.json diff --git a/data/bitcoin/meta.json b/src/data/bitcoin/meta.json similarity index 100% rename from data/bitcoin/meta.json rename to src/data/bitcoin/meta.json diff --git a/data/bsc/chapel/meta.json b/src/data/bsc/chapel/meta.json similarity index 100% rename from data/bsc/chapel/meta.json rename to src/data/bsc/chapel/meta.json diff --git a/data/bsc/meta.json b/src/data/bsc/meta.json similarity index 100% rename from data/bsc/meta.json rename to src/data/bsc/meta.json diff --git a/data/celo/alfajores/meta.json b/src/data/celo/alfajores/meta.json similarity index 100% rename from data/celo/alfajores/meta.json rename to src/data/celo/alfajores/meta.json diff --git a/data/celo/meta.json b/src/data/celo/meta.json similarity index 100% rename from data/celo/meta.json rename to src/data/celo/meta.json diff --git a/src/data/cosmoshub/juno/meta.json b/src/data/cosmoshub/juno/meta.json new file mode 100644 index 0000000..9f02c58 --- /dev/null +++ b/src/data/cosmoshub/juno/meta.json @@ -0,0 +1,20 @@ +{ + "id": "juno", + "graph_id": null, + "name": "Juno", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/data/cosmoshub/meta.json b/src/data/cosmoshub/meta.json similarity index 100% rename from data/cosmoshub/meta.json rename to src/data/cosmoshub/meta.json diff --git a/data/cosmoshub/theta/meta.json b/src/data/cosmoshub/theta/meta.json similarity index 100% rename from data/cosmoshub/theta/meta.json rename to src/data/cosmoshub/theta/meta.json diff --git a/data/decimal/meta.json b/src/data/decimal/meta.json similarity index 100% rename from data/decimal/meta.json rename to src/data/decimal/meta.json diff --git a/data/eos/jungle4/meta.json b/src/data/eos/jungle4/meta.json similarity index 100% rename from data/eos/jungle4/meta.json rename to src/data/eos/jungle4/meta.json diff --git a/data/eos/kylin/meta.json b/src/data/eos/kylin/meta.json similarity index 100% rename from data/eos/kylin/meta.json rename to src/data/eos/kylin/meta.json diff --git a/data/eos/meta.json b/src/data/eos/meta.json similarity index 91% rename from data/eos/meta.json rename to src/data/eos/meta.json index bb2b47c..7dc7a12 100644 --- a/data/eos/meta.json +++ b/src/data/eos/meta.json @@ -9,8 +9,8 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "icon": { - "id": "networks/eos", - "brand_theme": "TBD" + "id": "tokens/eos", + "brand_theme": "light" }, "supported_services": { "firehose": { diff --git a/data/eth/eth-cl/meta.json b/src/data/eth/eth-cl/meta.json similarity index 100% rename from data/eth/eth-cl/meta.json rename to src/data/eth/eth-cl/meta.json diff --git a/src/data/eth/goerli-cl/meta.json b/src/data/eth/goerli-cl/meta.json new file mode 100644 index 0000000..5dcec4a --- /dev/null +++ b/src/data/eth/goerli-cl/meta.json @@ -0,0 +1,20 @@ +{ + "id": "goerli-cl", + "graph_id": null, + "name": "Goerli Consensus Layer", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} diff --git a/src/data/eth/goerli/meta.json b/src/data/eth/goerli/meta.json new file mode 100644 index 0000000..116a0ed --- /dev/null +++ b/src/data/eth/goerli/meta.json @@ -0,0 +1,20 @@ +{ + "id": "goerli", + "graph_id": "goerli", + "name": "Goerli", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-03-21T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-03-21T00:00:00.000Z" + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-03-21T00:00:00.000Z" + } + } +} diff --git a/data/eth/holesky-cl/meta.json b/src/data/eth/holesky-cl/meta.json similarity index 100% rename from data/eth/holesky-cl/meta.json rename to src/data/eth/holesky-cl/meta.json diff --git a/data/eth/holesky/meta.json b/src/data/eth/holesky/meta.json similarity index 100% rename from data/eth/holesky/meta.json rename to src/data/eth/holesky/meta.json diff --git a/data/eth/meta.json b/src/data/eth/meta.json similarity index 100% rename from data/eth/meta.json rename to src/data/eth/meta.json diff --git a/data/eth/sepolia-cl/meta.json b/src/data/eth/sepolia-cl/meta.json similarity index 100% rename from data/eth/sepolia-cl/meta.json rename to src/data/eth/sepolia-cl/meta.json diff --git a/data/eth/sepolia/meta.json b/src/data/eth/sepolia/meta.json similarity index 100% rename from data/eth/sepolia/meta.json rename to src/data/eth/sepolia/meta.json diff --git a/data/fantom/meta.json b/src/data/fantom/meta.json similarity index 100% rename from data/fantom/meta.json rename to src/data/fantom/meta.json diff --git a/data/gnosis/gnosis-cl/meta.json b/src/data/gnosis/gnosis-cl/meta.json similarity index 100% rename from data/gnosis/gnosis-cl/meta.json rename to src/data/gnosis/gnosis-cl/meta.json diff --git a/data/gnosis/meta.json b/src/data/gnosis/meta.json similarity index 100% rename from data/gnosis/meta.json rename to src/data/gnosis/meta.json diff --git a/data/kava/meta.json b/src/data/kava/meta.json similarity index 100% rename from data/kava/meta.json rename to src/data/kava/meta.json diff --git a/data/moonbeam/meta.json b/src/data/moonbeam/meta.json similarity index 100% rename from data/moonbeam/meta.json rename to src/data/moonbeam/meta.json diff --git a/data/near/meta.json b/src/data/near/meta.json similarity index 100% rename from data/near/meta.json rename to src/data/near/meta.json diff --git a/data/near/neartest/meta.json b/src/data/near/neartest/meta.json similarity index 100% rename from data/near/neartest/meta.json rename to src/data/near/neartest/meta.json diff --git a/data/optimism/meta.json b/src/data/optimism/meta.json similarity index 100% rename from data/optimism/meta.json rename to src/data/optimism/meta.json diff --git a/data/osmosis/meta.json b/src/data/osmosis/meta.json similarity index 100% rename from data/osmosis/meta.json rename to src/data/osmosis/meta.json diff --git a/data/polygon/meta.json b/src/data/polygon/meta.json similarity index 100% rename from data/polygon/meta.json rename to src/data/polygon/meta.json diff --git a/data/polygon/mumbai/meta.json b/src/data/polygon/mumbai/meta.json similarity index 100% rename from data/polygon/mumbai/meta.json rename to src/data/polygon/mumbai/meta.json diff --git a/data/scroll/meta.json b/src/data/scroll/meta.json similarity index 100% rename from data/scroll/meta.json rename to src/data/scroll/meta.json diff --git a/data/starknet/meta.json b/src/data/starknet/meta.json similarity index 100% rename from data/starknet/meta.json rename to src/data/starknet/meta.json diff --git a/data/telos/meta.json b/src/data/telos/meta.json similarity index 100% rename from data/telos/meta.json rename to src/data/telos/meta.json diff --git a/data/telos/telostest/meta.json b/src/data/telos/telostest/meta.json similarity index 100% rename from data/telos/telostest/meta.json rename to src/data/telos/telostest/meta.json diff --git a/data/wax/meta.json b/src/data/wax/meta.json similarity index 100% rename from data/wax/meta.json rename to src/data/wax/meta.json diff --git a/data/wax/waxtest/meta.json b/src/data/wax/waxtest/meta.json similarity index 100% rename from data/wax/waxtest/meta.json rename to src/data/wax/waxtest/meta.json diff --git a/types/block.types.ts b/src/types/block.types.ts similarity index 100% rename from types/block.types.ts rename to src/types/block.types.ts diff --git a/types/chain.types.ts b/src/types/chain.types.ts similarity index 99% rename from types/chain.types.ts rename to src/types/chain.types.ts index a0e3dde..02278d8 100644 --- a/types/chain.types.ts +++ b/src/types/chain.types.ts @@ -55,7 +55,7 @@ export interface Chain extends ChainBase { // Merged by ./scripts/generate/data_json.js testnets: Array; - + // Merged by ./scripts/generate/data_json.js consensus_layers: Array; diff --git a/types/graph.types.ts b/src/types/graph.types.ts similarity index 95% rename from types/graph.types.ts rename to src/types/graph.types.ts index 5bbb50e..9ba65a3 100644 --- a/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 2024-04-08, 11:39:51 p.m.. +// Last generation on 2024-04-09, 1:46:12 p.m.. export type GraphId = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/src/types/pinax.types.ts similarity index 87% rename from types/pinax.types.ts rename to src/types/pinax.types.ts index 180a337..8185b29 100644 --- a/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,47 +1,49 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 2024-04-08, 11:39:43 p.m.. +// Last generation on 2024-04-09, 1:46:12 p.m.. export type PinaxId = - | 'alfajores' | 'arbgoerli' - | 'arbone' | 'arbsepolia' + | 'chiado' + | 'chiado-cl' + | 'arbone' | 'arweave' | 'avalanche' | 'base' | 'bitcoin' + | 'chapel' | 'bsc' + | 'alfajores' | 'celo' - | 'chapel' - | 'chiado-cl' - | 'chiado' + | 'juno' | 'cosmoshub' + | 'theta' | 'decimal' + | 'jungle4' + | 'kylin' | 'eos' | 'eth-cl' + | 'goerli' + | 'goerli-cl' + | 'holesky' + | 'holesky-cl' | 'eth' + | 'sepolia' + | 'sepolia-cl' | 'fantom' | 'gnosis-cl' | 'gnosis' - | 'holesky-cl' - | 'holesky' - | 'jungle4' | 'kava' - | 'kylin' | 'moonbeam' - | 'mumbai' | 'near' | 'neartest' | 'optimism' | 'osmosis' | 'polygon' + | 'mumbai' | 'scroll' - | 'sepolia-cl' - | 'sepolia' | 'starknet' | 'telos' | 'telostest' - | 'theta' | 'wax' - | 'waxtest' - | 'zkatana'; + | 'waxtest'; diff --git a/types/service.types.ts b/src/types/service.types.ts similarity index 100% rename from types/service.types.ts rename to src/types/service.types.ts diff --git a/types/standard.types.ts b/src/types/standard.types.ts similarity index 100% rename from types/standard.types.ts rename to src/types/standard.types.ts diff --git a/utils/chains.ts b/src/utils/chains.ts similarity index 100% rename from utils/chains.ts rename to src/utils/chains.ts diff --git a/utils/index.ts b/src/utils/index.ts similarity index 100% rename from utils/index.ts rename to src/utils/index.ts From 2e31a80c35c3d9e9b3a0a99c48a119d6d8bb00ba Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 10 Apr 2024 10:08:12 -0400 Subject: [PATCH 04/51] Converted data entry JSON files to typescript for type validation. --- README.md | 51 +++++------ bun.lockb | Bin 0 -> 4227 bytes dist/data.json | 2 +- docs/adding_updating_deprecating.md | 25 ++++++ docs/updating_dependent_products.md | 8 ++ package.json | 18 ++-- scripts/fetchGraphIDs.js | 21 ----- scripts/fetchGraphIDs.ts | 26 ++++++ scripts/generate/data_index.ts | 32 +++++++ .../generate/{data_json.js => data_json.ts} | 82 +++++++++++------- scripts/generate/type_graphid.js | 38 -------- scripts/generate/type_graphid.ts | 46 ++++++++++ .../{type_pinaxid.js => type_pinaxid.ts} | 21 +++-- src/data/arbone/arbgoerli/meta.json | 20 ----- src/data/arbone/arbgoerli/meta.ts | 24 +++++ src/data/arbone/arbsepolia/meta.json | 20 ----- src/data/arbone/arbsepolia/meta.ts | 24 +++++ src/data/arbone/chiado-cl/meta.json | 20 ----- src/data/arbone/chiado-cl/meta.ts | 24 +++++ src/data/arbone/chiado/meta.json | 20 ----- src/data/arbone/chiado/meta.ts | 24 +++++ src/data/arbone/meta.json | 29 ------- src/data/arbone/meta.ts | 33 +++++++ src/data/arweave/meta.json | 29 ------- src/data/arweave/meta.ts | 33 +++++++ src/data/avalanche/meta.json | 29 ------- src/data/avalanche/meta.ts | 33 +++++++ src/data/base/meta.json | 29 ------- src/data/base/meta.ts | 33 +++++++ src/data/bitcoin/meta.json | 31 ------- src/data/bitcoin/meta.ts | 33 +++++++ src/data/bsc/chapel/meta.json | 20 ----- src/data/bsc/chapel/meta.ts | 24 +++++ src/data/bsc/meta.json | 32 ------- src/data/bsc/meta.ts | 33 +++++++ src/data/celo/alfajores/meta.json | 20 ----- src/data/celo/alfajores/meta.ts | 24 +++++ src/data/celo/meta.json | 29 ------- src/data/celo/meta.ts | 33 +++++++ src/data/cosmoshub/juno/meta.json | 20 ----- src/data/cosmoshub/juno/meta.ts | 24 +++++ src/data/cosmoshub/meta.json | 29 ------- src/data/cosmoshub/meta.ts | 33 +++++++ src/data/cosmoshub/theta/meta.json | 20 ----- src/data/cosmoshub/theta/meta.ts | 24 +++++ src/data/decimal/meta.json | 29 ------- src/data/decimal/meta.ts | 33 +++++++ src/data/eos/jungle4/meta.json | 20 ----- src/data/eos/jungle4/meta.ts | 24 +++++ src/data/eos/kylin/meta.json | 20 ----- src/data/eos/kylin/meta.ts | 24 +++++ src/data/eos/meta.json | 29 ------- src/data/eos/meta.ts | 33 +++++++ src/data/eth/eth-cl/meta.json | 20 ----- src/data/eth/eth-cl/meta.ts | 24 +++++ src/data/eth/goerli-cl/meta.json | 20 ----- src/data/eth/goerli-cl/meta.ts | 24 +++++ src/data/eth/goerli/meta.json | 20 ----- src/data/eth/goerli/meta.ts | 24 +++++ src/data/eth/holesky-cl/meta.json | 20 ----- src/data/eth/holesky-cl/meta.ts | 24 +++++ src/data/eth/holesky/meta.json | 20 ----- src/data/eth/holesky/meta.ts | 24 +++++ src/data/eth/meta.json | 29 ------- src/data/eth/meta.ts | 33 +++++++ src/data/eth/sepolia-cl/meta.json | 20 ----- src/data/eth/sepolia-cl/meta.ts | 24 +++++ src/data/eth/sepolia/meta.json | 20 ----- src/data/eth/sepolia/meta.ts | 24 +++++ src/data/fantom/meta.json | 29 ------- src/data/fantom/meta.ts | 33 +++++++ src/data/gnosis/gnosis-cl/meta.json | 20 ----- src/data/gnosis/gnosis-cl/meta.ts | 24 +++++ src/data/gnosis/meta.json | 29 ------- src/data/gnosis/meta.ts | 33 +++++++ src/data/index.ts | 45 ++++++++++ src/data/kava/meta.json | 29 ------- src/data/kava/meta.ts | 33 +++++++ src/data/moonbeam/meta.json | 29 ------- src/data/moonbeam/meta.ts | 33 +++++++ src/data/near/meta.json | 29 ------- src/data/near/meta.ts | 33 +++++++ src/data/near/neartest/meta.json | 20 ----- src/data/near/neartest/meta.ts | 24 +++++ src/data/optimism/meta.json | 29 ------- src/data/optimism/meta.ts | 33 +++++++ src/data/osmosis/meta.json | 29 ------- src/data/osmosis/meta.ts | 33 +++++++ src/data/polygon/meta.json | 31 ------- src/data/polygon/meta.ts | 33 +++++++ src/data/polygon/mumbai/meta.json | 20 ----- src/data/polygon/mumbai/meta.ts | 24 +++++ src/data/scroll/meta.json | 29 ------- src/data/scroll/meta.ts | 33 +++++++ src/data/starknet/meta.json | 29 ------- src/data/starknet/meta.ts | 33 +++++++ src/data/telos/meta.json | 29 ------- src/data/telos/meta.ts | 33 +++++++ src/data/telos/telostest/meta.json | 20 ----- src/data/telos/telostest/meta.ts | 24 +++++ src/data/wax/meta.json | 29 ------- src/data/wax/meta.ts | 33 +++++++ src/data/wax/waxtest/meta.json | 20 ----- src/data/wax/waxtest/meta.ts | 24 +++++ src/tests/assert_chain_data_format.js | 0 src/tests/assert_unexported_chains.js | 0 src/tests/assert_unique_index.js | 0 src/tests/assert_valid_icons.js | 0 src/types/chain.types.ts | 8 +- src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- src/utils/case.ts | 5 ++ ts-convert.ts | 33 +++++++ 113 files changed, 1607 insertions(+), 1259 deletions(-) create mode 100644 bun.lockb create mode 100644 docs/adding_updating_deprecating.md create mode 100644 docs/updating_dependent_products.md delete mode 100644 scripts/fetchGraphIDs.js create mode 100644 scripts/fetchGraphIDs.ts create mode 100644 scripts/generate/data_index.ts rename scripts/generate/{data_json.js => data_json.ts} (56%) delete mode 100644 scripts/generate/type_graphid.js create mode 100644 scripts/generate/type_graphid.ts rename scripts/generate/{type_pinaxid.js => type_pinaxid.ts} (72%) delete mode 100644 src/data/arbone/arbgoerli/meta.json create mode 100644 src/data/arbone/arbgoerli/meta.ts delete mode 100644 src/data/arbone/arbsepolia/meta.json create mode 100644 src/data/arbone/arbsepolia/meta.ts delete mode 100644 src/data/arbone/chiado-cl/meta.json create mode 100644 src/data/arbone/chiado-cl/meta.ts delete mode 100644 src/data/arbone/chiado/meta.json create mode 100644 src/data/arbone/chiado/meta.ts delete mode 100644 src/data/arbone/meta.json create mode 100644 src/data/arbone/meta.ts delete mode 100644 src/data/arweave/meta.json create mode 100644 src/data/arweave/meta.ts delete mode 100644 src/data/avalanche/meta.json create mode 100644 src/data/avalanche/meta.ts delete mode 100644 src/data/base/meta.json create mode 100644 src/data/base/meta.ts delete mode 100644 src/data/bitcoin/meta.json create mode 100644 src/data/bitcoin/meta.ts delete mode 100644 src/data/bsc/chapel/meta.json create mode 100644 src/data/bsc/chapel/meta.ts delete mode 100644 src/data/bsc/meta.json create mode 100644 src/data/bsc/meta.ts delete mode 100644 src/data/celo/alfajores/meta.json create mode 100644 src/data/celo/alfajores/meta.ts delete mode 100644 src/data/celo/meta.json create mode 100644 src/data/celo/meta.ts delete mode 100644 src/data/cosmoshub/juno/meta.json create mode 100644 src/data/cosmoshub/juno/meta.ts delete mode 100644 src/data/cosmoshub/meta.json create mode 100644 src/data/cosmoshub/meta.ts delete mode 100644 src/data/cosmoshub/theta/meta.json create mode 100644 src/data/cosmoshub/theta/meta.ts delete mode 100644 src/data/decimal/meta.json create mode 100644 src/data/decimal/meta.ts delete mode 100644 src/data/eos/jungle4/meta.json create mode 100644 src/data/eos/jungle4/meta.ts delete mode 100644 src/data/eos/kylin/meta.json create mode 100644 src/data/eos/kylin/meta.ts delete mode 100644 src/data/eos/meta.json create mode 100644 src/data/eos/meta.ts delete mode 100644 src/data/eth/eth-cl/meta.json create mode 100644 src/data/eth/eth-cl/meta.ts delete mode 100644 src/data/eth/goerli-cl/meta.json create mode 100644 src/data/eth/goerli-cl/meta.ts delete mode 100644 src/data/eth/goerli/meta.json create mode 100644 src/data/eth/goerli/meta.ts delete mode 100644 src/data/eth/holesky-cl/meta.json create mode 100644 src/data/eth/holesky-cl/meta.ts delete mode 100644 src/data/eth/holesky/meta.json create mode 100644 src/data/eth/holesky/meta.ts delete mode 100644 src/data/eth/meta.json create mode 100644 src/data/eth/meta.ts delete mode 100644 src/data/eth/sepolia-cl/meta.json create mode 100644 src/data/eth/sepolia-cl/meta.ts delete mode 100644 src/data/eth/sepolia/meta.json create mode 100644 src/data/eth/sepolia/meta.ts delete mode 100644 src/data/fantom/meta.json create mode 100644 src/data/fantom/meta.ts delete mode 100644 src/data/gnosis/gnosis-cl/meta.json create mode 100644 src/data/gnosis/gnosis-cl/meta.ts delete mode 100644 src/data/gnosis/meta.json create mode 100644 src/data/gnosis/meta.ts create mode 100644 src/data/index.ts delete mode 100644 src/data/kava/meta.json create mode 100644 src/data/kava/meta.ts delete mode 100644 src/data/moonbeam/meta.json create mode 100644 src/data/moonbeam/meta.ts delete mode 100644 src/data/near/meta.json create mode 100644 src/data/near/meta.ts delete mode 100644 src/data/near/neartest/meta.json create mode 100644 src/data/near/neartest/meta.ts delete mode 100644 src/data/optimism/meta.json create mode 100644 src/data/optimism/meta.ts delete mode 100644 src/data/osmosis/meta.json create mode 100644 src/data/osmosis/meta.ts delete mode 100644 src/data/polygon/meta.json create mode 100644 src/data/polygon/meta.ts delete mode 100644 src/data/polygon/mumbai/meta.json create mode 100644 src/data/polygon/mumbai/meta.ts delete mode 100644 src/data/scroll/meta.json create mode 100644 src/data/scroll/meta.ts delete mode 100644 src/data/starknet/meta.json create mode 100644 src/data/starknet/meta.ts delete mode 100644 src/data/telos/meta.json create mode 100644 src/data/telos/meta.ts delete mode 100644 src/data/telos/telostest/meta.json create mode 100644 src/data/telos/telostest/meta.ts delete mode 100644 src/data/wax/meta.json create mode 100644 src/data/wax/meta.ts delete mode 100644 src/data/wax/waxtest/meta.json create mode 100644 src/data/wax/waxtest/meta.ts create mode 100644 src/tests/assert_chain_data_format.js create mode 100644 src/tests/assert_unexported_chains.js create mode 100644 src/tests/assert_unique_index.js create mode 100644 src/tests/assert_valid_icons.js create mode 100644 src/utils/case.ts create mode 100644 ts-convert.ts diff --git a/README.md b/README.md index 1e1d658..67491c3 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,33 @@ # Pinax Chains -This repository is the single-source-of-truth for the metadata of chains supported by Pinax. To make it more accessible, we've published it as a private npm package ([See below](#install_from_npm)) and created a public endpoint to fetch publicly available chains metadata ([See below](#public_endpoint)). +This is the single-source-of-truth for the metadata of chains supported by Pinax **_products_** (we have a separate, private list for internal ops). To make it more accessible, we've published it as a [npm package](#install_from_npm) and created a [public endpoint to fetch chains metadata](#public_endpoint). -You can have a look at the [Chain Type](/types/chain.types.ts) and at our [list of supported, to-be-supported, or once-supported chains](/data/chains). +You can have a look at the [Chain Type](/src/types/chain.types.ts) and at our [list of supported, to-be-supported, or once-supported chains](/src/types/pinax.types.ts). -**Note**: Some chains may be listed but won't have any service supported or may have been deprecated, see each chain's metadata to ensure the chain is truly supported. +> **Note**: Some chains may be listed but won't have any service supported or may have been deprecated, see each chain's metadata to ensure the chain is truly supported. -## Install from npm +## What's New + +With the 2.0 release, we've done massive changes to improve QoL for developers and maintainers. The most important changes are; + +- ✅ Easier sort of chains while keeping mainnets, testnets and consensus layer together ( Closes #5 ) +- ✅ Easier to manage chain indexes (priority order) +- ✅ No more desync of chain icons metadata and source +- ✅ Easier to understand relationship between networks as a newcomer +- ✅ No more need to maintain a bunch of flags that can be extrapolated from data +- ✅ No more duplicated information in mainnets and subnets +- ✅ Enabling chain icons to work on local environments (no longer loading from prod) +- ✅ No more need to copy-paste the chains utils between multiple projects, it's packaged here + +## Installation + +### From npm ```bash npm install @pinax/chains ``` -## Public Endpoint +### Public Endpoint You can fetch the publicly available chains metadata from the following endpoint: @@ -22,28 +37,4 @@ curl https://pinax.network/api/chains ## Contributing -If you want to contribute to the metadata of chains, please open a PR with the changes you want to make. We'll review it and merge it if it's correct. - -### Adding a new chain - -Adding a new chain is as simple as adding a new file to the `data/chains` directory. The file should be named after the chain's official Pinax ID and should contain the metadata of the chain. Also make sure to run the `npm run generate:type_pinaxid` and `npm run generate:data_json` commands to update the related types and index. - -If you're unsure about the fields you need to fill, you can have a look at the [Chain Type](/types/chain.types.ts) to learn more about the fields you need to fill. - -### Updating an existing chain - -To update an existing chain, you can simply open a PR with the changes you want to make to the chain's metadata. - -### Adding / Validating Graph IDs - -We use the `graph_id` field to match our chains to The Graph's. You can check the available graph IDs in the [Graphs](/types/graph.types.ts) file, which is [generated automatically](/scripts/generate/graphid_type.js) by fetching supported chains from The Graph's API. You can run `npm run generate:type_graphid` to update the graph IDs. - -### Updating the Chain Type - -If you want to add a new field to the chain type, you can simply open a PR with the changes you want to make to the chain type and make sure every chain's metadata is updated to include the new field if required. - -Removing a field from the chain type is not recommended, as it may break the metadata of the chains. If you want to remove a field, please open an issue to discuss it first. - -### Removing a chain - -If a chain is no longer supported, simply set the `deprecated_at` field as the date of the deprecation. This allows the different services to know when to stop supporting the chain, and enables us to keep track of the chains we've supported in the past for proper redirects and such. +If you want to contribute to the metadata of chains, please open a PR with the changes you want to make. We'll review it and merge it if it's correct. Make sure to read any relevant [documentation](/docs) before contributing. diff --git a/bun.lockb b/bun.lockb new file mode 100644 index 0000000000000000000000000000000000000000..95f90c5963a04915affe8e801888ebe1b088c334 GIT binary patch literal 4227 zcmeHKeNa?Y6o25Vh~^^l(Ff@wilpw_FIf3lm2fhPM!^6Rm1bEU%fhm|zV`sZucbtp z6h{$1!WO@rcc>aHwxi)m?iAOs^2SF562I%%`5pGXWW{TC?8Y+@On z*D-8L2A7r%qXE#s$b1!aKhSa~s~!ouKlHbO9st@K<_CcW4vT$a!s%;+i*Db)lpvk9 zd-VPS?`BO{Saa3Zull@J6DiGoIIl^2D&PI~u+1meXP2a&)vc1m7x?cT7t+tDI(93% z_`vGP)w!SEt2kRS!aQbl9+L>m{42qzp+rCn20wd&#Q=Ar=;a7&s&Z zzZ0yLfG7Kb*f}Hw-vriScKG2Ap{;vG(=b>#5b&50xc8?L01dhjvc3`Up@8=QJKXz_ zF6=uG6Z~GlzYcg@`(u)Y!Mrm!9Qo6Sm<3Jt@HFL|J)zl-iD$oJ)_mZO4nxHxWTa%OlUaQbSSU z`EQOC=vVgB=C?$wJL2#DX7tDd2RHoI%iBDwkNhPzwAHh{a?;L=wJT!Q&F~5pjonsu zy5VPiE#@qVgMGdTa?4)%cFd-}5i{oJita9InEYO9S?s70rt16aN~=AO9o^p2G;f#R zi3VZBIZ@7{^U7e;cN-VX`9AlfAAFg|rEhz$wc{oEggy%nCAmi*zp%D&)S02F%?*tg zVw-N(=WqSdRK;GFw@1bm`nd?(_P0cD4vF0~z1%my^7zbB7xxdBEE;!cp5VowDj(YM zVqOvv@LZ_YXGHP!_(_a#;UBuz?U#j7mzGWGoqoo@{gObwEN_QbfLB7iJd%&8_1L>O zO6V^U7Q_uduw}`v`m{`XsvU1%LJC^oAGJK}#wI?(b$j%j)n!BD%pP$miaTF~)lI1X zC6nJVwxZJadeoXJr-n;v7O$U?-FucKfBx=5-(TwwM|vjT%GqMaOWssSFPOeCe?`uo z;`rF(=ibo@7YurTU-pWSU601Kj{aPB*R4Ho)xF{k%Rlo{R;3U9*wAa^mxa>uSVKtV zS@Vv#gR_ek=GpO*``W_GtCex>KIJp-T|D`_kKe5mHLAhNBhfw+w>G|26WUxE5Hnv_ z@8eZ6@aW~pXy2ti%NpII2H*K)YSu(m|2Emc3JLK3o#3z>nj73NWFE)hrB0`(a%AW~ z(GjP0Guct|&Nyo4ZGhQT@ia1>k zV@w_+3KXgJI<3K&OkQPFTf0?otN2_s+GYmWUT&_c4266=0K1^T9Kw4a?`X_Ly!-H; z!aD`|f^9rW4)CEp-WjBxLvG|mzRtYsZG2U>qRUk^Q?8ty5e(Z^cK9lLdb^~aC3UEq zQ$i3erKJ=_Dqd2lx;Q1sX&KH0z}gTJGpTi5ob_s+;dqK7PZOzz0TTjjG8skcZc;D9 zjDnWaK@@cr*kG4tQZYL_!6LK*ibzs}liJzYX`vj+Xa%X#Np%e~!E_KUll~266!4>v zN}g2UfC-}IN;;7GYYc*D1#XnGOo0kV6OgBKieu6<8J2!yF3+$Awf<~fdGfo=9VQSP+l$W{d;5Po+o4i2hw znme$~Wb@!Q`SMZWxyrgaRw~@2GpOfEG%0F)0ECQjge)- zEprn17DJE7Dbbo#E`{e!T&P6CGFlzSv)Q!41eZK*WVIb;5^={*vE?*rUYpYm&XOJg zvS_h2GoAr?;veAfixHDUCPx(ZEZ%psVuy_lZLzm-D3r)yqc<3nNF=hl+qlg#;W*Cxm8r?HDVs8dC_Fb_hjf0-)MyHbp7EA!K<)KEfH6^WS Z*iA^EBoi<^>3|o3@CQ7WJbw=V{Rvds@v#5^ literal 0 HcmV?d00001 diff --git a/dist/data.json b/dist/data.json index a31c5cc..29c01e8 100644 --- a/dist/data.json +++ b/dist/data.json @@ -332,7 +332,7 @@ "testnets": [ { "id": "arbgoerli", - "graph_id": "arbitrum-goerli", + "graph_id": null, "name": "Arbitrum Goerli", "alt_names": [], "supported_services": { diff --git a/docs/adding_updating_deprecating.md b/docs/adding_updating_deprecating.md new file mode 100644 index 0000000..eb65be4 --- /dev/null +++ b/docs/adding_updating_deprecating.md @@ -0,0 +1,25 @@ +### Adding a new chain + +Adding a new chain is as simple as adding a new file to the `src/data/chains` directory. The file should be named after the chain's official Pinax ID and should contain the metadata of the chain. The chain files are in Typescript, so make sure to cast them to the appropriate type to get the proper validations. + +Also make sure to run the `npm run generate:type_pinaxid` and `npm run generate:data_json` commands to update the related types and index if you're encountering any type issue there. + +If you're unsure about the fields you need to fill, you can have a look at the [Chain Type](/src/types/chain.types.ts) to learn more about the fields you need to fill. + +### Updating an existing chain + +To update an existing chain, you can simply open a PR with the changes you want to make to the chain's metadata. + +### Adding / Validating Graph IDs + +We use the `graph_id` field to match our chains to The Graph's. You can check the available graph IDs in the [Graphs](/src/types/graph.types.ts) file, which is [generated automatically](/scripts/generate/graphid_type.js) by fetching supported chains from The Graph's API. You can run `npm run generate:type_graphid` to update the graph IDs. + +### Updating the Chain Type + +If you want to add a new field to the chain type, you can simply open a PR with the changes you want to make to the chain type and make sure every chain's metadata is updated to include the new field if required. + +Removing a field from the chain type is not recommended, as it may break the metadata of the chains. If you want to remove a field, please open an issue to discuss it first. + +### Removing a chain + +If a chain data stream is no longer supported, simply set the `deprecated_at` field as the date of the deprecation. This allows the different services to know when to stop supporting the chain, and enables us to keep track of the chains we've supported in the past for proper redirects and such. \ No newline at end of file diff --git a/docs/updating_dependent_products.md b/docs/updating_dependent_products.md new file mode 100644 index 0000000..2c73dcb --- /dev/null +++ b/docs/updating_dependent_products.md @@ -0,0 +1,8 @@ +# Updating Dependent Products + +To update the dependent products, you simply need to publish a new version of the package and update those products to use the latest version. + +To keep things in sync, make sure to update ALL of the following products at the same time: + +- [App](https://github.com/pinax-network/app) +- [Website](https://github.com/pinax-network/website) \ No newline at end of file diff --git a/package.json b/package.json index c92314e..1065286 100644 --- a/package.json +++ b/package.json @@ -16,20 +16,23 @@ "types/**.ts" ], "scripts": { - "fetch-graph-ids": "node ./scripts/fetchGraphIDs.js", + "fetch-graph-ids": "bun ./scripts/fetchGraphIDs.ts", "format": "prettier --log-level warn --write \"./**/*.{js,jsx,ts,tsx}\"", - "generate": "npm run generate:data", - "generate:data": "node ./scripts/generate/data_json.js", + "generate": "npm run generate:data && npm run generate:types", + "generate:data": "npm run generate:data_index && npm run generate:data_json", + "generate:data_index": "bun ./scripts/generate/data_index.ts", + "generate:data_json": "bun ./scripts/generate/data_json.ts", "generate:types": "npm run generate:type_graphid && npm run generate:type_pinaxid && npm run format", - "generate:type_graphid": "node ./scripts/generate/type_graphid.js", - "generate:type_pinaxid": "node ./scripts/generate/type_pinaxid.js", + "generate:type_graphid": "bun ./scripts/generate/type_graphid.ts", + "generate:type_pinaxid": "bun ./scripts/generate/type_pinaxid.ts", "test": "echo \"Error: no test specified\" && exit 1", "prepare": "husky" }, "devDependencies": { "@token-icons/core": "^2.1.0", "husky": "^9.0.11", - "prettier": "^3.2.5" + "prettier": "^3.2.5", + "@types/bun": "latest" }, "bundledDependencies": [ "@token-icons/core" @@ -41,5 +44,8 @@ "homepage": "https://github.com/pinax-network/chains#readme", "bugs": { "url": "https://github.com/pinax-network/chains/issues" + }, + "peerDependencies": { + "typescript": "^5.0.0" } } diff --git a/scripts/fetchGraphIDs.js b/scripts/fetchGraphIDs.js deleted file mode 100644 index 864da5d..0000000 --- a/scripts/fetchGraphIDs.js +++ /dev/null @@ -1,21 +0,0 @@ -const fetchGraphIDs = () => { - console.log('Fetching graph IDs...'); - fetch('https://api.studio.thegraph.com/deploy', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - jsonrpc: '2.0', - method: 'chain_list', - id: 1, - }), - }) - .then((res) => res.json()) - .then((res) => { - let graphIds = res.result.studio; - console.log(graphIds.sort((a, b) => (a < b ? -1 : 1))); - }); -}; - -fetchGraphIDs(); diff --git a/scripts/fetchGraphIDs.ts b/scripts/fetchGraphIDs.ts new file mode 100644 index 0000000..5b2f0aa --- /dev/null +++ b/scripts/fetchGraphIDs.ts @@ -0,0 +1,26 @@ +import bun from 'bun'; + +const fetchGraphIDs = async (): Promise => { + console.log('Fetching graph IDs...'); + try { + const res = await fetch('https://api.studio.thegraph.com/deploy', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + jsonrpc: '2.0', + method: 'chain_list', + id: 1, + }), + }); + + const data = await res.json(); + let graphIds = data.result.studio; + console.log(graphIds.sort((a: string, b: string) => (a < b ? -1 : 1))); + } catch (error) { + console.error('Error fetching graph IDs:', error); + } +}; + +fetchGraphIDs(); diff --git a/scripts/generate/data_index.ts b/scripts/generate/data_index.ts new file mode 100644 index 0000000..2b5a576 --- /dev/null +++ b/scripts/generate/data_index.ts @@ -0,0 +1,32 @@ +import fs from 'fs'; +import path from 'path'; +import { toCamelCase } from '../../src/utils/case'; + +console.log('🕑 Generating data index...'); + +const dataDir = path.join(__dirname, '../../src', 'data'); +let indexContent = ''; + +fs.readdirSync(dataDir).forEach((mainnetDir) => { + if (mainnetDir === 'index.ts') return; // Ignore index.ts file + + const mainnetPath = path.join(dataDir, mainnetDir); + const mainnetMetaPath = path.join(mainnetPath, 'meta.ts'); + + if (fs.existsSync(mainnetMetaPath)) { + indexContent += `export { default as ${toCamelCase(mainnetDir)} } from './${mainnetDir}/meta';\n`; + } + + fs.readdirSync(mainnetPath).forEach((testnetDir) => { + const testnetPath = path.join(mainnetPath, testnetDir); + const testnetMetaPath = path.join(testnetPath, 'meta.ts'); + + if (fs.existsSync(testnetMetaPath)) { + indexContent += `export { default as ${toCamelCase(testnetDir)} } from './${mainnetDir}/${testnetDir}/meta';\n`; + } + }); +}); + +fs.writeFileSync(path.join(dataDir, 'index.ts'), indexContent); + +console.log('✅ Successfully generated data index!'); diff --git a/scripts/generate/data_json.js b/scripts/generate/data_json.ts similarity index 56% rename from scripts/generate/data_json.js rename to scripts/generate/data_json.ts index 02554f8..72bf3bc 100644 --- a/scripts/generate/data_json.js +++ b/scripts/generate/data_json.ts @@ -1,42 +1,69 @@ -const fs = require('fs'); -const path = require('path'); +import fs from 'fs'; +import path from 'path'; +import bun from 'bun'; +import * as chainData from '../../src/data/index'; +import { toCamelCase } from '../../src/utils/case'; +interface Icon { + id: string; + variants: string[]; +} + +interface Network { + id: string; + icon: Icon; +} + +interface Token { + id: string; + variants: string[]; +} + +interface MainnetData { + index: number; + icon: Icon; + consensus_layers?: SubnetData[]; + testnets?: SubnetData[]; +} -const tokens = JSON.parse( +interface SubnetData { + id: string; + index: number; +} + +console.log('🕑 Generating data.json...'); + +const tokens: Token[] = JSON.parse( fs.readFileSync( path.resolve('node_modules/@token-icons/core/dist/metadata/tokens.json'), + 'utf8', ), ); -const networks = JSON.parse( + +const networks: Network[] = JSON.parse( fs.readFileSync( path.resolve('node_modules/@token-icons/core/dist/metadata/networks.json'), + 'utf8', ), ); -// Define the path to the config file const indexConfigPath = path.join( __dirname, '../../src/configs/index.config.json', ); -// Read the config file -const indexConf = JSON.parse(fs.readFileSync(indexConfigPath, 'utf8')); - -// Define the directory containing the JSON files -const directoryPath = path.join(__dirname, '../../src/data'); +const indexConf: { [key: string]: string[] } = JSON.parse( + fs.readFileSync(indexConfigPath, 'utf8'), +); -const data = []; -const warnings = []; +const data: MainnetData[] = []; +const warnings: string[] = []; Object.keys(indexConf).forEach((mainnet, mainnetIndex) => { - // Read mainnet data file - const mainnetDirPath = path.join(directoryPath, mainnet); - const mainnetFilePath = path.join(mainnetDirPath, 'meta.json'); - const mainnetData = JSON.parse(fs.readFileSync(mainnetFilePath, 'utf8')); + // @ts-ignore + const mainnetData: MainnetData = chainData[toCamelCase(mainnet)]; - // Set the index for the mainnet (multiplied by 1000 to avoid conflicts with subnets) mainnetData.index = mainnetIndex * 1000; - // Inject icon data from token-icons if (mainnetData.icon.id.indexOf('tokens') !== -1) { const iconMeta = tokens.find( (token) => token.id === mainnetData.icon.id.split('/')[1], @@ -53,6 +80,7 @@ Object.keys(indexConf).forEach((mainnet, mainnetIndex) => { (network) => network.id === mainnetData.icon.id.split('/')[1], ); if (iconMeta) { + // @ts-ignore mainnetData.icon.variants = iconMeta.variants; } else { warnings.push( @@ -61,16 +89,12 @@ Object.keys(indexConf).forEach((mainnet, mainnetIndex) => { } } - // Loop through the subnets indexConf[mainnet].forEach((subnet, subnetIndex) => { - // Read subnet data file - const subnetDirPath = path.join(mainnetDirPath, subnet); - const subnetFilePath = path.join(subnetDirPath, 'meta.json'); - const subnetData = JSON.parse(fs.readFileSync(subnetFilePath, 'utf8')); + // @ts-ignore + const subnetData: SubnetData = chainData[toCamelCase(subnet)]; subnetData.index = mainnetData.index + subnetIndex + 1; - // Add subnet data to mainnet data, depending on the subnet type (consensus layer or testnet) if (subnetData.id.indexOf('-cl') !== -1) { if (!mainnetData.consensus_layers) mainnetData.consensus_layers = []; mainnetData.consensus_layers.push(subnetData); @@ -82,25 +106,19 @@ Object.keys(indexConf).forEach((mainnet, mainnetIndex) => { data.push(mainnetData); }); -// Create the 'dist' folder if it doesn't exist const distFolderPath = path.join(__dirname, '../../dist'); if (!fs.existsSync(distFolderPath)) { fs.mkdirSync(distFolderPath); } -// Write the combined data to a new JSON file -// Write the combined data to a new JSON file fs.writeFileSync( path.join(distFolderPath, 'data.json'), JSON.stringify(data, null, 2), ); -// Log warnings if (warnings.length) { console.log(warnings.join('\n')); - console.log( - `☑️ Data written to 'data.json' with ${warnings.length} warnings`, - ); + console.log(`☑️ Generated 'data.json' with ${warnings.length} warnings`); } else { - console.log(`✅ Data written to 'data.json'`); + console.log(`✅ Successfully generated 'data.json'!`); } diff --git a/scripts/generate/type_graphid.js b/scripts/generate/type_graphid.js deleted file mode 100644 index 42cf042..0000000 --- a/scripts/generate/type_graphid.js +++ /dev/null @@ -1,38 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -const typesDir = path.join(__dirname, '../../src/types'); - -const graphTypesFile = path.join(typesDir, 'graph.types.ts'); - -console.log('Generating GraphId type...'); - -fetch('https://api.studio.thegraph.com/deploy', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - jsonrpc: '2.0', - method: 'chain_list', - id: 1, - }), -}) - .then((res) => res.json()) - .then((res) => { - let graphIds = res.result.studio; - let sortedGraphIds = graphIds.sort((a, b) => (a < b ? -1 : 1)); - - // Generate the GraphId type definition - const graphIdType = `// This file is auto-generated on pre-commit to avoid maintaining it.\n// Do not modify manually as it will be overwritten.\n// Last generation on ${new Date().toLocaleString()}.\nexport type GraphId = '${sortedGraphIds.join("' | '")}'`; - - // Write the GraphId type definition to the types directory - fs.writeFile(graphTypesFile, graphIdType, (err) => { - if (err) { - console.error('Error writing graph.types.ts file:', err); - return; - } - - console.log('✅ Generating GraphId type'); - }); - }); diff --git a/scripts/generate/type_graphid.ts b/scripts/generate/type_graphid.ts new file mode 100644 index 0000000..896d536 --- /dev/null +++ b/scripts/generate/type_graphid.ts @@ -0,0 +1,46 @@ +import fs from 'fs'; +import path from 'path'; + +const typesDir = path.join(__dirname, '../../src/types'); +const graphTypesFile = path.join(typesDir, 'graph.types.ts'); + +console.log('🕑 Generating GraphId type...'); + +const fetchGraphIDs = async (): Promise => { + try { + const res = await fetch('https://api.studio.thegraph.com/deploy', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + jsonrpc: '2.0', + method: 'chain_list', + id: 1, + }), + }); + + const data = await res.json(); + let graphIds = data.result.studio; + let sortedGraphIds = graphIds.sort((a: string, b: string) => + a < b ? -1 : 1, + ); + + // Generate the GraphId type definition + const graphIdType = `// This file is auto-generated on pre-commit to avoid maintaining it.\n// Do not modify manually as it will be overwritten.\n// Last generation on ${new Date().toLocaleString()}.\nexport type GraphId = '${sortedGraphIds.join("' | '")}'`; + + // Write the GraphId type definition to the types directory + fs.writeFile(graphTypesFile, graphIdType, (err) => { + if (err) { + console.error('Error writing graph.types.ts file:', err); + return; + } + + console.log('✅ Successfully generated GraphId type!'); + }); + } catch (error) { + console.error('Error fetching graph IDs:', error); + } +}; + +fetchGraphIDs(); diff --git a/scripts/generate/type_pinaxid.js b/scripts/generate/type_pinaxid.ts similarity index 72% rename from scripts/generate/type_pinaxid.js rename to scripts/generate/type_pinaxid.ts index 4e8e963..9e91661 100644 --- a/scripts/generate/type_pinaxid.js +++ b/scripts/generate/type_pinaxid.ts @@ -1,17 +1,16 @@ -const fs = require('fs'); -const path = require('path'); +import fs from 'fs'; +import path from 'path'; const chainsDir = path.join(__dirname, '../../src/data'); const typesDir = path.join(__dirname, '../../src/types'); -const excludedFile = 'index.ts'; const pinaxTypesFile = path.join(typesDir, 'pinax.types.ts'); -console.log('Generating PinaxId type...'); +console.log('🕑 Generating PinaxId type...'); // Function to recursively read directories and subdirectories -function readDir(directory) { - let fileNames = []; +function readDir(directory: string): string[] { + let fileNames: string[] = []; const files = fs.readdirSync(directory); files.forEach((file) => { @@ -22,11 +21,11 @@ function readDir(directory) { // If the file is a directory, recursively read it fileNames = fileNames.concat(readDir(filePath)); } else if ( - path.extname(file) === '.json' && - path.basename(file) === 'meta.json' + path.extname(file) === '.ts' && + path.basename(file) === 'meta.ts' ) { - // If the file is a JSON file named meta.json, add the directory name to the array - fileNames.push(path.basename(directory)); + // If the file is a .ts file named meta.ts, add the directory name to the array + fileNames.push(path.basename(path.dirname(filePath))); } }); @@ -46,5 +45,5 @@ fs.writeFile(pinaxTypesFile, pinaxIdType, (err) => { return; } - console.log('✅ Generating PinaxId type'); + console.log('✅ Successfully generating PinaxId type!'); }); diff --git a/src/data/arbone/arbgoerli/meta.json b/src/data/arbone/arbgoerli/meta.json deleted file mode 100644 index 4e1c11d..0000000 --- a/src/data/arbone/arbgoerli/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "arbgoerli", - "graph_id": "arbitrum-goerli", - "name": "Arbitrum Goerli", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/arbone/arbgoerli/meta.ts b/src/data/arbone/arbgoerli/meta.ts new file mode 100644 index 0000000..20774f0 --- /dev/null +++ b/src/data/arbone/arbgoerli/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'arbgoerli', + graph_id: null, + name: 'Arbitrum Goerli', + alt_names: [], + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/arbone/arbsepolia/meta.json b/src/data/arbone/arbsepolia/meta.json deleted file mode 100644 index 47445fe..0000000 --- a/src/data/arbone/arbsepolia/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "arbsepolia", - "graph_id": "arbitrum-sepolia", - "name": "Arbitrum Sepolia", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/arbone/arbsepolia/meta.ts b/src/data/arbone/arbsepolia/meta.ts new file mode 100644 index 0000000..d3d85c9 --- /dev/null +++ b/src/data/arbone/arbsepolia/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'arbsepolia', + graph_id: 'arbitrum-sepolia', + name: 'Arbitrum Sepolia', + alt_names: [], + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/arbone/chiado-cl/meta.json b/src/data/arbone/chiado-cl/meta.json deleted file mode 100644 index 630e8cd..0000000 --- a/src/data/arbone/chiado-cl/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "chiado-cl", - "graph_id": null, - "name": "Chiado Consensus Layer", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/arbone/chiado-cl/meta.ts b/src/data/arbone/chiado-cl/meta.ts new file mode 100644 index 0000000..95fd273 --- /dev/null +++ b/src/data/arbone/chiado-cl/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'chiado-cl', + graph_id: null, + name: 'Chiado Consensus Layer', + alt_names: [], + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/arbone/chiado/meta.json b/src/data/arbone/chiado/meta.json deleted file mode 100644 index 7141620..0000000 --- a/src/data/arbone/chiado/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "chiado", - "graph_id": null, - "name": "Chiado", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/arbone/chiado/meta.ts b/src/data/arbone/chiado/meta.ts new file mode 100644 index 0000000..6f74f0e --- /dev/null +++ b/src/data/arbone/chiado/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'chiado', + graph_id: null, + name: 'Chiado', + alt_names: [], + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/arbone/meta.json b/src/data/arbone/meta.json deleted file mode 100644 index a62761a..0000000 --- a/src/data/arbone/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "arbone", - "graph_id": "arbitrum-one", - "name": "Arbitrum One", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/arbitrum", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/src/data/arbone/meta.ts b/src/data/arbone/meta.ts new file mode 100644 index 0000000..96a8941 --- /dev/null +++ b/src/data/arbone/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'arbone', + graph_id: 'arbitrum-one', + name: 'Arbitrum One', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'tokens/arbitrum', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/arweave/meta.json b/src/data/arweave/meta.json deleted file mode 100644 index 5311c4d..0000000 --- a/src/data/arweave/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "arweave", - "graph_id": "arweave-mainnet", - "name": "Arweave", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.arweave.type.v1.Block", - "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" - }, - "icon": { - "id": "tokens/arweave", - "brand_theme": "dark" - }, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2024-03-03T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/src/data/arweave/meta.ts b/src/data/arweave/meta.ts new file mode 100644 index 0000000..a9fd0bd --- /dev/null +++ b/src/data/arweave/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'arweave', + graph_id: 'arweave-mainnet', + name: 'Arweave', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.arweave.type.v1.Block', + url: 'https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1', + }, + icon: { + id: 'tokens/arweave', + brand_theme: 'dark', + }, + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2024-03-03T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/avalanche/meta.json b/src/data/avalanche/meta.json deleted file mode 100644 index e3109ec..0000000 --- a/src/data/avalanche/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "avalanche", - "graph_id": "avalanche", - "name": "Avalanche", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/avalanche", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/src/data/avalanche/meta.ts b/src/data/avalanche/meta.ts new file mode 100644 index 0000000..d89b9ff --- /dev/null +++ b/src/data/avalanche/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'avalanche', + graph_id: 'avalanche', + name: 'Avalanche', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/avalanche', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/base/meta.json b/src/data/base/meta.json deleted file mode 100644 index 9d5b934..0000000 --- a/src/data/base/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "base", - "graph_id": "base", - "name": "Base", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/base", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": "2024-03-06T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2024-03-06T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/base/meta.ts b/src/data/base/meta.ts new file mode 100644 index 0000000..1514896 --- /dev/null +++ b/src/data/base/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'base', + graph_id: 'base', + name: 'Base', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'tokens/base', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: '2024-03-06T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2024-03-06T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/bitcoin/meta.json b/src/data/bitcoin/meta.json deleted file mode 100644 index 1a4bd73..0000000 --- a/src/data/bitcoin/meta.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "bitcoin", - "graph_id": null, - "name": "Bitcoin", - "alt_names": [ - "btc" - ], - "standard": "brc20", - "block_type": { - "label": "sf.bitcoin.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" - }, - "icon": { - "id": "tokens/bitcoin", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": "2023-12-21T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-21T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/bitcoin/meta.ts b/src/data/bitcoin/meta.ts new file mode 100644 index 0000000..a1e8d80 --- /dev/null +++ b/src/data/bitcoin/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'bitcoin', + graph_id: null, + name: 'Bitcoin', + alt_names: ['btc'], + standard: 'brc20', + block_type: { + label: 'sf.bitcoin.type.v1.Block', + url: 'https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1', + }, + icon: { + id: 'tokens/bitcoin', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: '2023-12-21T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-21T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/bsc/chapel/meta.json b/src/data/bsc/chapel/meta.json deleted file mode 100644 index 9f7d193..0000000 --- a/src/data/bsc/chapel/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "chapel", - "graph_id": "chapel", - "name": "Chapel", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/bsc/chapel/meta.ts b/src/data/bsc/chapel/meta.ts new file mode 100644 index 0000000..c97a8f8 --- /dev/null +++ b/src/data/bsc/chapel/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'chapel', + graph_id: 'chapel', + name: 'Chapel', + alt_names: [], + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/bsc/meta.json b/src/data/bsc/meta.json deleted file mode 100644 index 752e2a6..0000000 --- a/src/data/bsc/meta.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": "bsc", - "graph_id": "bsc", - "name": "BNB", - "alt_names": [ - "bsc", - "binance" - ], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/binance-smart-chain", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/bsc/meta.ts b/src/data/bsc/meta.ts new file mode 100644 index 0000000..6eac6dd --- /dev/null +++ b/src/data/bsc/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'bsc', + graph_id: 'bsc', + name: 'BNB', + alt_names: ['bsc', 'binance'], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/binance-smart-chain', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/celo/alfajores/meta.json b/src/data/celo/alfajores/meta.json deleted file mode 100644 index 680ca7a..0000000 --- a/src/data/celo/alfajores/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "alfajores", - "graph_id": null, - "name": "Alfajores", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/celo/alfajores/meta.ts b/src/data/celo/alfajores/meta.ts new file mode 100644 index 0000000..c9a4b96 --- /dev/null +++ b/src/data/celo/alfajores/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'alfajores', + graph_id: null, + name: 'Alfajores', + alt_names: [], + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/celo/meta.json b/src/data/celo/meta.json deleted file mode 100644 index 39ac9b8..0000000 --- a/src/data/celo/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "celo", - "graph_id": "celo", - "name": "Celo", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/celo", - "brand_theme": "light" - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/src/data/celo/meta.ts b/src/data/celo/meta.ts new file mode 100644 index 0000000..347b0e1 --- /dev/null +++ b/src/data/celo/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'celo', + graph_id: 'celo', + name: 'Celo', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/celo', + brand_theme: 'light', + }, + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/cosmoshub/juno/meta.json b/src/data/cosmoshub/juno/meta.json deleted file mode 100644 index 9f02c58..0000000 --- a/src/data/cosmoshub/juno/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "juno", - "graph_id": null, - "name": "Juno", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/cosmoshub/juno/meta.ts b/src/data/cosmoshub/juno/meta.ts new file mode 100644 index 0000000..e60c8eb --- /dev/null +++ b/src/data/cosmoshub/juno/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'juno', + graph_id: null, + name: 'Juno', + alt_names: [], + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-01-15T00:00:00.000Z', + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/cosmoshub/meta.json b/src/data/cosmoshub/meta.json deleted file mode 100644 index 9ed337a..0000000 --- a/src/data/cosmoshub/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "cosmoshub", - "graph_id": "cosmoshub-4", - "name": "Cosmos Hub", - "alt_names": [], - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" - }, - "icon": { - "id": "networks/cosmos", - "brand_theme": "dark" - }, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/cosmoshub/meta.ts b/src/data/cosmoshub/meta.ts new file mode 100644 index 0000000..9dfc107 --- /dev/null +++ b/src/data/cosmoshub/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'cosmoshub', + graph_id: 'cosmoshub-4', + name: 'Cosmos Hub', + alt_names: [], + standard: 'cosmos', + block_type: { + label: 'sf.cosmos.type.v1.Block', + url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', + }, + icon: { + id: 'networks/cosmos', + brand_theme: 'dark', + }, + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/cosmoshub/theta/meta.json b/src/data/cosmoshub/theta/meta.json deleted file mode 100644 index 018a4dd..0000000 --- a/src/data/cosmoshub/theta/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "theta", - "graph_id": "theta-testnet-001", - "name": "Theta", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/cosmoshub/theta/meta.ts b/src/data/cosmoshub/theta/meta.ts new file mode 100644 index 0000000..d724606 --- /dev/null +++ b/src/data/cosmoshub/theta/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'theta', + graph_id: 'theta-testnet-001', + name: 'Theta', + alt_names: [], + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/decimal/meta.json b/src/data/decimal/meta.json deleted file mode 100644 index 5e03f41..0000000 --- a/src/data/decimal/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "decimal", - "graph_id": null, - "name": "Decimal", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/decimal", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/decimal/meta.ts b/src/data/decimal/meta.ts new file mode 100644 index 0000000..5f7ab2d --- /dev/null +++ b/src/data/decimal/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'decimal', + graph_id: null, + name: 'Decimal', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'tokens/decimal', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/eos/jungle4/meta.json b/src/data/eos/jungle4/meta.json deleted file mode 100644 index 756e3e1..0000000 --- a/src/data/eos/jungle4/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "jungle4", - "graph_id": null, - "name": "Jungle4", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/eos/jungle4/meta.ts b/src/data/eos/jungle4/meta.ts new file mode 100644 index 0000000..908124c --- /dev/null +++ b/src/data/eos/jungle4/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'jungle4', + graph_id: null, + name: 'Jungle4', + alt_names: [], + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/eos/kylin/meta.json b/src/data/eos/kylin/meta.json deleted file mode 100644 index 549bfa0..0000000 --- a/src/data/eos/kylin/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "kylin", - "graph_id": null, - "name": "Kylin", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/eos/kylin/meta.ts b/src/data/eos/kylin/meta.ts new file mode 100644 index 0000000..1bda091 --- /dev/null +++ b/src/data/eos/kylin/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'kylin', + graph_id: null, + name: 'Kylin', + alt_names: [], + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/eos/meta.json b/src/data/eos/meta.json deleted file mode 100644 index 7dc7a12..0000000 --- a/src/data/eos/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "eos", - "graph_id": null, - "name": "EOS", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "icon": { - "id": "tokens/eos", - "brand_theme": "light" - }, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/src/data/eos/meta.ts b/src/data/eos/meta.ts new file mode 100644 index 0000000..bd7b558 --- /dev/null +++ b/src/data/eos/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'eos', + graph_id: null, + name: 'EOS', + alt_names: [], + standard: 'antelope', + block_type: { + label: 'sf.antelope.type.v1.Block', + url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', + }, + icon: { + id: 'tokens/eos', + brand_theme: 'light', + }, + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/eth/eth-cl/meta.json b/src/data/eth/eth-cl/meta.json deleted file mode 100644 index 5e97ba7..0000000 --- a/src/data/eth/eth-cl/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "eth-cl", - "graph_id": null, - "name": "Ethereum Consensus Layer", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/eth/eth-cl/meta.ts b/src/data/eth/eth-cl/meta.ts new file mode 100644 index 0000000..d697bb2 --- /dev/null +++ b/src/data/eth/eth-cl/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'eth-cl', + graph_id: null, + name: 'Ethereum Consensus Layer', + alt_names: [], + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/eth/goerli-cl/meta.json b/src/data/eth/goerli-cl/meta.json deleted file mode 100644 index 5dcec4a..0000000 --- a/src/data/eth/goerli-cl/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "goerli-cl", - "graph_id": null, - "name": "Goerli Consensus Layer", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/src/data/eth/goerli-cl/meta.ts b/src/data/eth/goerli-cl/meta.ts new file mode 100644 index 0000000..9a52201 --- /dev/null +++ b/src/data/eth/goerli-cl/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'goerli-cl', + graph_id: null, + name: 'Goerli Consensus Layer', + alt_names: [], + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/eth/goerli/meta.json b/src/data/eth/goerli/meta.json deleted file mode 100644 index 116a0ed..0000000 --- a/src/data/eth/goerli/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "goerli", - "graph_id": "goerli", - "name": "Goerli", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-03-21T00:00:00.000Z" - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-03-21T00:00:00.000Z" - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-03-21T00:00:00.000Z" - } - } -} diff --git a/src/data/eth/goerli/meta.ts b/src/data/eth/goerli/meta.ts new file mode 100644 index 0000000..c5dea00 --- /dev/null +++ b/src/data/eth/goerli/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'goerli', + graph_id: null, + name: 'Goerli', + alt_names: [], + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-03-21T00:00:00.000Z', + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-03-21T00:00:00.000Z', + }, + rpc: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-03-21T00:00:00.000Z', + }, + }, +}; + +export default meta; diff --git a/src/data/eth/holesky-cl/meta.json b/src/data/eth/holesky-cl/meta.json deleted file mode 100644 index 48d3982..0000000 --- a/src/data/eth/holesky-cl/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "holesky-cl", - "graph_id": null, - "name": "Holesky Consensus Layer", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/eth/holesky-cl/meta.ts b/src/data/eth/holesky-cl/meta.ts new file mode 100644 index 0000000..ae05240 --- /dev/null +++ b/src/data/eth/holesky-cl/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'holesky-cl', + graph_id: null, + name: 'Holesky Consensus Layer', + alt_names: [], + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/eth/holesky/meta.json b/src/data/eth/holesky/meta.json deleted file mode 100644 index ea9a96e..0000000 --- a/src/data/eth/holesky/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "holesky", - "graph_id": null, - "name": "Holesky", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/eth/holesky/meta.ts b/src/data/eth/holesky/meta.ts new file mode 100644 index 0000000..9c300a1 --- /dev/null +++ b/src/data/eth/holesky/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'holesky', + graph_id: null, + name: 'Holesky', + alt_names: [], + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/eth/meta.json b/src/data/eth/meta.json deleted file mode 100644 index ca361d2..0000000 --- a/src/data/eth/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "eth", - "graph_id": "mainnet", - "name": "Ethereum", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/ethereum", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } -} diff --git a/src/data/eth/meta.ts b/src/data/eth/meta.ts new file mode 100644 index 0000000..b08c3ee --- /dev/null +++ b/src/data/eth/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'eth', + graph_id: 'mainnet', + name: 'Ethereum', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/ethereum', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/eth/sepolia-cl/meta.json b/src/data/eth/sepolia-cl/meta.json deleted file mode 100644 index 0287169..0000000 --- a/src/data/eth/sepolia-cl/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "sepolia-cl", - "graph_id": null, - "name": "Sepolia Consensus Layer", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/eth/sepolia-cl/meta.ts b/src/data/eth/sepolia-cl/meta.ts new file mode 100644 index 0000000..d53391f --- /dev/null +++ b/src/data/eth/sepolia-cl/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'sepolia-cl', + graph_id: null, + name: 'Sepolia Consensus Layer', + alt_names: [], + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/eth/sepolia/meta.json b/src/data/eth/sepolia/meta.json deleted file mode 100644 index 8501be7..0000000 --- a/src/data/eth/sepolia/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "sepolia", - "graph_id": "sepolia", - "name": "Sepolia", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/eth/sepolia/meta.ts b/src/data/eth/sepolia/meta.ts new file mode 100644 index 0000000..8d59a75 --- /dev/null +++ b/src/data/eth/sepolia/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'sepolia', + graph_id: 'sepolia', + name: 'Sepolia', + alt_names: [], + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/fantom/meta.json b/src/data/fantom/meta.json deleted file mode 100644 index 39fc039..0000000 --- a/src/data/fantom/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "fantom", - "graph_id": "fantom", - "name": "Fantom", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/fantom", - "brand_theme": "light" - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/src/data/fantom/meta.ts b/src/data/fantom/meta.ts new file mode 100644 index 0000000..8d4a5df --- /dev/null +++ b/src/data/fantom/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'fantom', + graph_id: 'fantom', + name: 'Fantom', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/fantom', + brand_theme: 'light', + }, + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/gnosis/gnosis-cl/meta.json b/src/data/gnosis/gnosis-cl/meta.json deleted file mode 100644 index d697975..0000000 --- a/src/data/gnosis/gnosis-cl/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "gnosis-cl", - "graph_id": null, - "name": "Gnosis Consensus Layer", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/gnosis/gnosis-cl/meta.ts b/src/data/gnosis/gnosis-cl/meta.ts new file mode 100644 index 0000000..5619267 --- /dev/null +++ b/src/data/gnosis/gnosis-cl/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'gnosis-cl', + graph_id: null, + name: 'Gnosis Consensus Layer', + alt_names: [], + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/gnosis/meta.json b/src/data/gnosis/meta.json deleted file mode 100644 index 5de407e..0000000 --- a/src/data/gnosis/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "gnosis", - "graph_id": "gnosis", - "name": "Gnosis", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/gnosis", - "brand_theme": "dark" - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/src/data/gnosis/meta.ts b/src/data/gnosis/meta.ts new file mode 100644 index 0000000..3fe85f2 --- /dev/null +++ b/src/data/gnosis/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'gnosis', + graph_id: 'gnosis', + name: 'Gnosis', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'tokens/gnosis', + brand_theme: 'dark', + }, + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/index.ts b/src/data/index.ts new file mode 100644 index 0000000..a95105b --- /dev/null +++ b/src/data/index.ts @@ -0,0 +1,45 @@ +export { default as arbone } from './arbone/meta'; +export { default as arbgoerli } from './arbone/arbgoerli/meta'; +export { default as arbsepolia } from './arbone/arbsepolia/meta'; +export { default as chiado } from './arbone/chiado/meta'; +export { default as chiadoCl } from './arbone/chiado-cl/meta'; +export { default as arweave } from './arweave/meta'; +export { default as avalanche } from './avalanche/meta'; +export { default as base } from './base/meta'; +export { default as bitcoin } from './bitcoin/meta'; +export { default as bsc } from './bsc/meta'; +export { default as chapel } from './bsc/chapel/meta'; +export { default as celo } from './celo/meta'; +export { default as alfajores } from './celo/alfajores/meta'; +export { default as cosmoshub } from './cosmoshub/meta'; +export { default as juno } from './cosmoshub/juno/meta'; +export { default as theta } from './cosmoshub/theta/meta'; +export { default as decimal } from './decimal/meta'; +export { default as eos } from './eos/meta'; +export { default as jungle4 } from './eos/jungle4/meta'; +export { default as kylin } from './eos/kylin/meta'; +export { default as eth } from './eth/meta'; +export { default as ethCl } from './eth/eth-cl/meta'; +export { default as goerli } from './eth/goerli/meta'; +export { default as goerliCl } from './eth/goerli-cl/meta'; +export { default as holesky } from './eth/holesky/meta'; +export { default as holeskyCl } from './eth/holesky-cl/meta'; +export { default as sepolia } from './eth/sepolia/meta'; +export { default as sepoliaCl } from './eth/sepolia-cl/meta'; +export { default as fantom } from './fantom/meta'; +export { default as gnosis } from './gnosis/meta'; +export { default as gnosisCl } from './gnosis/gnosis-cl/meta'; +export { default as kava } from './kava/meta'; +export { default as moonbeam } from './moonbeam/meta'; +export { default as near } from './near/meta'; +export { default as neartest } from './near/neartest/meta'; +export { default as optimism } from './optimism/meta'; +export { default as osmosis } from './osmosis/meta'; +export { default as polygon } from './polygon/meta'; +export { default as mumbai } from './polygon/mumbai/meta'; +export { default as scroll } from './scroll/meta'; +export { default as starknet } from './starknet/meta'; +export { default as telos } from './telos/meta'; +export { default as telostest } from './telos/telostest/meta'; +export { default as wax } from './wax/meta'; +export { default as waxtest } from './wax/waxtest/meta'; diff --git a/src/data/kava/meta.json b/src/data/kava/meta.json deleted file mode 100644 index 24c627a..0000000 --- a/src/data/kava/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "kava", - "graph_id": null, - "name": "Kava", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/kava", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/kava/meta.ts b/src/data/kava/meta.ts new file mode 100644 index 0000000..3dad83b --- /dev/null +++ b/src/data/kava/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'kava', + graph_id: null, + name: 'Kava', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/kava', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/moonbeam/meta.json b/src/data/moonbeam/meta.json deleted file mode 100644 index 1cb1f3f..0000000 --- a/src/data/moonbeam/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "moonbeam", - "graph_id": "moonbeam", - "name": "Moonbeam", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/moonbeam", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/moonbeam/meta.ts b/src/data/moonbeam/meta.ts new file mode 100644 index 0000000..4aa5f37 --- /dev/null +++ b/src/data/moonbeam/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'moonbeam', + graph_id: 'moonbeam', + name: 'Moonbeam', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/moonbeam', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/near/meta.json b/src/data/near/meta.json deleted file mode 100644 index e4f672c..0000000 --- a/src/data/near/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "near", - "graph_id": "near-mainnet", - "name": "Near", - "alt_names": [], - "standard": "near", - "block_type": { - "label": "sf.near.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" - }, - "icon": { - "id": "tokens/near", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/near/meta.ts b/src/data/near/meta.ts new file mode 100644 index 0000000..2b0bc6a --- /dev/null +++ b/src/data/near/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'near', + graph_id: 'near-mainnet', + name: 'Near', + alt_names: [], + standard: 'near', + block_type: { + label: 'sf.near.type.v1.Block', + url: 'https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1', + }, + icon: { + id: 'tokens/near', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/near/neartest/meta.json b/src/data/near/neartest/meta.json deleted file mode 100644 index b18a93b..0000000 --- a/src/data/near/neartest/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "neartest", - "graph_id": "near-testnet", - "name": "Near-testnet", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/near/neartest/meta.ts b/src/data/near/neartest/meta.ts new file mode 100644 index 0000000..29098e8 --- /dev/null +++ b/src/data/near/neartest/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'neartest', + graph_id: 'near-testnet', + name: 'Near-testnet', + alt_names: [], + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/optimism/meta.json b/src/data/optimism/meta.json deleted file mode 100644 index 0479b09..0000000 --- a/src/data/optimism/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "optimism", - "graph_id": "optimism", - "name": "Optimism", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/optimism", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/src/data/optimism/meta.ts b/src/data/optimism/meta.ts new file mode 100644 index 0000000..e1e435a --- /dev/null +++ b/src/data/optimism/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'optimism', + graph_id: 'optimism', + name: 'Optimism', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'tokens/optimism', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: '2024-01-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2024-01-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/osmosis/meta.json b/src/data/osmosis/meta.json deleted file mode 100644 index 7f91efc..0000000 --- a/src/data/osmosis/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "osmosis", - "graph_id": "osmosis-1", - "name": "Osmosis", - "alt_names": [], - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" - }, - "icon": { - "id": "tokens/osmosis", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/osmosis/meta.ts b/src/data/osmosis/meta.ts new file mode 100644 index 0000000..6ef69cf --- /dev/null +++ b/src/data/osmosis/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'osmosis', + graph_id: 'osmosis-1', + name: 'Osmosis', + alt_names: [], + standard: 'cosmos', + block_type: { + label: 'sf.cosmos.type.v1.Block', + url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', + }, + icon: { + id: 'tokens/osmosis', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/polygon/meta.json b/src/data/polygon/meta.json deleted file mode 100644 index d42a217..0000000 --- a/src/data/polygon/meta.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "polygon", - "graph_id": "matic", - "name": "Polygon", - "alt_names": [ - "matic" - ], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/matic-network", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/polygon/meta.ts b/src/data/polygon/meta.ts new file mode 100644 index 0000000..72ab33b --- /dev/null +++ b/src/data/polygon/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'polygon', + graph_id: 'matic', + name: 'Polygon', + alt_names: ['matic'], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'tokens/matic-network', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/polygon/mumbai/meta.json b/src/data/polygon/mumbai/meta.json deleted file mode 100644 index e72bb06..0000000 --- a/src/data/polygon/mumbai/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "mumbai", - "graph_id": "mumbai", - "name": "Mumbai", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/polygon/mumbai/meta.ts b/src/data/polygon/mumbai/meta.ts new file mode 100644 index 0000000..c873d4c --- /dev/null +++ b/src/data/polygon/mumbai/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'mumbai', + graph_id: 'mumbai', + name: 'Mumbai', + alt_names: [], + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/scroll/meta.json b/src/data/scroll/meta.json deleted file mode 100644 index f79a78a..0000000 --- a/src/data/scroll/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "scroll", - "graph_id": "scroll", - "name": "Scroll", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/scroll", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} diff --git a/src/data/scroll/meta.ts b/src/data/scroll/meta.ts new file mode 100644 index 0000000..feca2cd --- /dev/null +++ b/src/data/scroll/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'scroll', + graph_id: 'scroll', + name: 'Scroll', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/scroll', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/starknet/meta.json b/src/data/starknet/meta.json deleted file mode 100644 index 287f595..0000000 --- a/src/data/starknet/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "starknet", - "graph_id": null, - "name": "Starknet", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/starknet", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": null, - "deprecated_at": null - }, - "substreams": { - "released_at": null, - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/starknet/meta.ts b/src/data/starknet/meta.ts new file mode 100644 index 0000000..ab29e06 --- /dev/null +++ b/src/data/starknet/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'starknet', + graph_id: null, + name: 'Starknet', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/starknet', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: null, + deprecated_at: null, + }, + substreams: { + released_at: null, + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/telos/meta.json b/src/data/telos/meta.json deleted file mode 100644 index 596ac04..0000000 --- a/src/data/telos/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "telos", - "graph_id": null, - "name": "Telos", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "icon": { - "id": "networks/telos", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/telos/meta.ts b/src/data/telos/meta.ts new file mode 100644 index 0000000..b576717 --- /dev/null +++ b/src/data/telos/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'telos', + graph_id: null, + name: 'Telos', + alt_names: [], + standard: 'antelope', + block_type: { + label: 'sf.antelope.type.v1.Block', + url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', + }, + icon: { + id: 'networks/telos', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/telos/telostest/meta.json b/src/data/telos/telostest/meta.json deleted file mode 100644 index 62c89d9..0000000 --- a/src/data/telos/telostest/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "telostest", - "graph_id": null, - "name": "Telos Test", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/telos/telostest/meta.ts b/src/data/telos/telostest/meta.ts new file mode 100644 index 0000000..1e52c40 --- /dev/null +++ b/src/data/telos/telostest/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'telostest', + graph_id: null, + name: 'Telos Test', + alt_names: [], + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/wax/meta.json b/src/data/wax/meta.json deleted file mode 100644 index a15781b..0000000 --- a/src/data/wax/meta.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "id": "wax", - "graph_id": null, - "name": "WAX", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "icon": { - "id": "tokens/wax", - "brand_theme": "both" - }, - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/wax/meta.ts b/src/data/wax/meta.ts new file mode 100644 index 0000000..69a99ca --- /dev/null +++ b/src/data/wax/meta.ts @@ -0,0 +1,33 @@ +import { Chain } from '../../types/chain.types'; + +const meta: Chain = { + id: 'wax', + graph_id: null, + name: 'WAX', + alt_names: [], + standard: 'antelope', + block_type: { + label: 'sf.antelope.type.v1.Block', + url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', + }, + icon: { + id: 'tokens/wax', + brand_theme: 'both', + }, + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/wax/waxtest/meta.json b/src/data/wax/waxtest/meta.json deleted file mode 100644 index a5baf7d..0000000 --- a/src/data/wax/waxtest/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "waxtest", - "graph_id": null, - "name": "WAX Test", - "alt_names": [], - "supported_services": { - "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null - } - } -} \ No newline at end of file diff --git a/src/data/wax/waxtest/meta.ts b/src/data/wax/waxtest/meta.ts new file mode 100644 index 0000000..b845da9 --- /dev/null +++ b/src/data/wax/waxtest/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../types/chain.types'; + +const meta: Testnet = { + id: 'waxtest', + graph_id: null, + name: 'WAX Test', + alt_names: [], + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/tests/assert_chain_data_format.js b/src/tests/assert_chain_data_format.js new file mode 100644 index 0000000..e69de29 diff --git a/src/tests/assert_unexported_chains.js b/src/tests/assert_unexported_chains.js new file mode 100644 index 0000000..e69de29 diff --git a/src/tests/assert_unique_index.js b/src/tests/assert_unique_index.js new file mode 100644 index 0000000..e69de29 diff --git a/src/tests/assert_valid_icons.js b/src/tests/assert_valid_icons.js new file mode 100644 index 0000000..e69de29 diff --git a/src/types/chain.types.ts b/src/types/chain.types.ts index 02278d8..9bbb2b5 100644 --- a/src/types/chain.types.ts +++ b/src/types/chain.types.ts @@ -16,7 +16,7 @@ export type ChainBase = { graph_id: GraphId | null; // Display Priority, lower is higher - index: number; + index?: number; // Alternative Names alt_names: string[]; @@ -50,14 +50,14 @@ export interface Chain extends ChainBase { brand_theme: 'light' | 'dark' | 'both'; // Generated by ./scripts/generate/data_json.js - variants: Array<'branded' | 'mono'>; + variants?: Array<'branded' | 'mono'>; }; // Merged by ./scripts/generate/data_json.js - testnets: Array; + testnets?: Array; // Merged by ./scripts/generate/data_json.js - consensus_layers: Array; + consensus_layers?: Array; // Any additional metadata we want to store (ie. Wagmi) // metadata: any | null; diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index 9ba65a3..d7d4033 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 2024-04-09, 1:46:12 p.m.. +// Last generation on 4/10/2024, 10:08:19 AM. export type GraphId = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 8185b29..1c57b19 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 2024-04-09, 1:46:12 p.m.. +// Last generation on 4/10/2024, 10:08:20 AM. export type PinaxId = | 'arbgoerli' | 'arbsepolia' diff --git a/src/utils/case.ts b/src/utils/case.ts new file mode 100644 index 0000000..46fd0d5 --- /dev/null +++ b/src/utils/case.ts @@ -0,0 +1,5 @@ +export const toCamelCase = (str: string): string => { + return str.replace(/([-_][a-z])/g, (group) => + group.toUpperCase().replace('-', '').replace('_', ''), + ); +}; diff --git a/ts-convert.ts b/ts-convert.ts new file mode 100644 index 0000000..97d55ac --- /dev/null +++ b/ts-convert.ts @@ -0,0 +1,33 @@ +import fs from 'fs'; +import path from 'path'; +import { Chain, Testnet } from './src/types/chain.types'; + +const dataDir = path.join(__dirname, 'src', 'data'); + +fs.readdirSync(dataDir).forEach((mainnetDir) => { + const mainnetPath = path.join(dataDir, mainnetDir); + const mainnetMetaPath = path.join(mainnetPath, 'meta.json'); + + if (fs.existsSync(mainnetMetaPath)) { + const mainnetMeta = fs.readFileSync(mainnetMetaPath, 'utf-8'); + const mainnetMetaTs: Chain = JSON.parse(mainnetMeta); + fs.writeFileSync( + path.join(mainnetPath, 'meta.ts'), + `import { Chain } from "../../types/chain.types";\n\nconst meta: Chain = ${JSON.stringify(mainnetMetaTs, null, 2)};\n\nexport default meta;\n`, + ); + } + + fs.readdirSync(mainnetPath).forEach((testnetDir) => { + const testnetPath = path.join(mainnetPath, testnetDir); + const testnetMetaPath = path.join(testnetPath, 'meta.json'); + + if (fs.existsSync(testnetMetaPath)) { + const testnetMeta = fs.readFileSync(testnetMetaPath, 'utf-8'); + const testnetMetaTs: Testnet = JSON.parse(testnetMeta); + fs.writeFileSync( + path.join(testnetPath, 'meta.ts'), + `import { Testnet } from "../../../types/chain.types";\n\nconst meta: Testnet = ${JSON.stringify(testnetMetaTs, null, 2)};\n\nexport default meta;\n`, + ); + } + }); +}); From a31b2ba3f2d943325c0fe2b16971f0b15da722f8 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 10 Apr 2024 10:08:48 -0400 Subject: [PATCH 05/51] Fixed precommit doing things twice --- .husky/pre-commit | 1 - src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index 4844ddf..4e2c3c7 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,3 +1,2 @@ npm run generate -npm run generate:types git add . \ No newline at end of file diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index d7d4033..2ecef9a 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 10:08:19 AM. +// Last generation on 4/10/2024, 10:08:52 AM. export type GraphId = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 1c57b19..359476b 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 10:08:20 AM. +// Last generation on 4/10/2024, 10:08:52 AM. export type PinaxId = | 'arbgoerli' | 'arbsepolia' From 40529bec14f9f881257b530b90bbcc0ed0bcc137 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 10 Apr 2024 10:48:37 -0400 Subject: [PATCH 06/51] Chains are readded --- src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index 2ecef9a..b93a36e 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 10:08:52 AM. +// Last generation on 4/10/2024, 10:48:41 AM. export type GraphId = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 359476b..3c33bc5 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 10:08:52 AM. +// Last generation on 4/10/2024, 10:48:41 AM. export type PinaxId = | 'arbgoerli' | 'arbsepolia' From c756e656f633f02e93c20407c9eb34ac2d6741a8 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 10 Apr 2024 15:11:25 -0400 Subject: [PATCH 07/51] Added services and services configs --- dist/data.d.ts | 19 ++- scripts/generate/data_index.ts | 2 +- scripts/generate/data_json.ts | 2 +- scripts/generate/type_graphid.ts | 6 +- scripts/generate/type_pinaxid.ts | 6 +- .../{ => chains}/arbone/arbgoerli/meta.ts | 2 +- .../{ => chains}/arbone/arbsepolia/meta.ts | 2 +- .../{ => chains}/arbone/chiado-cl/meta.ts | 2 +- src/data/{ => chains}/arbone/chiado/meta.ts | 2 +- src/data/{ => chains}/arbone/meta.ts | 2 +- src/data/{ => chains}/arweave/meta.ts | 2 +- src/data/{ => chains}/avalanche/meta.ts | 2 +- src/data/{ => chains}/base/meta.ts | 2 +- src/data/{ => chains}/bitcoin/meta.ts | 2 +- src/data/{ => chains}/bsc/chapel/meta.ts | 2 +- src/data/{ => chains}/bsc/meta.ts | 2 +- src/data/{ => chains}/celo/alfajores/meta.ts | 2 +- src/data/{ => chains}/celo/meta.ts | 2 +- src/data/{ => chains}/cosmoshub/juno/meta.ts | 2 +- src/data/{ => chains}/cosmoshub/meta.ts | 2 +- src/data/{ => chains}/cosmoshub/theta/meta.ts | 2 +- src/data/{ => chains}/decimal/meta.ts | 2 +- src/data/{ => chains}/eos/jungle4/meta.ts | 2 +- src/data/{ => chains}/eos/kylin/meta.ts | 2 +- src/data/{ => chains}/eos/meta.ts | 2 +- src/data/{ => chains}/eth/eth-cl/meta.ts | 2 +- src/data/{ => chains}/eth/goerli-cl/meta.ts | 2 +- src/data/{ => chains}/eth/goerli/meta.ts | 2 +- src/data/{ => chains}/eth/holesky-cl/meta.ts | 2 +- src/data/{ => chains}/eth/holesky/meta.ts | 2 +- src/data/{ => chains}/eth/meta.ts | 2 +- src/data/{ => chains}/eth/sepolia-cl/meta.ts | 2 +- src/data/{ => chains}/eth/sepolia/meta.ts | 2 +- src/data/{ => chains}/fantom/meta.ts | 2 +- .../{ => chains}/gnosis/gnosis-cl/meta.ts | 2 +- src/data/{ => chains}/gnosis/meta.ts | 2 +- src/data/{ => chains}/index.ts | 0 src/data/{ => chains}/kava/meta.ts | 2 +- src/data/{ => chains}/moonbeam/meta.ts | 2 +- src/data/{ => chains}/near/meta.ts | 2 +- src/data/{ => chains}/near/neartest/meta.ts | 2 +- src/data/{ => chains}/optimism/meta.ts | 2 +- src/data/{ => chains}/osmosis/meta.ts | 2 +- src/data/{ => chains}/polygon/meta.ts | 2 +- src/data/{ => chains}/polygon/mumbai/meta.ts | 2 +- src/data/{ => chains}/scroll/meta.ts | 2 +- src/data/{ => chains}/starknet/meta.ts | 2 +- src/data/{ => chains}/telos/meta.ts | 2 +- src/data/{ => chains}/telos/telostest/meta.ts | 2 +- src/data/{ => chains}/wax/meta.ts | 2 +- src/data/{ => chains}/wax/waxtest/meta.ts | 2 +- src/data/services.ts | 21 ++++ src/types/chain.types.ts | 8 +- src/types/graph.types.ts | 4 +- src/types/pinax.types.ts | 4 +- src/types/service.types.ts | 10 +- src/utils/chains.ts | 2 - src/utils/service_configs/firehose.ts | 54 +++++++++ src/utils/service_configs/rpc.ts | 16 +++ src/utils/service_configs/substreams.ts | 108 ++++++++++++++++++ ts-convert.ts | 33 ------ 61 files changed, 281 insertions(+), 104 deletions(-) rename src/data/{ => chains}/arbone/arbgoerli/meta.ts (87%) rename src/data/{ => chains}/arbone/arbsepolia/meta.ts (87%) rename src/data/{ => chains}/arbone/chiado-cl/meta.ts (87%) rename src/data/{ => chains}/arbone/chiado/meta.ts (86%) rename src/data/{ => chains}/arbone/meta.ts (92%) rename src/data/{ => chains}/arweave/meta.ts (92%) rename src/data/{ => chains}/avalanche/meta.ts (92%) rename src/data/{ => chains}/base/meta.ts (92%) rename src/data/{ => chains}/bitcoin/meta.ts (92%) rename src/data/{ => chains}/bsc/chapel/meta.ts (88%) rename src/data/{ => chains}/bsc/meta.ts (93%) rename src/data/{ => chains}/celo/alfajores/meta.ts (86%) rename src/data/{ => chains}/celo/meta.ts (92%) rename src/data/{ => chains}/cosmoshub/juno/meta.ts (87%) rename src/data/{ => chains}/cosmoshub/meta.ts (92%) rename src/data/{ => chains}/cosmoshub/theta/meta.ts (88%) rename src/data/{ => chains}/decimal/meta.ts (92%) rename src/data/{ => chains}/eos/jungle4/meta.ts (88%) rename src/data/{ => chains}/eos/kylin/meta.ts (87%) rename src/data/{ => chains}/eos/meta.ts (92%) rename src/data/{ => chains}/eth/eth-cl/meta.ts (87%) rename src/data/{ => chains}/eth/goerli-cl/meta.ts (88%) rename src/data/{ => chains}/eth/goerli/meta.ts (89%) rename src/data/{ => chains}/eth/holesky-cl/meta.ts (87%) rename src/data/{ => chains}/eth/holesky/meta.ts (88%) rename src/data/{ => chains}/eth/meta.ts (92%) rename src/data/{ => chains}/eth/sepolia-cl/meta.ts (87%) rename src/data/{ => chains}/eth/sepolia/meta.ts (88%) rename src/data/{ => chains}/fantom/meta.ts (92%) rename src/data/{ => chains}/gnosis/gnosis-cl/meta.ts (87%) rename src/data/{ => chains}/gnosis/meta.ts (92%) rename src/data/{ => chains}/index.ts (100%) rename src/data/{ => chains}/kava/meta.ts (92%) rename src/data/{ => chains}/moonbeam/meta.ts (92%) rename src/data/{ => chains}/near/meta.ts (92%) rename src/data/{ => chains}/near/neartest/meta.ts (88%) rename src/data/{ => chains}/optimism/meta.ts (92%) rename src/data/{ => chains}/osmosis/meta.ts (92%) rename src/data/{ => chains}/polygon/meta.ts (93%) rename src/data/{ => chains}/polygon/mumbai/meta.ts (88%) rename src/data/{ => chains}/scroll/meta.ts (92%) rename src/data/{ => chains}/starknet/meta.ts (92%) rename src/data/{ => chains}/telos/meta.ts (92%) rename src/data/{ => chains}/telos/telostest/meta.ts (88%) rename src/data/{ => chains}/wax/meta.ts (92%) rename src/data/{ => chains}/wax/waxtest/meta.ts (87%) create mode 100644 src/data/services.ts create mode 100644 src/utils/service_configs/firehose.ts create mode 100644 src/utils/service_configs/rpc.ts create mode 100644 src/utils/service_configs/substreams.ts delete mode 100644 ts-convert.ts diff --git a/dist/data.d.ts b/dist/data.d.ts index 0e60116..bb2bfa4 100644 --- a/dist/data.d.ts +++ b/dist/data.d.ts @@ -5,10 +5,14 @@ import { Testnet, ConsensusLayer, } from '../src/types/chain.types'; -import { GraphId } from '../src/types/graph.types'; -import { Mainnet } from './types/mainnet.types'; -import { PinaxId } from '../src/types/pinax.types'; -import { SupportedServices } from '../src/types/service.types'; +import { GraphID } from '../src/types/graph.types'; +import { PinaxID } from '../src/types/pinax.types'; +import { + ServiceID, + ServiceEndpoint, + ServiceEndpointStatus, + SupportedServices, +} from '../src/types/service.types'; import { Standard } from '../src/types/standard.types'; export { @@ -17,8 +21,11 @@ export { Chain, Testnet, ConsensusLayer, - GraphId, - PinaxId, + GraphID as GraphId, + PinaxID as PinaxId, + ServiceID, + ServiceEndpoint, + ServiceEndpointStatus, SupportedServices, Standard, }; diff --git a/scripts/generate/data_index.ts b/scripts/generate/data_index.ts index 2b5a576..df4aaba 100644 --- a/scripts/generate/data_index.ts +++ b/scripts/generate/data_index.ts @@ -4,7 +4,7 @@ import { toCamelCase } from '../../src/utils/case'; console.log('🕑 Generating data index...'); -const dataDir = path.join(__dirname, '../../src', 'data'); +const dataDir = path.join(__dirname, '../../src', 'data/chains'); let indexContent = ''; fs.readdirSync(dataDir).forEach((mainnetDir) => { diff --git a/scripts/generate/data_json.ts b/scripts/generate/data_json.ts index 72bf3bc..1df9fcb 100644 --- a/scripts/generate/data_json.ts +++ b/scripts/generate/data_json.ts @@ -1,7 +1,7 @@ import fs from 'fs'; import path from 'path'; import bun from 'bun'; -import * as chainData from '../../src/data/index'; +import * as chainData from '../../src/data/chains/index'; import { toCamelCase } from '../../src/utils/case'; interface Icon { id: string; diff --git a/scripts/generate/type_graphid.ts b/scripts/generate/type_graphid.ts index 896d536..c346df6 100644 --- a/scripts/generate/type_graphid.ts +++ b/scripts/generate/type_graphid.ts @@ -4,7 +4,7 @@ import path from 'path'; const typesDir = path.join(__dirname, '../../src/types'); const graphTypesFile = path.join(typesDir, 'graph.types.ts'); -console.log('🕑 Generating GraphId type...'); +console.log('🕑 Generating GraphID type...'); const fetchGraphIDs = async (): Promise => { try { @@ -27,7 +27,7 @@ const fetchGraphIDs = async (): Promise => { ); // Generate the GraphId type definition - const graphIdType = `// This file is auto-generated on pre-commit to avoid maintaining it.\n// Do not modify manually as it will be overwritten.\n// Last generation on ${new Date().toLocaleString()}.\nexport type GraphId = '${sortedGraphIds.join("' | '")}'`; + const graphIdType = `// This file is auto-generated on pre-commit to avoid maintaining it.\n// Do not modify manually as it will be overwritten.\n// Last generation on ${new Date().toLocaleString()}.\nexport type GraphID = '${sortedGraphIds.join("' | '")}'`; // Write the GraphId type definition to the types directory fs.writeFile(graphTypesFile, graphIdType, (err) => { @@ -36,7 +36,7 @@ const fetchGraphIDs = async (): Promise => { return; } - console.log('✅ Successfully generated GraphId type!'); + console.log('✅ Successfully generated GraphID type!'); }); } catch (error) { console.error('Error fetching graph IDs:', error); diff --git a/scripts/generate/type_pinaxid.ts b/scripts/generate/type_pinaxid.ts index 9e91661..ecd7115 100644 --- a/scripts/generate/type_pinaxid.ts +++ b/scripts/generate/type_pinaxid.ts @@ -6,7 +6,7 @@ const typesDir = path.join(__dirname, '../../src/types'); const pinaxTypesFile = path.join(typesDir, 'pinax.types.ts'); -console.log('🕑 Generating PinaxId type...'); +console.log('🕑 Generating PinaxID type...'); // Function to recursively read directories and subdirectories function readDir(directory: string): string[] { @@ -36,7 +36,7 @@ function readDir(directory: string): string[] { const fileNames = readDir(chainsDir); // Generate the PinaxId type definition -const pinaxIdType = `// This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies.\n// Do not modify manually as it will be overwritten.\n// Last generation on ${new Date().toLocaleString()}.\nexport type PinaxId = '${fileNames.join("' | '")}'`; +const pinaxIdType = `// This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies.\n// Do not modify manually as it will be overwritten.\n// Last generation on ${new Date().toLocaleString()}.\nexport type PinaxID = '${fileNames.join("' | '")}'`; // Write the PinaxId type definition to the types directory fs.writeFile(pinaxTypesFile, pinaxIdType, (err) => { @@ -45,5 +45,5 @@ fs.writeFile(pinaxTypesFile, pinaxIdType, (err) => { return; } - console.log('✅ Successfully generating PinaxId type!'); + console.log('✅ Successfully generating PinaxID type!'); }); diff --git a/src/data/arbone/arbgoerli/meta.ts b/src/data/chains/arbone/arbgoerli/meta.ts similarity index 87% rename from src/data/arbone/arbgoerli/meta.ts rename to src/data/chains/arbone/arbgoerli/meta.ts index 20774f0..576fd7a 100644 --- a/src/data/arbone/arbgoerli/meta.ts +++ b/src/data/chains/arbone/arbgoerli/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'arbgoerli', diff --git a/src/data/arbone/arbsepolia/meta.ts b/src/data/chains/arbone/arbsepolia/meta.ts similarity index 87% rename from src/data/arbone/arbsepolia/meta.ts rename to src/data/chains/arbone/arbsepolia/meta.ts index d3d85c9..182411a 100644 --- a/src/data/arbone/arbsepolia/meta.ts +++ b/src/data/chains/arbone/arbsepolia/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'arbsepolia', diff --git a/src/data/arbone/chiado-cl/meta.ts b/src/data/chains/arbone/chiado-cl/meta.ts similarity index 87% rename from src/data/arbone/chiado-cl/meta.ts rename to src/data/chains/arbone/chiado-cl/meta.ts index 95fd273..ef40a65 100644 --- a/src/data/arbone/chiado-cl/meta.ts +++ b/src/data/chains/arbone/chiado-cl/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'chiado-cl', diff --git a/src/data/arbone/chiado/meta.ts b/src/data/chains/arbone/chiado/meta.ts similarity index 86% rename from src/data/arbone/chiado/meta.ts rename to src/data/chains/arbone/chiado/meta.ts index 6f74f0e..fe8c721 100644 --- a/src/data/arbone/chiado/meta.ts +++ b/src/data/chains/arbone/chiado/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'chiado', diff --git a/src/data/arbone/meta.ts b/src/data/chains/arbone/meta.ts similarity index 92% rename from src/data/arbone/meta.ts rename to src/data/chains/arbone/meta.ts index 96a8941..8a11fb2 100644 --- a/src/data/arbone/meta.ts +++ b/src/data/chains/arbone/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'arbone', diff --git a/src/data/arweave/meta.ts b/src/data/chains/arweave/meta.ts similarity index 92% rename from src/data/arweave/meta.ts rename to src/data/chains/arweave/meta.ts index a9fd0bd..347a732 100644 --- a/src/data/arweave/meta.ts +++ b/src/data/chains/arweave/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'arweave', diff --git a/src/data/avalanche/meta.ts b/src/data/chains/avalanche/meta.ts similarity index 92% rename from src/data/avalanche/meta.ts rename to src/data/chains/avalanche/meta.ts index d89b9ff..2c6e278 100644 --- a/src/data/avalanche/meta.ts +++ b/src/data/chains/avalanche/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'avalanche', diff --git a/src/data/base/meta.ts b/src/data/chains/base/meta.ts similarity index 92% rename from src/data/base/meta.ts rename to src/data/chains/base/meta.ts index 1514896..a400844 100644 --- a/src/data/base/meta.ts +++ b/src/data/chains/base/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'base', diff --git a/src/data/bitcoin/meta.ts b/src/data/chains/bitcoin/meta.ts similarity index 92% rename from src/data/bitcoin/meta.ts rename to src/data/chains/bitcoin/meta.ts index a1e8d80..8e7a9af 100644 --- a/src/data/bitcoin/meta.ts +++ b/src/data/chains/bitcoin/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'bitcoin', diff --git a/src/data/bsc/chapel/meta.ts b/src/data/chains/bsc/chapel/meta.ts similarity index 88% rename from src/data/bsc/chapel/meta.ts rename to src/data/chains/bsc/chapel/meta.ts index c97a8f8..4978380 100644 --- a/src/data/bsc/chapel/meta.ts +++ b/src/data/chains/bsc/chapel/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'chapel', diff --git a/src/data/bsc/meta.ts b/src/data/chains/bsc/meta.ts similarity index 93% rename from src/data/bsc/meta.ts rename to src/data/chains/bsc/meta.ts index 6eac6dd..899abc2 100644 --- a/src/data/bsc/meta.ts +++ b/src/data/chains/bsc/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'bsc', diff --git a/src/data/celo/alfajores/meta.ts b/src/data/chains/celo/alfajores/meta.ts similarity index 86% rename from src/data/celo/alfajores/meta.ts rename to src/data/chains/celo/alfajores/meta.ts index c9a4b96..1c65c35 100644 --- a/src/data/celo/alfajores/meta.ts +++ b/src/data/chains/celo/alfajores/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'alfajores', diff --git a/src/data/celo/meta.ts b/src/data/chains/celo/meta.ts similarity index 92% rename from src/data/celo/meta.ts rename to src/data/chains/celo/meta.ts index 347b0e1..c383ffb 100644 --- a/src/data/celo/meta.ts +++ b/src/data/chains/celo/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'celo', diff --git a/src/data/cosmoshub/juno/meta.ts b/src/data/chains/cosmoshub/juno/meta.ts similarity index 87% rename from src/data/cosmoshub/juno/meta.ts rename to src/data/chains/cosmoshub/juno/meta.ts index e60c8eb..62e3963 100644 --- a/src/data/cosmoshub/juno/meta.ts +++ b/src/data/chains/cosmoshub/juno/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'juno', diff --git a/src/data/cosmoshub/meta.ts b/src/data/chains/cosmoshub/meta.ts similarity index 92% rename from src/data/cosmoshub/meta.ts rename to src/data/chains/cosmoshub/meta.ts index 9dfc107..f5a252d 100644 --- a/src/data/cosmoshub/meta.ts +++ b/src/data/chains/cosmoshub/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'cosmoshub', diff --git a/src/data/cosmoshub/theta/meta.ts b/src/data/chains/cosmoshub/theta/meta.ts similarity index 88% rename from src/data/cosmoshub/theta/meta.ts rename to src/data/chains/cosmoshub/theta/meta.ts index d724606..34f88ec 100644 --- a/src/data/cosmoshub/theta/meta.ts +++ b/src/data/chains/cosmoshub/theta/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'theta', diff --git a/src/data/decimal/meta.ts b/src/data/chains/decimal/meta.ts similarity index 92% rename from src/data/decimal/meta.ts rename to src/data/chains/decimal/meta.ts index 5f7ab2d..f552913 100644 --- a/src/data/decimal/meta.ts +++ b/src/data/chains/decimal/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'decimal', diff --git a/src/data/eos/jungle4/meta.ts b/src/data/chains/eos/jungle4/meta.ts similarity index 88% rename from src/data/eos/jungle4/meta.ts rename to src/data/chains/eos/jungle4/meta.ts index 908124c..26cf5e4 100644 --- a/src/data/eos/jungle4/meta.ts +++ b/src/data/chains/eos/jungle4/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'jungle4', diff --git a/src/data/eos/kylin/meta.ts b/src/data/chains/eos/kylin/meta.ts similarity index 87% rename from src/data/eos/kylin/meta.ts rename to src/data/chains/eos/kylin/meta.ts index 1bda091..0d43842 100644 --- a/src/data/eos/kylin/meta.ts +++ b/src/data/chains/eos/kylin/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'kylin', diff --git a/src/data/eos/meta.ts b/src/data/chains/eos/meta.ts similarity index 92% rename from src/data/eos/meta.ts rename to src/data/chains/eos/meta.ts index bd7b558..c197ea9 100644 --- a/src/data/eos/meta.ts +++ b/src/data/chains/eos/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'eos', diff --git a/src/data/eth/eth-cl/meta.ts b/src/data/chains/eth/eth-cl/meta.ts similarity index 87% rename from src/data/eth/eth-cl/meta.ts rename to src/data/chains/eth/eth-cl/meta.ts index d697bb2..9f8da22 100644 --- a/src/data/eth/eth-cl/meta.ts +++ b/src/data/chains/eth/eth-cl/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'eth-cl', diff --git a/src/data/eth/goerli-cl/meta.ts b/src/data/chains/eth/goerli-cl/meta.ts similarity index 88% rename from src/data/eth/goerli-cl/meta.ts rename to src/data/chains/eth/goerli-cl/meta.ts index 9a52201..e5ab0aa 100644 --- a/src/data/eth/goerli-cl/meta.ts +++ b/src/data/chains/eth/goerli-cl/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'goerli-cl', diff --git a/src/data/eth/goerli/meta.ts b/src/data/chains/eth/goerli/meta.ts similarity index 89% rename from src/data/eth/goerli/meta.ts rename to src/data/chains/eth/goerli/meta.ts index c5dea00..8dabd3d 100644 --- a/src/data/eth/goerli/meta.ts +++ b/src/data/chains/eth/goerli/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'goerli', diff --git a/src/data/eth/holesky-cl/meta.ts b/src/data/chains/eth/holesky-cl/meta.ts similarity index 87% rename from src/data/eth/holesky-cl/meta.ts rename to src/data/chains/eth/holesky-cl/meta.ts index ae05240..b548ffc 100644 --- a/src/data/eth/holesky-cl/meta.ts +++ b/src/data/chains/eth/holesky-cl/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'holesky-cl', diff --git a/src/data/eth/holesky/meta.ts b/src/data/chains/eth/holesky/meta.ts similarity index 88% rename from src/data/eth/holesky/meta.ts rename to src/data/chains/eth/holesky/meta.ts index 9c300a1..6dc1378 100644 --- a/src/data/eth/holesky/meta.ts +++ b/src/data/chains/eth/holesky/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'holesky', diff --git a/src/data/eth/meta.ts b/src/data/chains/eth/meta.ts similarity index 92% rename from src/data/eth/meta.ts rename to src/data/chains/eth/meta.ts index b08c3ee..4af0e43 100644 --- a/src/data/eth/meta.ts +++ b/src/data/chains/eth/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'eth', diff --git a/src/data/eth/sepolia-cl/meta.ts b/src/data/chains/eth/sepolia-cl/meta.ts similarity index 87% rename from src/data/eth/sepolia-cl/meta.ts rename to src/data/chains/eth/sepolia-cl/meta.ts index d53391f..4e17540 100644 --- a/src/data/eth/sepolia-cl/meta.ts +++ b/src/data/chains/eth/sepolia-cl/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'sepolia-cl', diff --git a/src/data/eth/sepolia/meta.ts b/src/data/chains/eth/sepolia/meta.ts similarity index 88% rename from src/data/eth/sepolia/meta.ts rename to src/data/chains/eth/sepolia/meta.ts index 8d59a75..76d2b1d 100644 --- a/src/data/eth/sepolia/meta.ts +++ b/src/data/chains/eth/sepolia/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'sepolia', diff --git a/src/data/fantom/meta.ts b/src/data/chains/fantom/meta.ts similarity index 92% rename from src/data/fantom/meta.ts rename to src/data/chains/fantom/meta.ts index 8d4a5df..100197e 100644 --- a/src/data/fantom/meta.ts +++ b/src/data/chains/fantom/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'fantom', diff --git a/src/data/gnosis/gnosis-cl/meta.ts b/src/data/chains/gnosis/gnosis-cl/meta.ts similarity index 87% rename from src/data/gnosis/gnosis-cl/meta.ts rename to src/data/chains/gnosis/gnosis-cl/meta.ts index 5619267..eb5beeb 100644 --- a/src/data/gnosis/gnosis-cl/meta.ts +++ b/src/data/chains/gnosis/gnosis-cl/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'gnosis-cl', diff --git a/src/data/gnosis/meta.ts b/src/data/chains/gnosis/meta.ts similarity index 92% rename from src/data/gnosis/meta.ts rename to src/data/chains/gnosis/meta.ts index 3fe85f2..21ca8ba 100644 --- a/src/data/gnosis/meta.ts +++ b/src/data/chains/gnosis/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'gnosis', diff --git a/src/data/index.ts b/src/data/chains/index.ts similarity index 100% rename from src/data/index.ts rename to src/data/chains/index.ts diff --git a/src/data/kava/meta.ts b/src/data/chains/kava/meta.ts similarity index 92% rename from src/data/kava/meta.ts rename to src/data/chains/kava/meta.ts index 3dad83b..5b6d3f5 100644 --- a/src/data/kava/meta.ts +++ b/src/data/chains/kava/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'kava', diff --git a/src/data/moonbeam/meta.ts b/src/data/chains/moonbeam/meta.ts similarity index 92% rename from src/data/moonbeam/meta.ts rename to src/data/chains/moonbeam/meta.ts index 4aa5f37..46d13ac 100644 --- a/src/data/moonbeam/meta.ts +++ b/src/data/chains/moonbeam/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'moonbeam', diff --git a/src/data/near/meta.ts b/src/data/chains/near/meta.ts similarity index 92% rename from src/data/near/meta.ts rename to src/data/chains/near/meta.ts index 2b0bc6a..bf131b1 100644 --- a/src/data/near/meta.ts +++ b/src/data/chains/near/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'near', diff --git a/src/data/near/neartest/meta.ts b/src/data/chains/near/neartest/meta.ts similarity index 88% rename from src/data/near/neartest/meta.ts rename to src/data/chains/near/neartest/meta.ts index 29098e8..d542e19 100644 --- a/src/data/near/neartest/meta.ts +++ b/src/data/chains/near/neartest/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'neartest', diff --git a/src/data/optimism/meta.ts b/src/data/chains/optimism/meta.ts similarity index 92% rename from src/data/optimism/meta.ts rename to src/data/chains/optimism/meta.ts index e1e435a..b58bb93 100644 --- a/src/data/optimism/meta.ts +++ b/src/data/chains/optimism/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'optimism', diff --git a/src/data/osmosis/meta.ts b/src/data/chains/osmosis/meta.ts similarity index 92% rename from src/data/osmosis/meta.ts rename to src/data/chains/osmosis/meta.ts index 6ef69cf..2ca5e82 100644 --- a/src/data/osmosis/meta.ts +++ b/src/data/chains/osmosis/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'osmosis', diff --git a/src/data/polygon/meta.ts b/src/data/chains/polygon/meta.ts similarity index 93% rename from src/data/polygon/meta.ts rename to src/data/chains/polygon/meta.ts index 72ab33b..84b0766 100644 --- a/src/data/polygon/meta.ts +++ b/src/data/chains/polygon/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'polygon', diff --git a/src/data/polygon/mumbai/meta.ts b/src/data/chains/polygon/mumbai/meta.ts similarity index 88% rename from src/data/polygon/mumbai/meta.ts rename to src/data/chains/polygon/mumbai/meta.ts index c873d4c..5b2edd5 100644 --- a/src/data/polygon/mumbai/meta.ts +++ b/src/data/chains/polygon/mumbai/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'mumbai', diff --git a/src/data/scroll/meta.ts b/src/data/chains/scroll/meta.ts similarity index 92% rename from src/data/scroll/meta.ts rename to src/data/chains/scroll/meta.ts index feca2cd..3d6ddbc 100644 --- a/src/data/scroll/meta.ts +++ b/src/data/chains/scroll/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'scroll', diff --git a/src/data/starknet/meta.ts b/src/data/chains/starknet/meta.ts similarity index 92% rename from src/data/starknet/meta.ts rename to src/data/chains/starknet/meta.ts index ab29e06..53a1235 100644 --- a/src/data/starknet/meta.ts +++ b/src/data/chains/starknet/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'starknet', diff --git a/src/data/telos/meta.ts b/src/data/chains/telos/meta.ts similarity index 92% rename from src/data/telos/meta.ts rename to src/data/chains/telos/meta.ts index b576717..6010ddf 100644 --- a/src/data/telos/meta.ts +++ b/src/data/chains/telos/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'telos', diff --git a/src/data/telos/telostest/meta.ts b/src/data/chains/telos/telostest/meta.ts similarity index 88% rename from src/data/telos/telostest/meta.ts rename to src/data/chains/telos/telostest/meta.ts index 1e52c40..9656aec 100644 --- a/src/data/telos/telostest/meta.ts +++ b/src/data/chains/telos/telostest/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'telostest', diff --git a/src/data/wax/meta.ts b/src/data/chains/wax/meta.ts similarity index 92% rename from src/data/wax/meta.ts rename to src/data/chains/wax/meta.ts index 69a99ca..7d17e6a 100644 --- a/src/data/wax/meta.ts +++ b/src/data/chains/wax/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../types/chain.types'; +import { Chain } from '../../../types/chain.types'; const meta: Chain = { id: 'wax', diff --git a/src/data/wax/waxtest/meta.ts b/src/data/chains/wax/waxtest/meta.ts similarity index 87% rename from src/data/wax/waxtest/meta.ts rename to src/data/chains/wax/waxtest/meta.ts index b845da9..cd078c8 100644 --- a/src/data/wax/waxtest/meta.ts +++ b/src/data/chains/wax/waxtest/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../types/chain.types'; +import { Testnet } from '../../../../types/chain.types'; const meta: Testnet = { id: 'waxtest', diff --git a/src/data/services.ts b/src/data/services.ts new file mode 100644 index 0000000..16fd09d --- /dev/null +++ b/src/data/services.ts @@ -0,0 +1,21 @@ +import { ServiceEndpoint } from '../types/service.types'; + +const services: Array = [ + { + name: 'Substreams', + endpoint_slug: 'substreams', + port: 443, + }, + { + name: 'Firehose', + endpoint_slug: 'firehose', + port: 443, + }, + { + name: 'RPC', + endpoint_slug: 'rpc', + port: 443, + }, +]; + +export default services; diff --git a/src/types/chain.types.ts b/src/types/chain.types.ts index 9bbb2b5..cff5c3b 100644 --- a/src/types/chain.types.ts +++ b/src/types/chain.types.ts @@ -1,19 +1,19 @@ import { BlockType } from './block.types'; -import { GraphId } from './graph.types'; -import { PinaxId } from './pinax.types'; +import { GraphID } from './graph.types'; +import { PinaxID } from './pinax.types'; import { SupportedServices } from './service.types'; import { Standard } from './standard.types'; export type ChainBase = { // Testnet ID - id: PinaxId; + id: PinaxID; // Testnet Name name: string; // The Graph ID // See docs/retrieve_graph_ids.md - graph_id: GraphId | null; + graph_id: GraphID | null; // Display Priority, lower is higher index?: number; diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index b93a36e..c40c886 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,7 +1,7 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 10:48:41 AM. -export type GraphId = +// Last generation on 4/10/2024, 3:11:29 PM. +export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' | 'arweave-mainnet' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 3c33bc5..4733974 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,7 +1,7 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 10:48:41 AM. -export type PinaxId = +// Last generation on 4/10/2024, 3:11:30 PM. +export type PinaxID = | 'arbgoerli' | 'arbsepolia' | 'chiado' diff --git a/src/types/service.types.ts b/src/types/service.types.ts index 8ac11a8..be0d35f 100644 --- a/src/types/service.types.ts +++ b/src/types/service.types.ts @@ -1,7 +1,13 @@ -export type Service = 'substreams' | 'firehose' | 'rpc'; +export type ServiceID = 'substreams' | 'firehose' | 'rpc'; export type ServiceEndpoint = { + name: string; + endpoint_slug: ServiceID; + port: number; +}; + +export type ServiceEndpointStatus = { released_at: string | null; deprecated_at: string | null; }; -export type SupportedServices = { [key in Service]: ServiceEndpoint }; +export type SupportedServices = { [key in ServiceID]: ServiceEndpointStatus }; diff --git a/src/utils/chains.ts b/src/utils/chains.ts index 53a1b16..da41cbb 100644 --- a/src/utils/chains.ts +++ b/src/utils/chains.ts @@ -1,7 +1,5 @@ import { ChainBase } from '../types/chain.types'; -// Copied over form website, probably worth moving to @pinax/chains repo. - const isFirehoseSupported = (chain: ChainBase): boolean => { return ( chain?.supported_services?.firehose?.released_at !== null && diff --git a/src/utils/service_configs/firehose.ts b/src/utils/service_configs/firehose.ts new file mode 100644 index 0000000..30a625f --- /dev/null +++ b/src/utils/service_configs/firehose.ts @@ -0,0 +1,54 @@ +import services from '../../data/services'; +import { ServiceEndpoint } from '../../types/service.types'; +import { Chain } from '../../types/chain.types'; + +const firehose = services.filter( + (s: ServiceEndpoint) => s.endpoint_slug.indexOf('firehose') > -1, +)[0]; + +const generateGRPCurlConfig = (chain: Chain, apiKey: string) => { + return [ + `# Set your API Key`, + `export PINAX_KEY=${apiKey}`, + ``, + `# Set your JWT`, + `export FIREHOSE_API_TOKEN=$(curl https://auth.pinax.network/v1/auth/issue -s --data-binary '{"api_key":"'$PINAX_KEY'"}' | jq -r .token)`, + ``, + `# Run Firehose`, + `grpcurl -keepalive-time 30 -max-msg-sz 50241867 -d '{"start_block_num": -100}' -H 'Authorization: "$FIREHOSE_API_TOKEN"' ${chain.id}.firehose.pinax.network:443 sf.firehose.v2.Stream.Blocks`, + ].join('\n'); +}; + +const generateTomlEnv = (chain: Chain, token: string) => { + return [ + `PINAX_RPC_NODE=${chain.id}.rpc.pinax.network`, + `PINAX_JWT=${token}`, + ].join('\n'); +}; + +const generateTomlConfig = (chain: Chain) => { + const getERC20ConfigLines = (chain: Chain) => { + if (chain.standard?.localeCompare('ERC-20') === 0) + return [ + ` # Ethereum Based Chain`, + ` { label = "bootstrap", details = { type = "web3", url = "$PINAX_RPC_NODE", features = [ "archive" ] }},`, + ]; + return []; + }; + + return [ + `[chains.${chain.graph_id}]`, + `shard = "primary"`, + `provider = [`, + ...getERC20ConfigLines(chain), + ` # Firehose Configuration`, + ` { label = "firehose", details = { type = "firehose", url = "https://${chain.id}.firehose.pinax.network:443", token = "$PINAX_JWT" }},`, + ].join('\n'); +}; + +export default { + service: firehose, + generateGRPCurlConfig, + generateTomlEnv, + generateTomlConfig, +}; diff --git a/src/utils/service_configs/rpc.ts b/src/utils/service_configs/rpc.ts new file mode 100644 index 0000000..c321146 --- /dev/null +++ b/src/utils/service_configs/rpc.ts @@ -0,0 +1,16 @@ +import services from '../../data/services'; +import { ServiceEndpoint } from '../../types/service.types'; +import { Chain } from '../../types/chain.types'; + +const rpc = services.filter( + (s: ServiceEndpoint) => s.endpoint_slug.indexOf('rpc') > -1, +)[0]; + +const generateCurlConfig = (chain: Chain, apiKey: string) => { + return `curl -4vsH 'Content-Type: application/json' -d '{"jsonrpc": "2.0", "method": "eth_getBlockByNumber", "params": ["latest", false], "id": 1}' https://${chain.id}.rpc.pinax.network/v1/${apiKey}/`; +}; + +export default { + service: rpc, + generateCurlConfig, +}; diff --git a/src/utils/service_configs/substreams.ts b/src/utils/service_configs/substreams.ts new file mode 100644 index 0000000..c5e74a9 --- /dev/null +++ b/src/utils/service_configs/substreams.ts @@ -0,0 +1,108 @@ +import services from '../../data/services'; +import { ServiceEndpoint } from '../../types/service.types'; +import { Chain } from '../../types/chain.types'; + +const substreams = services.filter( + (s: ServiceEndpoint) => s.endpoint_slug.indexOf('substreams') > -1, +)[0]; + +const generateTomlEnv = (chain: Chain, token: string): string => { + const getEthBasedEnv = () => { + if (chain.standard?.localeCompare('ERC-20') === 0) + return `PINAX_RPC_NODE=${chain.id}.rpc.pinax.network\n`; + return ''; + }; + + const getSubstreamsEnv = () => { + return `PINAX_JWT=${token}`; + }; + + return ['# ...\n', getEthBasedEnv(), getSubstreamsEnv()].join(''); +}; + +const generateJavascriptEnv = (chain: Chain, apiKey: string): string => { + return `# ... +MANIFEST=https://example.com/substreams.spkg +SUBSTREAMS_URL=https://${chain.id}.${substreams.endpoint_slug}.pinax.network:${substreams.port} +SUBSTREAMS_API_KEY=${apiKey}`; +}; + +const generateCurlConfig = (chain: Chain, api_key: string): string => { + return [ + `# Set your API Key`, + `export PINAX_KEY=${api_key}`, + ``, + `# Set your JWT`, + `export SUBSTREAMS_API_TOKEN=$(curl https://auth.pinax.network/v1/auth/issue -s --data-binary '{"api_key":"'$PINAX_KEY'"}' | jq -r .token)`, + ``, + `# Run Substreams`, + `substreams run -e ${chain.id}.substreams.pinax.network:443 https://github.com/pinax-network/substreams/releases/download/blocks-v0.1.0/blocks-v0.1.0.spkg map_blocks -s -10`, + ].join('\n'); +}; + +const generateTomlConfig = (chain: Chain): string => { + const getChainsLine = (chain: Chain) => `[chains.${chain.graph_id}]\n`; + const getShardLine = () => `shard = "primary"\n`; + const getEthConfigLines = (chain: Chain) => { + if (chain.standard?.localeCompare('ERC-20') === 0) + return ` # Ethereum Based Chain\n { label = "bootstrap", details = { type = "web3", url = "$PINAX_RPC_NODE", features = [ "archive" ] }},\n`; + return ''; + }; + const getSubstreamsConfigLines = (chain: Chain) => + ` # Substreams Configuration\n { label = "substreams", details = { type = "substreams", url = "https://${chain.id}.${substreams.endpoint_slug}.pinax.network:${substreams.port}", token = "$PINAX_JWT" }},\n`; + + let config = [ + getChainsLine(chain), + getShardLine(), + 'provider = [\n', + getEthConfigLines(chain), + ].join(''); + config += getSubstreamsConfigLines(chain); + config += ']\n'; + return config; +}; + +const generateJavascriptConfig = (): string => { + return `import { createRegistry, createRequest } from “@substreams/core”; +import { readPackage } from “@substreams/manifest”; +import { BlockEmitter, createDefaultTransport } from “@substreams/node”; + +const { MANIFEST, SUBSTREAMS_URL, SUBSTREAMS_API_KEY } = process.env; + +// Read Substream +const substreamPackage = await readPackage({MANIFEST}); + +// Connect Transport +const headers = new Headers({ “User-Agent”: “@substreams/node” }); +const registry = createRegistry(substreamPackage); +const transport = createDefaultTransport({SUBSTREAMS_URL}, {SUBSTREAMS_API_KEY}, registry, headers); +const request = createRequest({substreamPackage, outputModule: “graph_out”, startBlockNum: -1}); + +// NodeJS Events +const emitter = new BlockEmitter(transport, request, registry); + +// Session Trace ID +emitter.on("session", (session) => { + console.dir(session); +}); + +// Stream Blocks +emitter.on("anyMessage", (message, cursor, clock) => { + console.dir(message); + console.dir(cursor); + console.dir(clock); +}); + +// Start Emitter +await emitter.start(); +console.log("✅ Done")`; +}; + +export default { + service: substreams, + generateTomlEnv, + generateJavascriptEnv, + generateCurlConfig, + generateTomlConfig, + generateJavascriptConfig, +}; diff --git a/ts-convert.ts b/ts-convert.ts deleted file mode 100644 index 97d55ac..0000000 --- a/ts-convert.ts +++ /dev/null @@ -1,33 +0,0 @@ -import fs from 'fs'; -import path from 'path'; -import { Chain, Testnet } from './src/types/chain.types'; - -const dataDir = path.join(__dirname, 'src', 'data'); - -fs.readdirSync(dataDir).forEach((mainnetDir) => { - const mainnetPath = path.join(dataDir, mainnetDir); - const mainnetMetaPath = path.join(mainnetPath, 'meta.json'); - - if (fs.existsSync(mainnetMetaPath)) { - const mainnetMeta = fs.readFileSync(mainnetMetaPath, 'utf-8'); - const mainnetMetaTs: Chain = JSON.parse(mainnetMeta); - fs.writeFileSync( - path.join(mainnetPath, 'meta.ts'), - `import { Chain } from "../../types/chain.types";\n\nconst meta: Chain = ${JSON.stringify(mainnetMetaTs, null, 2)};\n\nexport default meta;\n`, - ); - } - - fs.readdirSync(mainnetPath).forEach((testnetDir) => { - const testnetPath = path.join(mainnetPath, testnetDir); - const testnetMetaPath = path.join(testnetPath, 'meta.json'); - - if (fs.existsSync(testnetMetaPath)) { - const testnetMeta = fs.readFileSync(testnetMetaPath, 'utf-8'); - const testnetMetaTs: Testnet = JSON.parse(testnetMeta); - fs.writeFileSync( - path.join(testnetPath, 'meta.ts'), - `import { Testnet } from "../../../types/chain.types";\n\nconst meta: Testnet = ${JSON.stringify(testnetMetaTs, null, 2)};\n\nexport default meta;\n`, - ); - } - }); -}); From 7255060adea42b99299979f74d938367faeb9051 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 10 Apr 2024 15:31:38 -0400 Subject: [PATCH 08/51] Attempt to add CRON-scheduled action to periodically fetch & update GraphID type. --- .github/workflows/update-graph-ids.yml | 24 ++++++++++++++++++++++++ bun.lockb | Bin 4227 -> 4227 bytes package.json | 2 +- src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- 5 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/update-graph-ids.yml diff --git a/.github/workflows/update-graph-ids.yml b/.github/workflows/update-graph-ids.yml new file mode 100644 index 0000000..fee45ca --- /dev/null +++ b/.github/workflows/update-graph-ids.yml @@ -0,0 +1,24 @@ +name: Update Graph IDs + +on: + schedule: + - cron: '0/5 * * * *' + +jobs: + sync-graph-ids: + runs-on: ubuntu-latest + steps: + - name: Every Day + run: npm run generate:type_graphid + - uses: stefanzweifel/git-auto-commit-action@v2.3.0 + with: + commit_message: Apply automatic changes + branch: ${{ github.head_ref }} + + # Optional git params + commit_options: '--no-verify --signoff' + + # Optional glob pattern of files which should be added to the commit + file_pattern: src/\*.js + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/bun.lockb b/bun.lockb index 95f90c5963a04915affe8e801888ebe1b088c334..de523b5f79712a46a9b9176fcb1fa8df7841a2c9 100644 GIT binary patch delta 16 XcmZoxY*yT`mYdl`&t&rk?#nCyFJc9c delta 16 XcmZoxY*yT`mYdl?&tUTg?#nCyFDeCx diff --git a/package.json b/package.json index 1065286..d494ac5 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,6 @@ "url": "https://github.com/pinax-network/chains/issues" }, "peerDependencies": { - "typescript": "^5.0.0" + "typescript": "^5.4.4" } } diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index c40c886..fa8631b 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 3:11:29 PM. +// Last generation on 4/10/2024, 3:31:42 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 4733974..fdc7964 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 3:11:30 PM. +// Last generation on 4/10/2024, 3:31:43 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From e1f4501a57430008ffcaaa541f2b6fe10939665c Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 10 Apr 2024 15:34:10 -0400 Subject: [PATCH 09/51] Updated README --- README.md | 6 ++++-- src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 67491c3..9127a9e 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,13 @@ With the 2.0 release, we've done massive changes to improve QoL for developers a - ✅ Easier sort of chains while keeping mainnets, testnets and consensus layer together ( Closes #5 ) - ✅ Easier to manage chain indexes (priority order) - ✅ No more desync of chain icons metadata and source -- ✅ Easier to understand relationship between networks as a newcomer +- ✅ No more need to copy-paste the chains utils between multiple projects, it's packaged here +- ✅ No more need to copy-paste the service configs between multiple projects, it's packaged here +- ✅ Easier to understand relationship between networks (mainnets, testnets, consensus layers, ...) as a newcomer - ✅ No more need to maintain a bunch of flags that can be extrapolated from data - ✅ No more duplicated information in mainnets and subnets - ✅ Enabling chain icons to work on local environments (no longer loading from prod) -- ✅ No more need to copy-paste the chains utils between multiple projects, it's packaged here +- ✅ Github Action automations making sure certain parts of the data is always up-to-date ## Installation diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index fa8631b..079f82f 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 3:31:42 PM. +// Last generation on 4/10/2024, 3:34:13 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index fdc7964..13e8c3c 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 3:31:43 PM. +// Last generation on 4/10/2024, 3:34:14 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From 171f4dafa252825e7cf7d6121068d27aa3889fd7 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 10 Apr 2024 15:45:30 -0400 Subject: [PATCH 10/51] Updated docs. --- docs/retrieve_graph_ids.md | 2 +- src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/retrieve_graph_ids.md b/docs/retrieve_graph_ids.md index c7a272d..7d12c08 100644 --- a/docs/retrieve_graph_ids.md +++ b/docs/retrieve_graph_ids.md @@ -1,6 +1,6 @@ # Retrieve The Graph Chain IDs -This process is useful to add a supported chain to the app, as we need to make sure that the chain is available on The Graph to provide a valid TOML quickstart config. +This process is useful to add a supported chain to the app, as we need to make sure that the chain is available on The Graph to provide a valid TOML quickstart config. GraphID type is automatically updated daily by a GitHub Action, so in most cases you don't need to worry about it. In the case that the chain is not available on The Graph, we set its `graph_id` to null, so that the TOML config shows `This chain is not supported by The Graph Network`. diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index 079f82f..0a3fcac 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 3:34:13 PM. +// Last generation on 4/10/2024, 3:45:34 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 13e8c3c..719be16 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 3:34:14 PM. +// Last generation on 4/10/2024, 3:45:35 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From 96d15711cf16d8e709b46c706f6e9993b8ef8ec9 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 10 Apr 2024 16:40:56 -0400 Subject: [PATCH 11/51] Add proposal --- docs/proposals/ops-product-sync.md | 88 ++++++++++++++++++++++++++++++ src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- 3 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 docs/proposals/ops-product-sync.md diff --git a/docs/proposals/ops-product-sync.md b/docs/proposals/ops-product-sync.md new file mode 100644 index 0000000..8669b00 --- /dev/null +++ b/docs/proposals/ops-product-sync.md @@ -0,0 +1,88 @@ +# OPS-Product Sync + +## Summary + +This document is a proposal for syncing the OPS and Product teams. The goal is to ensure that the metadata of chains supported by Pinax products is up-to-date and accurate. This process is crucial in ensuring that the product team has the necessary information to maintain the products. + +## Background + +The OPS team maintains a private list (in a YAML file in the OPS Github organization) of chains supported or to-be-supported by Pinax. This list needs to be maintained as it triggers a series of automations on the ops side. + +The OPS team also maintains a Notion page on The Graph's side, which contains the list of chains supported by Pinax products. + +The Product team maintains this repository, which acts as the single-source-of-truth for Pinax products. It contains extra metadata that is not present in the OPS list, such as chain icons, __chain services__, and other product-specific information. + +Those two lists are already necessary for their respective teams. + +### Data duplication + +To further avoid maintaining the same data in two different places, here's the data that each team currently maintains. It would be beneficial to understand which team is responsible for which piece of data. + +#### OPS Team + +##### Chain Metadata + +```json +{ + "status": "TBD" +} +``` + +##### The Graph Notion Page + +TBD + +#### Product Team + +```json +{ + "id": "eth", + "graph_id": "mainnet", + "name": "Ethereum", + "alt_names": [], + "index": 0, + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/ethereum", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "testnets": [ + // Array of simplified chain objects + ], + "consensus_layers": [ + // Array of simplified chain objects + ] + } +``` + +## Proposal + +The proposal is for the OPS team to expose the metadata of chains supported by Pinax products as a public endpoint. + +The OPS team will maintain the private list as they do now and a GitHub Action, which will automatically update the public endpoint's data. + +The Product team can then leverage the public endpoint and Github Actions on their side too. + +Depending on the data the OPs team can provide and if The Graph accepts it, the Product team could work on an automated alternative to the current manual process of updating the Notion page. \ No newline at end of file diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index 0a3fcac..4c94e31 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 3:45:34 PM. +// Last generation on 4/10/2024, 4:41:00 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 719be16..0798e27 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 3:45:35 PM. +// Last generation on 4/10/2024, 4:41:00 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From 49319b4feb60697d0d5fe414a251939dd6ea79ba Mon Sep 17 00:00:00 2001 From: Dominic Fournier <36671850+DominicF96@users.noreply.github.com> Date: Wed, 10 Apr 2024 16:44:08 -0400 Subject: [PATCH 12/51] Update ops-product-sync.md --- docs/proposals/ops-product-sync.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/proposals/ops-product-sync.md b/docs/proposals/ops-product-sync.md index 8669b00..075f729 100644 --- a/docs/proposals/ops-product-sync.md +++ b/docs/proposals/ops-product-sync.md @@ -8,12 +8,12 @@ This document is a proposal for syncing the OPS and Product teams. The goal is t The OPS team maintains a private list (in a YAML file in the OPS Github organization) of chains supported or to-be-supported by Pinax. This list needs to be maintained as it triggers a series of automations on the ops side. -The OPS team also maintains a Notion page on The Graph's side, which contains the list of chains supported by Pinax products. - The Product team maintains this repository, which acts as the single-source-of-truth for Pinax products. It contains extra metadata that is not present in the OPS list, such as chain icons, __chain services__, and other product-specific information. Those two lists are already necessary for their respective teams. +The OPS team also maintains a Notion page on The Graph's side, which contains the list of chains supported by Pinax products. + ### Data duplication To further avoid maintaining the same data in two different places, here's the data that each team currently maintains. It would be beneficial to understand which team is responsible for which piece of data. @@ -85,4 +85,4 @@ The OPS team will maintain the private list as they do now and a GitHub Action, The Product team can then leverage the public endpoint and Github Actions on their side too. -Depending on the data the OPs team can provide and if The Graph accepts it, the Product team could work on an automated alternative to the current manual process of updating the Notion page. \ No newline at end of file +Depending on the data the OPs team can provide and if The Graph accepts it, the Product team could work on an automated alternative to the current manual process of updating the Notion page. From 3b35f1776f09bc7c1f4f04e7007d8c09ff635bda Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 10 Apr 2024 17:50:15 -0400 Subject: [PATCH 13/51] Updated action, replace npm run with bun run --- .github/workflows/update-graph-ids.yml | 14 ++++++++------ package.json | 6 +++--- src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.github/workflows/update-graph-ids.yml b/.github/workflows/update-graph-ids.yml index fee45ca..f559e86 100644 --- a/.github/workflows/update-graph-ids.yml +++ b/.github/workflows/update-graph-ids.yml @@ -2,23 +2,25 @@ name: Update Graph IDs on: schedule: - - cron: '0/5 * * * *' + - cron: '*/5 * * * *' jobs: sync-graph-ids: runs-on: ubuntu-latest steps: + - uses: actions/checkout@master + - uses: oven-sh/setup-bun@v1 + - run: bun install + - name: Every Day - run: npm run generate:type_graphid + run: bun run generate:type_graphid + - uses: stefanzweifel/git-auto-commit-action@v2.3.0 with: commit_message: Apply automatic changes branch: ${{ github.head_ref }} - # Optional git params - commit_options: '--no-verify --signoff' - # Optional glob pattern of files which should be added to the commit - file_pattern: src/\*.js + file_pattern: src/types/graph.types.ts env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/package.json b/package.json index d494ac5..70b5756 100644 --- a/package.json +++ b/package.json @@ -18,11 +18,11 @@ "scripts": { "fetch-graph-ids": "bun ./scripts/fetchGraphIDs.ts", "format": "prettier --log-level warn --write \"./**/*.{js,jsx,ts,tsx}\"", - "generate": "npm run generate:data && npm run generate:types", - "generate:data": "npm run generate:data_index && npm run generate:data_json", + "generate": "bun run generate:data && bun run generate:types", + "generate:data": "bun run generate:data_index && bun run generate:data_json", "generate:data_index": "bun ./scripts/generate/data_index.ts", "generate:data_json": "bun ./scripts/generate/data_json.ts", - "generate:types": "npm run generate:type_graphid && npm run generate:type_pinaxid && npm run format", + "generate:types": "bun run generate:type_graphid && bun run generate:type_pinaxid && bun run format", "generate:type_graphid": "bun ./scripts/generate/type_graphid.ts", "generate:type_pinaxid": "bun ./scripts/generate/type_pinaxid.ts", "test": "echo \"Error: no test specified\" && exit 1", diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index 4c94e31..f8122f4 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 4:41:00 PM. +// Last generation on 4/10/2024, 5:50:16 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 0798e27..f621ed4 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 4:41:00 PM. +// Last generation on 4/10/2024, 5:50:16 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From 937757c438cb71cf4ecb518b0a0b723eaf890b0f Mon Sep 17 00:00:00 2001 From: Dominic Fournier <36671850+DominicF96@users.noreply.github.com> Date: Thu, 11 Apr 2024 13:57:11 -0400 Subject: [PATCH 14/51] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9127a9e..cbca63b 100644 --- a/README.md +++ b/README.md @@ -10,12 +10,12 @@ You can have a look at the [Chain Type](/src/types/chain.types.ts) and at our [l With the 2.0 release, we've done massive changes to improve QoL for developers and maintainers. The most important changes are; -- ✅ Easier sort of chains while keeping mainnets, testnets and consensus layer together ( Closes #5 ) +- ✅ Easier sort of chains while keeping mainnets, testnets and consensus layer together +- ✅ Easier to understand relationship between networks (mainnets, testnets, consensus layers, ...) as a newcomer - ✅ Easier to manage chain indexes (priority order) - ✅ No more desync of chain icons metadata and source - ✅ No more need to copy-paste the chains utils between multiple projects, it's packaged here - ✅ No more need to copy-paste the service configs between multiple projects, it's packaged here -- ✅ Easier to understand relationship between networks (mainnets, testnets, consensus layers, ...) as a newcomer - ✅ No more need to maintain a bunch of flags that can be extrapolated from data - ✅ No more duplicated information in mainnets and subnets - ✅ Enabling chain icons to work on local environments (no longer loading from prod) From 780e38a88baf02fecaf24e168fef24bf666a6cbb Mon Sep 17 00:00:00 2001 From: Dominic Fournier <36671850+DominicF96@users.noreply.github.com> Date: Thu, 11 Apr 2024 13:57:35 -0400 Subject: [PATCH 15/51] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cbca63b..ec15bf6 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ You can have a look at the [Chain Type](/src/types/chain.types.ts) and at our [l With the 2.0 release, we've done massive changes to improve QoL for developers and maintainers. The most important changes are; +- ✅ Enabling chain icons to work on local environments (no longer loading from prod) +- ✅ Github Action automations making sure certain parts of the data is always up-to-date - ✅ Easier sort of chains while keeping mainnets, testnets and consensus layer together - ✅ Easier to understand relationship between networks (mainnets, testnets, consensus layers, ...) as a newcomer - ✅ Easier to manage chain indexes (priority order) @@ -18,8 +20,6 @@ With the 2.0 release, we've done massive changes to improve QoL for developers a - ✅ No more need to copy-paste the service configs between multiple projects, it's packaged here - ✅ No more need to maintain a bunch of flags that can be extrapolated from data - ✅ No more duplicated information in mainnets and subnets -- ✅ Enabling chain icons to work on local environments (no longer loading from prod) -- ✅ Github Action automations making sure certain parts of the data is always up-to-date ## Installation From bd77a283f9165ccaf09bc06db2bb58354ad3f846 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Fri, 12 Apr 2024 11:45:50 -0400 Subject: [PATCH 16/51] Added test file for documentation, added feedback on proposal --- docs/proposals/ops-product-sync.md | 20 +++++++++++++++++++- src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- test/no_substreams_wo_firehose.test.ts | 0 4 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 test/no_substreams_wo_firehose.test.ts diff --git a/docs/proposals/ops-product-sync.md b/docs/proposals/ops-product-sync.md index 075f729..95cae54 100644 --- a/docs/proposals/ops-product-sync.md +++ b/docs/proposals/ops-product-sync.md @@ -4,6 +4,24 @@ This document is a proposal for syncing the OPS and Product teams. The goal is to ensure that the metadata of chains supported by Pinax products is up-to-date and accurate. This process is crucial in ensuring that the product team has the necessary information to maintain the products. +> WIP: This document is a work in progress and is subject to change. +> +> exact schedule for blockchain to be deployed exists +There are different sources +Jonathan prioritizes chains on 'easy' wins +YAML/JSON doesn't mean its ready +> +> -->> Once a blockchain is ready, DNS record (another yaml file in repo) <<-- +Doesn't mean blockchain is backuped, stable, etc. Maybe OK for use by The Graph. +> +> Automation might not be as straightforward +> +> Requirements for The Graph are different than requirements from public use. +> +> Fully operationnal chains tracked in Google Sheets +> +> Sajjad handles backups + ## Background The OPS team maintains a private list (in a YAML file in the OPS Github organization) of chains supported or to-be-supported by Pinax. This list needs to be maintained as it triggers a series of automations on the ops side. @@ -85,4 +103,4 @@ The OPS team will maintain the private list as they do now and a GitHub Action, The Product team can then leverage the public endpoint and Github Actions on their side too. -Depending on the data the OPs team can provide and if The Graph accepts it, the Product team could work on an automated alternative to the current manual process of updating the Notion page. +Depending on the data the OPs team can provide and if The Graph accepts it, the Product team could work on an automated alternative to the current manual process of updating the Notion page. \ No newline at end of file diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index f8122f4..76e15f8 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 5:50:16 PM. +// Last generation on 4/12/2024, 11:45:52 AM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index f621ed4..61c0811 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 4/10/2024, 5:50:16 PM. +// Last generation on 4/12/2024, 11:45:52 AM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' diff --git a/test/no_substreams_wo_firehose.test.ts b/test/no_substreams_wo_firehose.test.ts new file mode 100644 index 0000000..e69de29 From 431d5bdd17e2bfa83db46c8aa130000765d80e04 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Fri, 12 Apr 2024 11:46:41 -0400 Subject: [PATCH 17/51] husky use bun --- .husky/pre-commit | 2 +- src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index 4e2c3c7..a36ebea 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,2 +1,2 @@ -npm run generate +bun run generate git add . \ No newline at end of file diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index 76e15f8..fcb0671 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 4/12/2024, 11:45:52 AM. +// Last generation on 4/12/2024, 11:46:42 AM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 61c0811..8f4cb4c 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 4/12/2024, 11:45:52 AM. +// Last generation on 4/12/2024, 11:46:42 AM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From c7c965055580d10d1c50e0d0c490b091af3717e6 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Tue, 7 May 2024 16:33:42 -0400 Subject: [PATCH 18/51] Fixed script, added legacy data in dist --- .husky/pre-commit | 1 + dist/data_legacy.json | 1530 +++++++++++++++++ package.json | 13 +- scripts/generate/V1/data_json.js | 31 + scripts/generate/V1/type_graphid.js | 38 + scripts/generate/V1/type_pinaxid.js | 37 + scripts/generate/{ => V2}/data_index.ts | 4 +- scripts/generate/{ => V2}/data_json.ts | 8 +- scripts/generate/{ => V2}/type_graphid.ts | 2 +- scripts/generate/{ => V2}/type_pinaxid.ts | 4 +- src/data/chains/V1/alfajores.json | 31 + src/data/chains/V1/amoy.json | 30 + src/data/chains/V1/arbgoerli.json | 30 + src/data/chains/V1/arbone.json | 30 + src/data/chains/V1/arbsepolia.json | 30 + src/data/chains/V1/arweave.json | 31 + src/data/chains/V1/avalanche.json | 31 + src/data/chains/V1/base.json | 31 + src/data/chains/V1/bitcoin.json | 30 + src/data/chains/V1/bsc.json | 30 + src/data/chains/V1/celo.json | 31 + src/data/chains/V1/chapel.json | 30 + src/data/chains/V1/chiado-cl.json | 30 + src/data/chains/V1/chiado.json | 30 + src/data/chains/V1/cosmoshub.json | 30 + src/data/chains/V1/decimal.json | 30 + src/data/chains/V1/eos.json | 31 + src/data/chains/V1/eth-cl.json | 31 + src/data/chains/V1/eth.json | 31 + src/data/chains/V1/fantom.json | 31 + src/data/chains/V1/gnosis-cl.json | 31 + src/data/chains/V1/gnosis.json | 31 + src/data/chains/V1/goerli-cl.json | 31 + src/data/chains/V1/goerli.json | 31 + src/data/chains/V1/holesky-cl.json | 31 + src/data/chains/V1/holesky.json | 31 + src/data/chains/V1/jungle4.json | 30 + src/data/chains/V1/juno.json | 31 + src/data/chains/V1/kava.json | 30 + src/data/chains/V1/kylin.json | 30 + src/data/chains/V1/moonbeam.json | 30 + src/data/chains/V1/mumbai.json | 30 + src/data/chains/V1/near.json | 31 + src/data/chains/V1/neartest.json | 31 + src/data/chains/V1/optimism.json | 30 + src/data/chains/V1/ore.json | 30 + src/data/chains/V1/orestage.json | 30 + src/data/chains/V1/osmosis.json | 30 + src/data/chains/V1/polygon.json | 30 + src/data/chains/V1/scroll.json | 31 + src/data/chains/V1/sepolia-cl.json | 31 + src/data/chains/V1/sepolia.json | 31 + src/data/chains/V1/starknet.json | 30 + src/data/chains/V1/telos.json | 30 + src/data/chains/V1/telostest.json | 30 + src/data/chains/V1/theta.json | 30 + src/data/chains/V1/ux.json | 30 + src/data/chains/V1/wax.json | 30 + src/data/chains/V1/waxtest.json | 30 + src/data/chains/V1/zkatana.json | 30 + .../chains/{ => V2}/arbone/arbgoerli/meta.ts | 0 .../chains/{ => V2}/arbone/arbsepolia/meta.ts | 0 .../chains/{ => V2}/arbone/chiado-cl/meta.ts | 0 .../chains/{ => V2}/arbone/chiado/meta.ts | 0 src/data/chains/{ => V2}/arbone/meta.ts | 0 src/data/chains/{ => V2}/arweave/meta.ts | 0 src/data/chains/{ => V2}/avalanche/meta.ts | 0 src/data/chains/{ => V2}/base/meta.ts | 0 src/data/chains/{ => V2}/bitcoin/meta.ts | 0 src/data/chains/{ => V2}/bsc/chapel/meta.ts | 0 src/data/chains/{ => V2}/bsc/meta.ts | 0 .../chains/{ => V2}/celo/alfajores/meta.ts | 0 src/data/chains/{ => V2}/celo/meta.ts | 0 .../chains/{ => V2}/cosmoshub/juno/meta.ts | 0 src/data/chains/{ => V2}/cosmoshub/meta.ts | 0 .../chains/{ => V2}/cosmoshub/theta/meta.ts | 0 src/data/chains/{ => V2}/decimal/meta.ts | 0 src/data/chains/{ => V2}/eos/jungle4/meta.ts | 0 src/data/chains/{ => V2}/eos/kylin/meta.ts | 0 src/data/chains/{ => V2}/eos/meta.ts | 0 src/data/chains/{ => V2}/eth/eth-cl/meta.ts | 0 .../chains/{ => V2}/eth/goerli-cl/meta.ts | 0 src/data/chains/{ => V2}/eth/goerli/meta.ts | 0 .../chains/{ => V2}/eth/holesky-cl/meta.ts | 0 src/data/chains/{ => V2}/eth/holesky/meta.ts | 0 src/data/chains/{ => V2}/eth/meta.ts | 0 .../chains/{ => V2}/eth/sepolia-cl/meta.ts | 0 src/data/chains/{ => V2}/eth/sepolia/meta.ts | 0 src/data/chains/{ => V2}/fantom/meta.ts | 0 .../chains/{ => V2}/gnosis/gnosis-cl/meta.ts | 0 src/data/chains/{ => V2}/gnosis/meta.ts | 0 src/data/chains/V2/index.ts | 45 + src/data/chains/{ => V2}/kava/meta.ts | 0 src/data/chains/{ => V2}/moonbeam/meta.ts | 0 src/data/chains/{ => V2}/near/meta.ts | 0 .../chains/{ => V2}/near/neartest/meta.ts | 0 src/data/chains/{ => V2}/optimism/meta.ts | 0 src/data/chains/{ => V2}/osmosis/meta.ts | 0 src/data/chains/{ => V2}/polygon/meta.ts | 0 .../chains/{ => V2}/polygon/mumbai/meta.ts | 0 src/data/chains/{ => V2}/scroll/meta.ts | 0 src/data/chains/{ => V2}/starknet/meta.ts | 0 src/data/chains/{ => V2}/telos/meta.ts | 0 .../chains/{ => V2}/telos/telostest/meta.ts | 0 src/data/chains/{ => V2}/wax/meta.ts | 0 src/data/chains/{ => V2}/wax/waxtest/meta.ts | 0 src/data/chains/index.ts | 68 +- src/types/graph.types.ts | 8 +- src/types/pinax.types.ts | 2 +- 109 files changed, 3250 insertions(+), 62 deletions(-) create mode 100644 dist/data_legacy.json create mode 100644 scripts/generate/V1/data_json.js create mode 100644 scripts/generate/V1/type_graphid.js create mode 100644 scripts/generate/V1/type_pinaxid.js rename scripts/generate/{ => V2}/data_index.ts (88%) rename scripts/generate/{ => V2}/data_json.ts (92%) rename scripts/generate/{ => V2}/type_graphid.ts (95%) rename scripts/generate/{ => V2}/type_pinaxid.ts (92%) create mode 100644 src/data/chains/V1/alfajores.json create mode 100644 src/data/chains/V1/amoy.json create mode 100644 src/data/chains/V1/arbgoerli.json create mode 100644 src/data/chains/V1/arbone.json create mode 100644 src/data/chains/V1/arbsepolia.json create mode 100644 src/data/chains/V1/arweave.json create mode 100644 src/data/chains/V1/avalanche.json create mode 100644 src/data/chains/V1/base.json create mode 100644 src/data/chains/V1/bitcoin.json create mode 100644 src/data/chains/V1/bsc.json create mode 100644 src/data/chains/V1/celo.json create mode 100644 src/data/chains/V1/chapel.json create mode 100644 src/data/chains/V1/chiado-cl.json create mode 100644 src/data/chains/V1/chiado.json create mode 100644 src/data/chains/V1/cosmoshub.json create mode 100644 src/data/chains/V1/decimal.json create mode 100644 src/data/chains/V1/eos.json create mode 100644 src/data/chains/V1/eth-cl.json create mode 100644 src/data/chains/V1/eth.json create mode 100644 src/data/chains/V1/fantom.json create mode 100644 src/data/chains/V1/gnosis-cl.json create mode 100644 src/data/chains/V1/gnosis.json create mode 100644 src/data/chains/V1/goerli-cl.json create mode 100644 src/data/chains/V1/goerli.json create mode 100644 src/data/chains/V1/holesky-cl.json create mode 100644 src/data/chains/V1/holesky.json create mode 100644 src/data/chains/V1/jungle4.json create mode 100644 src/data/chains/V1/juno.json create mode 100644 src/data/chains/V1/kava.json create mode 100644 src/data/chains/V1/kylin.json create mode 100644 src/data/chains/V1/moonbeam.json create mode 100644 src/data/chains/V1/mumbai.json create mode 100644 src/data/chains/V1/near.json create mode 100644 src/data/chains/V1/neartest.json create mode 100644 src/data/chains/V1/optimism.json create mode 100644 src/data/chains/V1/ore.json create mode 100644 src/data/chains/V1/orestage.json create mode 100644 src/data/chains/V1/osmosis.json create mode 100644 src/data/chains/V1/polygon.json create mode 100644 src/data/chains/V1/scroll.json create mode 100644 src/data/chains/V1/sepolia-cl.json create mode 100644 src/data/chains/V1/sepolia.json create mode 100644 src/data/chains/V1/starknet.json create mode 100644 src/data/chains/V1/telos.json create mode 100644 src/data/chains/V1/telostest.json create mode 100644 src/data/chains/V1/theta.json create mode 100644 src/data/chains/V1/ux.json create mode 100644 src/data/chains/V1/wax.json create mode 100644 src/data/chains/V1/waxtest.json create mode 100644 src/data/chains/V1/zkatana.json rename src/data/chains/{ => V2}/arbone/arbgoerli/meta.ts (100%) rename src/data/chains/{ => V2}/arbone/arbsepolia/meta.ts (100%) rename src/data/chains/{ => V2}/arbone/chiado-cl/meta.ts (100%) rename src/data/chains/{ => V2}/arbone/chiado/meta.ts (100%) rename src/data/chains/{ => V2}/arbone/meta.ts (100%) rename src/data/chains/{ => V2}/arweave/meta.ts (100%) rename src/data/chains/{ => V2}/avalanche/meta.ts (100%) rename src/data/chains/{ => V2}/base/meta.ts (100%) rename src/data/chains/{ => V2}/bitcoin/meta.ts (100%) rename src/data/chains/{ => V2}/bsc/chapel/meta.ts (100%) rename src/data/chains/{ => V2}/bsc/meta.ts (100%) rename src/data/chains/{ => V2}/celo/alfajores/meta.ts (100%) rename src/data/chains/{ => V2}/celo/meta.ts (100%) rename src/data/chains/{ => V2}/cosmoshub/juno/meta.ts (100%) rename src/data/chains/{ => V2}/cosmoshub/meta.ts (100%) rename src/data/chains/{ => V2}/cosmoshub/theta/meta.ts (100%) rename src/data/chains/{ => V2}/decimal/meta.ts (100%) rename src/data/chains/{ => V2}/eos/jungle4/meta.ts (100%) rename src/data/chains/{ => V2}/eos/kylin/meta.ts (100%) rename src/data/chains/{ => V2}/eos/meta.ts (100%) rename src/data/chains/{ => V2}/eth/eth-cl/meta.ts (100%) rename src/data/chains/{ => V2}/eth/goerli-cl/meta.ts (100%) rename src/data/chains/{ => V2}/eth/goerli/meta.ts (100%) rename src/data/chains/{ => V2}/eth/holesky-cl/meta.ts (100%) rename src/data/chains/{ => V2}/eth/holesky/meta.ts (100%) rename src/data/chains/{ => V2}/eth/meta.ts (100%) rename src/data/chains/{ => V2}/eth/sepolia-cl/meta.ts (100%) rename src/data/chains/{ => V2}/eth/sepolia/meta.ts (100%) rename src/data/chains/{ => V2}/fantom/meta.ts (100%) rename src/data/chains/{ => V2}/gnosis/gnosis-cl/meta.ts (100%) rename src/data/chains/{ => V2}/gnosis/meta.ts (100%) create mode 100644 src/data/chains/V2/index.ts rename src/data/chains/{ => V2}/kava/meta.ts (100%) rename src/data/chains/{ => V2}/moonbeam/meta.ts (100%) rename src/data/chains/{ => V2}/near/meta.ts (100%) rename src/data/chains/{ => V2}/near/neartest/meta.ts (100%) rename src/data/chains/{ => V2}/optimism/meta.ts (100%) rename src/data/chains/{ => V2}/osmosis/meta.ts (100%) rename src/data/chains/{ => V2}/polygon/meta.ts (100%) rename src/data/chains/{ => V2}/polygon/mumbai/meta.ts (100%) rename src/data/chains/{ => V2}/scroll/meta.ts (100%) rename src/data/chains/{ => V2}/starknet/meta.ts (100%) rename src/data/chains/{ => V2}/telos/meta.ts (100%) rename src/data/chains/{ => V2}/telos/telostest/meta.ts (100%) rename src/data/chains/{ => V2}/wax/meta.ts (100%) rename src/data/chains/{ => V2}/wax/waxtest/meta.ts (100%) diff --git a/.husky/pre-commit b/.husky/pre-commit index a36ebea..21d16ae 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,2 +1,3 @@ bun run generate +npm run generate_v1 git add . \ No newline at end of file diff --git a/dist/data_legacy.json b/dist/data_legacy.json new file mode 100644 index 0000000..ed46c84 --- /dev/null +++ b/dist/data_legacy.json @@ -0,0 +1,1530 @@ +[ + { + "id": "alfajores", + "index": 4, + "graph_id": null, + "name": "Alfajores", + "alt_names": [], + "mainnet": "celo", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/celo.svg", + "img_invert": "https://pinax.network/assets/chains/celo_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "amoy", + "index": 4, + "graph_id": "amoy", + "name": "Amoy", + "alt_names": [], + "mainnet": "polygon", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/polygon.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2024-04-18T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2024-04-18T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2024-04-18T00:00:00.000Z", + "deprecated_at": null + } + } + }, + { + "id": "arbgoerli", + "index": 4, + "graph_id": "arbitrum-goerli", + "name": "Arbitrum Goerli", + "alt_names": [], + "mainnet": "arbitrum", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/arbitrum.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "arbone", + "index": 4, + "graph_id": "arbitrum-one", + "name": "Arbitrum One", + "alt_names": [], + "mainnet": "arbitrum", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/arbitrum.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "arbsepolia", + "index": 4, + "graph_id": "arbitrum-sepolia", + "name": "Arbitrum Sepolia", + "alt_names": [], + "mainnet": "arbitrum", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/arbitrum.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + } + } + }, + { + "id": "arweave", + "index": 4, + "graph_id": "arweave-mainnet", + "name": "Arweave", + "alt_names": [], + "mainnet": "arweave", + "standard": "erc20", + "block_type": { + "label": "sf.arweave.type.v1.Block", + "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" + }, + "img": "https://pinax.network/assets/chains/arweave.svg", + "img_invert": "https://pinax.network/assets/chains/arweave_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2024-03-03T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "avalanche", + "index": 3, + "graph_id": "avalanche", + "name": "Avalanche", + "alt_names": [], + "mainnet": "avalanche", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/avalanche.svg", + "img_invert": "https://pinax.network/assets/chains/avalanche_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "base", + "index": 4, + "graph_id": "base", + "name": "Base", + "alt_names": [], + "mainnet": "base", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/base.svg", + "img_invert": "https://pinax.network/assets/chains/base_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "bitcoin", + "index": 2, + "graph_id": null, + "name": "Bitcoin", + "alt_names": [ + "btc" + ], + "mainnet": "bitcoin", + "standard": "brc20", + "block_type": { + "label": "sf.bitcoin.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" + }, + "img": "https://pinax.network/assets/chains/bitcoin.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-21T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-21T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "bsc", + "index": 2, + "graph_id": "bsc", + "name": "BNB", + "alt_names": [ + "bsc", + "binance" + ], + "mainnet": "bsc", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/bsc.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } + }, + { + "id": "celo", + "index": 2, + "graph_id": "celo", + "name": "Celo", + "alt_names": [], + "mainnet": "celo", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/celo.svg", + "img_invert": "https://pinax.network/assets/chains/celo_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "chapel", + "index": 2, + "graph_id": "chapel", + "name": "Chapel", + "alt_names": [], + "mainnet": "bsc", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/bsc.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } + }, + { + "id": "chiado-cl", + "index": 10, + "graph_id": null, + "name": "Chiado Consensus Layer", + "alt_names": [], + "mainnet": "arbitrum", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/gnosis.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "chiado", + "index": 10, + "graph_id": null, + "name": "Chiado", + "alt_names": [], + "mainnet": "arbitrum", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/gnosis.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "cosmoshub", + "index": 4, + "graph_id": "cosmoshub-4", + "name": "Cosmos Hub", + "alt_names": [], + "mainnet": "cosmoshub", + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "img": "https://pinax.network/assets/chains/cosmoshub.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "decimal", + "index": 3, + "graph_id": null, + "name": "Decimal", + "alt_names": [], + "mainnet": "decimal", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/decimal.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "eos", + "index": 4, + "graph_id": null, + "name": "EOS", + "alt_names": [], + "mainnet": "eos", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/eos.svg", + "img_invert": "https://pinax.network/assets/chains/eos_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "eth-cl", + "index": 10, + "graph_id": null, + "name": "Ethereum Consensus Layer", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "eth", + "index": 1, + "graph_id": "mainnet", + "name": "Ethereum", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } + }, + { + "id": "fantom", + "index": 4, + "graph_id": "fantom", + "name": "Fantom", + "alt_names": [], + "mainnet": "fantom", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/fantom.svg", + "img_invert": "https://pinax.network/assets/chains/fantom_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "gnosis-cl", + "index": 10, + "graph_id": null, + "name": "Gnosis Consensus Layer", + "alt_names": [], + "mainnet": "gnosis", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/gnosis.svg", + "img_invert": "https://pinax.network/assets/chains/gnosis_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "gnosis", + "index": 4, + "graph_id": "gnosis", + "name": "Gnosis", + "alt_names": [], + "mainnet": "gnosis", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/gnosis.svg", + "img_invert": "https://pinax.network/assets/chains/gnosis_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "goerli-cl", + "index": 10, + "graph_id": null, + "name": "Goerli Consensus Layer", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-08T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "goerli", + "index": 1, + "graph_id": "goerli", + "name": "Goerli", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-03-21T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-03-21T00:00:00.000Z" + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-03-21T00:00:00.000Z" + } + } + }, + { + "id": "holesky-cl", + "index": 10, + "graph_id": null, + "name": "Holesky Consensus Layer", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "holesky", + "index": 1, + "graph_id": null, + "name": "Holesky", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } + }, + { + "id": "jungle4", + "index": 4, + "graph_id": null, + "name": "Jungle4", + "alt_names": [], + "mainnet": "eos", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/jungle4.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "juno", + "index": 4, + "graph_id": null, + "name": "Juno", + "alt_names": [], + "mainnet": "juno", + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "img": "https://pinax.network/assets/chains/juno.svg", + "img_invert": "https://pinax.network/assets/chains/juno_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "kava", + "index": 4, + "graph_id": null, + "name": "Kava", + "alt_names": [], + "mainnet": "kava", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/kava.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "kylin", + "index": 4, + "graph_id": null, + "name": "Kylin", + "alt_names": [], + "mainnet": "eos", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/kylin.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "moonbeam", + "index": 5, + "graph_id": "moonbeam", + "name": "Moonbeam", + "alt_names": [], + "mainnet": "moonbeam", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/moonbeam.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "mumbai", + "index": 3, + "graph_id": "mumbai", + "name": "Mumbai", + "alt_names": [], + "mainnet": "polygon", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/polygon.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + } + } + }, + { + "id": "near", + "index": 4, + "graph_id": "near-mainnet", + "name": "Near", + "alt_names": [], + "mainnet": "near", + "standard": "near", + "block_type": { + "label": "sf.near.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" + }, + "img": "https://pinax.network/assets/chains/near.svg", + "img_invert": "https://pinax.network/assets/chains/near_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "neartest", + "index": 4, + "graph_id": "near-testnet", + "name": "Near-testnet", + "alt_names": [], + "mainnet": "near", + "standard": "near", + "block_type": { + "label": "sf.near.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" + }, + "img": "https://pinax.network/assets/chains/near.svg", + "img_invert": "https://pinax.network/assets/chains/near_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "optimism", + "index": 4, + "graph_id": "optimism", + "name": "Optimism", + "alt_names": [], + "mainnet": "optimism", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/optimism.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "ore", + "index": 5, + "graph_id": null, + "name": "Ore", + "alt_names": [], + "mainnet": "ore", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/ore.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "orestage", + "index": 5, + "graph_id": null, + "name": "Ore Stage", + "alt_names": [], + "mainnet": "ore", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/ore.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "osmosis", + "index": 4, + "graph_id": "osmosis-1", + "name": "Osmosis", + "alt_names": [], + "mainnet": "osmosis", + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "img": "https://pinax.network/assets/chains/osmosis.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "polygon", + "index": 3, + "graph_id": "matic", + "name": "Polygon", + "alt_names": [ + "matic" + ], + "mainnet": "polygon", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/polygon.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } + }, + { + "id": "scroll", + "index": 5, + "graph_id": "scroll", + "name": "Scroll", + "alt_names": [], + "mainnet": "scroll", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/scroll.svg", + "img_invert": "https://pinax.network/assets/chains/scroll_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "sepolia-cl", + "index": 10, + "graph_id": null, + "name": "Sepolia Consensus Layer", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "sepolia", + "index": 1, + "graph_id": "sepolia", + "name": "Sepolia", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } + }, + { + "id": "starknet", + "index": 4, + "graph_id": null, + "name": "Starknet", + "alt_names": [], + "mainnet": "starknet", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/starknet.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "telos", + "index": 4, + "graph_id": null, + "name": "Telos", + "alt_names": [], + "mainnet": "telos", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/telos.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "telostest", + "index": 4, + "graph_id": null, + "name": "Telos Test", + "alt_names": [], + "mainnet": "telos", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/telos.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "theta", + "index": 4, + "graph_id": "theta-testnet-001", + "name": "Theta", + "alt_names": [], + "mainnet": "cosmoshub", + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "img": "https://pinax.network/assets/chains/cosmoshub.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "ux", + "index": 5, + "graph_id": null, + "name": "UX", + "alt_names": [], + "mainnet": "ux", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/ux.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "wax", + "index": 4, + "graph_id": null, + "name": "WAX", + "alt_names": [], + "mainnet": "wax", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/wax.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "waxtest", + "index": 4, + "graph_id": null, + "name": "WAX Test", + "alt_names": [], + "mainnet": "wax", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/wax.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + }, + { + "id": "zkatana", + "index": 5, + "graph_id": null, + "name": "Zkatana", + "alt_names": [], + "mainnet": "zkatana", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/zkatana.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } + } +] \ No newline at end of file diff --git a/package.json b/package.json index 70b5756..122939f 100644 --- a/package.json +++ b/package.json @@ -20,11 +20,16 @@ "format": "prettier --log-level warn --write \"./**/*.{js,jsx,ts,tsx}\"", "generate": "bun run generate:data && bun run generate:types", "generate:data": "bun run generate:data_index && bun run generate:data_json", - "generate:data_index": "bun ./scripts/generate/data_index.ts", - "generate:data_json": "bun ./scripts/generate/data_json.ts", + "generate:data_index": "bun ./scripts/generate/V2/data_index.ts", + "generate:data_json": "bun ./scripts/generate/V2/data_json.ts", "generate:types": "bun run generate:type_graphid && bun run generate:type_pinaxid && bun run format", - "generate:type_graphid": "bun ./scripts/generate/type_graphid.ts", - "generate:type_pinaxid": "bun ./scripts/generate/type_pinaxid.ts", + "generate:type_graphid": "bun ./scripts/generate/V2/type_graphid.ts", + "generate:type_pinaxid": "bun ./scripts/generate/V2/type_pinaxid.ts", + "generate_v1": "npm run generate_v1:data", + "generate_v1:data": "node ./scripts/generate/V1/data_json.js", + "generate_v1:types": "npm run generate_v1:type_graphid && npm run generate_v1:type_pinaxid && npm run format", + "generate_v1:type_graphid": "node ./scripts/generate/V1/type_graphid.js", + "generate_v1:type_pinaxid": "node ./scripts/generate/V1/type_pinaxid.js", "test": "echo \"Error: no test specified\" && exit 1", "prepare": "husky" }, diff --git a/scripts/generate/V1/data_json.js b/scripts/generate/V1/data_json.js new file mode 100644 index 0000000..9a83827 --- /dev/null +++ b/scripts/generate/V1/data_json.js @@ -0,0 +1,31 @@ +const fs = require('fs'); +const path = require('path'); + +// Define the directory containing the JSON files +const directoryPath = path.join(__dirname, '../../../src/data/chains/V1'); + +// Read the directory +fs.readdir(directoryPath, (err, files) => { + if (err) { + return console.error('Unable to scan directory: ' + err); + } + + let data = []; + + // Loop through all the files in the directory + files.forEach((file) => { + // Only process .json files + if (path.extname(file) === '.json') { + // Read the JSON file + const fileData = fs.readFileSync(path.join(directoryPath, file)); + // Parse the file data as JSON and add it to the array + data.push(JSON.parse(fileData)); + } + }); + + // Write the combined data to a new JSON file + fs.writeFileSync( + path.join('./dist/', 'data_legacy.json'), + JSON.stringify(data, null, 2), + ); +}); diff --git a/scripts/generate/V1/type_graphid.js b/scripts/generate/V1/type_graphid.js new file mode 100644 index 0000000..0d533f9 --- /dev/null +++ b/scripts/generate/V1/type_graphid.js @@ -0,0 +1,38 @@ +const fs = require('fs'); +const path = require('path'); + +const typesDir = path.join(__dirname, '../../types'); + +const graphTypesFile = path.join(typesDir, 'graph.types.ts'); + +console.log('Generating GraphId type...'); + +fetch('https://api.studio.thegraph.com/deploy', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + jsonrpc: '2.0', + method: 'chain_list', + id: 1, + }), +}) + .then((res) => res.json()) + .then((res) => { + let graphIds = res.result.studio; + let sortedGraphIds = graphIds.sort((a, b) => (a < b ? -1 : 1)); + + // Generate the GraphId type definition + const graphIdType = `// This file is auto-generated on pre-commit to avoid maintaining it.\n// Do not modify manually as it will be overwritten.\n// Last generation on ${new Date().toLocaleString()}.\nexport type GraphId = '${sortedGraphIds.join("' | '")}'`; + + // Write the GraphId type definition to the types directory + fs.writeFile(graphTypesFile, graphIdType, (err) => { + if (err) { + console.error('Error writing graph.types.ts file:', err); + return; + } + + console.log('✅ Generating GraphId type'); + }); + }); diff --git a/scripts/generate/V1/type_pinaxid.js b/scripts/generate/V1/type_pinaxid.js new file mode 100644 index 0000000..ef7acb5 --- /dev/null +++ b/scripts/generate/V1/type_pinaxid.js @@ -0,0 +1,37 @@ +const fs = require('fs'); +const path = require('path'); + +const chainsDir = path.join(__dirname, '../../data/chains'); +const typesDir = path.join(__dirname, '../../types'); + +const excludedFile = 'index.ts'; +const pinaxTypesFile = path.join(typesDir, 'pinax.types.ts'); + +console.log('Generating PinaxId type...'); + +// Scan the chains directory +fs.readdir(chainsDir, (err, files) => { + if (err) { + console.error('Error reading chains directory:', err); + return; + } + + // Filter out the excluded file + const filteredFiles = files.filter((file) => file !== excludedFile); + + // Extract the file names without the extension + const fileNames = filteredFiles.map((file) => path.parse(file).name); + + // Generate the PinaxId type definition + const pinaxIdType = `// This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies.\n// Do not modify manually as it will be overwritten.\n// Last generation on ${new Date().toLocaleString()}.\nexport type PinaxId = '${fileNames.join("' | '")}'`; + + // Write the PinaxId type definition to the types directory + fs.writeFile(pinaxTypesFile, pinaxIdType, (err) => { + if (err) { + console.error('Error writing pinax.types.ts file:', err); + return; + } + + console.log('✅ Generating PinaxId type'); + }); +}); diff --git a/scripts/generate/data_index.ts b/scripts/generate/V2/data_index.ts similarity index 88% rename from scripts/generate/data_index.ts rename to scripts/generate/V2/data_index.ts index df4aaba..6ec5fd5 100644 --- a/scripts/generate/data_index.ts +++ b/scripts/generate/V2/data_index.ts @@ -1,10 +1,10 @@ import fs from 'fs'; import path from 'path'; -import { toCamelCase } from '../../src/utils/case'; +import { toCamelCase } from '../../../src/utils/case'; console.log('🕑 Generating data index...'); -const dataDir = path.join(__dirname, '../../src', 'data/chains'); +const dataDir = path.join(__dirname, '../../../src', 'data/chains/V2'); let indexContent = ''; fs.readdirSync(dataDir).forEach((mainnetDir) => { diff --git a/scripts/generate/data_json.ts b/scripts/generate/V2/data_json.ts similarity index 92% rename from scripts/generate/data_json.ts rename to scripts/generate/V2/data_json.ts index 1df9fcb..2f906b2 100644 --- a/scripts/generate/data_json.ts +++ b/scripts/generate/V2/data_json.ts @@ -1,8 +1,8 @@ import fs from 'fs'; import path from 'path'; import bun from 'bun'; -import * as chainData from '../../src/data/chains/index'; -import { toCamelCase } from '../../src/utils/case'; +import * as chainData from '../../../src/data/chains/V2/index'; +import { toCamelCase } from '../../../src/utils/case'; interface Icon { id: string; variants: string[]; @@ -48,7 +48,7 @@ const networks: Network[] = JSON.parse( const indexConfigPath = path.join( __dirname, - '../../src/configs/index.config.json', + '../../../src/configs/index.config.json', ); const indexConf: { [key: string]: string[] } = JSON.parse( @@ -106,7 +106,7 @@ Object.keys(indexConf).forEach((mainnet, mainnetIndex) => { data.push(mainnetData); }); -const distFolderPath = path.join(__dirname, '../../dist'); +const distFolderPath = path.join(__dirname, '../../../dist'); if (!fs.existsSync(distFolderPath)) { fs.mkdirSync(distFolderPath); } diff --git a/scripts/generate/type_graphid.ts b/scripts/generate/V2/type_graphid.ts similarity index 95% rename from scripts/generate/type_graphid.ts rename to scripts/generate/V2/type_graphid.ts index c346df6..460b474 100644 --- a/scripts/generate/type_graphid.ts +++ b/scripts/generate/V2/type_graphid.ts @@ -1,7 +1,7 @@ import fs from 'fs'; import path from 'path'; -const typesDir = path.join(__dirname, '../../src/types'); +const typesDir = path.join(__dirname, '../../../src/types'); const graphTypesFile = path.join(typesDir, 'graph.types.ts'); console.log('🕑 Generating GraphID type...'); diff --git a/scripts/generate/type_pinaxid.ts b/scripts/generate/V2/type_pinaxid.ts similarity index 92% rename from scripts/generate/type_pinaxid.ts rename to scripts/generate/V2/type_pinaxid.ts index ecd7115..3a8d14e 100644 --- a/scripts/generate/type_pinaxid.ts +++ b/scripts/generate/V2/type_pinaxid.ts @@ -1,8 +1,8 @@ import fs from 'fs'; import path from 'path'; -const chainsDir = path.join(__dirname, '../../src/data'); -const typesDir = path.join(__dirname, '../../src/types'); +const chainsDir = path.join(__dirname, '../../../src/data'); +const typesDir = path.join(__dirname, '../../../src/types'); const pinaxTypesFile = path.join(typesDir, 'pinax.types.ts'); diff --git a/src/data/chains/V1/alfajores.json b/src/data/chains/V1/alfajores.json new file mode 100644 index 0000000..4d7d155 --- /dev/null +++ b/src/data/chains/V1/alfajores.json @@ -0,0 +1,31 @@ +{ + "id": "alfajores", + "index": 4, + "graph_id": null, + "name": "Alfajores", + "alt_names": [], + "mainnet": "celo", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/celo.svg", + "img_invert": "https://pinax.network/assets/chains/celo_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} diff --git a/src/data/chains/V1/amoy.json b/src/data/chains/V1/amoy.json new file mode 100644 index 0000000..6a49256 --- /dev/null +++ b/src/data/chains/V1/amoy.json @@ -0,0 +1,30 @@ +{ + "id": "amoy", + "index": 4, + "graph_id": "amoy", + "name": "Amoy", + "alt_names": [], + "mainnet": "polygon", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/polygon.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2024-04-18T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2024-04-18T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2024-04-18T00:00:00.000Z", + "deprecated_at": null + } + } +} diff --git a/src/data/chains/V1/arbgoerli.json b/src/data/chains/V1/arbgoerli.json new file mode 100644 index 0000000..1f24aa1 --- /dev/null +++ b/src/data/chains/V1/arbgoerli.json @@ -0,0 +1,30 @@ +{ + "id": "arbgoerli", + "index": 4, + "graph_id": "arbitrum-goerli", + "name": "Arbitrum Goerli", + "alt_names": [], + "mainnet": "arbitrum", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/arbitrum.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} diff --git a/src/data/chains/V1/arbone.json b/src/data/chains/V1/arbone.json new file mode 100644 index 0000000..d314931 --- /dev/null +++ b/src/data/chains/V1/arbone.json @@ -0,0 +1,30 @@ +{ + "id": "arbone", + "index": 4, + "graph_id": "arbitrum-one", + "name": "Arbitrum One", + "alt_names": [], + "mainnet": "arbitrum", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/arbitrum.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} diff --git a/src/data/chains/V1/arbsepolia.json b/src/data/chains/V1/arbsepolia.json new file mode 100644 index 0000000..b59fdf6 --- /dev/null +++ b/src/data/chains/V1/arbsepolia.json @@ -0,0 +1,30 @@ +{ + "id": "arbsepolia", + "index": 4, + "graph_id": "arbitrum-sepolia", + "name": "Arbitrum Sepolia", + "alt_names": [], + "mainnet": "arbitrum", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/arbitrum.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/arweave.json b/src/data/chains/V1/arweave.json new file mode 100644 index 0000000..0fa46ce --- /dev/null +++ b/src/data/chains/V1/arweave.json @@ -0,0 +1,31 @@ +{ + "id": "arweave", + "index": 4, + "graph_id": "arweave-mainnet", + "name": "Arweave", + "alt_names": [], + "mainnet": "arweave", + "standard": "erc20", + "block_type": { + "label": "sf.arweave.type.v1.Block", + "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" + }, + "img": "https://pinax.network/assets/chains/arweave.svg", + "img_invert": "https://pinax.network/assets/chains/arweave_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2024-03-03T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/avalanche.json b/src/data/chains/V1/avalanche.json new file mode 100644 index 0000000..fb6b4ad --- /dev/null +++ b/src/data/chains/V1/avalanche.json @@ -0,0 +1,31 @@ +{ + "id": "avalanche", + "index": 3, + "graph_id": "avalanche", + "name": "Avalanche", + "alt_names": [], + "mainnet": "avalanche", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/avalanche.svg", + "img_invert": "https://pinax.network/assets/chains/avalanche_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/base.json b/src/data/chains/V1/base.json new file mode 100644 index 0000000..9b23a2c --- /dev/null +++ b/src/data/chains/V1/base.json @@ -0,0 +1,31 @@ +{ + "id": "base", + "index": 4, + "graph_id": "base", + "name": "Base", + "alt_names": [], + "mainnet": "base", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/base.svg", + "img_invert": "https://pinax.network/assets/chains/base_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/bitcoin.json b/src/data/chains/V1/bitcoin.json new file mode 100644 index 0000000..dbb7514 --- /dev/null +++ b/src/data/chains/V1/bitcoin.json @@ -0,0 +1,30 @@ +{ + "id": "bitcoin", + "index": 2, + "graph_id": null, + "name": "Bitcoin", + "alt_names": ["btc"], + "mainnet": "bitcoin", + "standard": "brc20", + "block_type": { + "label": "sf.bitcoin.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" + }, + "img": "https://pinax.network/assets/chains/bitcoin.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-21T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-21T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/bsc.json b/src/data/chains/V1/bsc.json new file mode 100644 index 0000000..29da2d2 --- /dev/null +++ b/src/data/chains/V1/bsc.json @@ -0,0 +1,30 @@ +{ + "id": "bsc", + "index": 2, + "graph_id": "bsc", + "name": "BNB", + "alt_names": ["bsc", "binance"], + "mainnet": "bsc", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/bsc.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/celo.json b/src/data/chains/V1/celo.json new file mode 100644 index 0000000..33cba65 --- /dev/null +++ b/src/data/chains/V1/celo.json @@ -0,0 +1,31 @@ +{ + "id": "celo", + "index": 2, + "graph_id": "celo", + "name": "Celo", + "alt_names": [], + "mainnet": "celo", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/celo.svg", + "img_invert": "https://pinax.network/assets/chains/celo_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/chapel.json b/src/data/chains/V1/chapel.json new file mode 100644 index 0000000..ae9e352 --- /dev/null +++ b/src/data/chains/V1/chapel.json @@ -0,0 +1,30 @@ +{ + "id": "chapel", + "index": 2, + "graph_id": "chapel", + "name": "Chapel", + "alt_names": [], + "mainnet": "bsc", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/bsc.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/chiado-cl.json b/src/data/chains/V1/chiado-cl.json new file mode 100644 index 0000000..68ed350 --- /dev/null +++ b/src/data/chains/V1/chiado-cl.json @@ -0,0 +1,30 @@ +{ + "id": "chiado-cl", + "index": 10, + "graph_id": null, + "name": "Chiado Consensus Layer", + "alt_names": [], + "mainnet": "arbitrum", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/gnosis.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} diff --git a/src/data/chains/V1/chiado.json b/src/data/chains/V1/chiado.json new file mode 100644 index 0000000..5166256 --- /dev/null +++ b/src/data/chains/V1/chiado.json @@ -0,0 +1,30 @@ +{ + "id": "chiado", + "index": 10, + "graph_id": null, + "name": "Chiado", + "alt_names": [], + "mainnet": "arbitrum", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/gnosis.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/cosmoshub.json b/src/data/chains/V1/cosmoshub.json new file mode 100644 index 0000000..810f921 --- /dev/null +++ b/src/data/chains/V1/cosmoshub.json @@ -0,0 +1,30 @@ +{ + "id": "cosmoshub", + "index": 4, + "graph_id": "cosmoshub-4", + "name": "Cosmos Hub", + "alt_names": [], + "mainnet": "cosmoshub", + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "img": "https://pinax.network/assets/chains/cosmoshub.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/decimal.json b/src/data/chains/V1/decimal.json new file mode 100644 index 0000000..2aa25e4 --- /dev/null +++ b/src/data/chains/V1/decimal.json @@ -0,0 +1,30 @@ +{ + "id": "decimal", + "index": 3, + "graph_id": null, + "name": "Decimal", + "alt_names": [], + "mainnet": "decimal", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/decimal.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/eos.json b/src/data/chains/V1/eos.json new file mode 100644 index 0000000..3e1ac0f --- /dev/null +++ b/src/data/chains/V1/eos.json @@ -0,0 +1,31 @@ +{ + "id": "eos", + "index": 4, + "graph_id": null, + "name": "EOS", + "alt_names": [], + "mainnet": "eos", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/eos.svg", + "img_invert": "https://pinax.network/assets/chains/eos_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/eth-cl.json b/src/data/chains/V1/eth-cl.json new file mode 100644 index 0000000..8bd94e8 --- /dev/null +++ b/src/data/chains/V1/eth-cl.json @@ -0,0 +1,31 @@ +{ + "id": "eth-cl", + "index": 10, + "graph_id": null, + "name": "Ethereum Consensus Layer", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} diff --git a/src/data/chains/V1/eth.json b/src/data/chains/V1/eth.json new file mode 100644 index 0000000..8851205 --- /dev/null +++ b/src/data/chains/V1/eth.json @@ -0,0 +1,31 @@ +{ + "id": "eth", + "index": 1, + "graph_id": "mainnet", + "name": "Ethereum", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/fantom.json b/src/data/chains/V1/fantom.json new file mode 100644 index 0000000..78087c9 --- /dev/null +++ b/src/data/chains/V1/fantom.json @@ -0,0 +1,31 @@ +{ + "id": "fantom", + "index": 4, + "graph_id": "fantom", + "name": "Fantom", + "alt_names": [], + "mainnet": "fantom", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/fantom.svg", + "img_invert": "https://pinax.network/assets/chains/fantom_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/gnosis-cl.json b/src/data/chains/V1/gnosis-cl.json new file mode 100644 index 0000000..c524750 --- /dev/null +++ b/src/data/chains/V1/gnosis-cl.json @@ -0,0 +1,31 @@ +{ + "id": "gnosis-cl", + "index": 10, + "graph_id": null, + "name": "Gnosis Consensus Layer", + "alt_names": [], + "mainnet": "gnosis", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/gnosis.svg", + "img_invert": "https://pinax.network/assets/chains/gnosis_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/gnosis.json b/src/data/chains/V1/gnosis.json new file mode 100644 index 0000000..ed5c220 --- /dev/null +++ b/src/data/chains/V1/gnosis.json @@ -0,0 +1,31 @@ +{ + "id": "gnosis", + "index": 4, + "graph_id": "gnosis", + "name": "Gnosis", + "alt_names": [], + "mainnet": "gnosis", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/gnosis.svg", + "img_invert": "https://pinax.network/assets/chains/gnosis_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/goerli-cl.json b/src/data/chains/V1/goerli-cl.json new file mode 100644 index 0000000..cddd318 --- /dev/null +++ b/src/data/chains/V1/goerli-cl.json @@ -0,0 +1,31 @@ +{ + "id": "goerli-cl", + "index": 10, + "graph_id": null, + "name": "Goerli Consensus Layer", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-08T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/goerli.json b/src/data/chains/V1/goerli.json new file mode 100644 index 0000000..1234949 --- /dev/null +++ b/src/data/chains/V1/goerli.json @@ -0,0 +1,31 @@ +{ + "id": "goerli", + "index": 1, + "graph_id": "goerli", + "name": "Goerli", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-03-21T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-03-21T00:00:00.000Z" + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-03-21T00:00:00.000Z" + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/holesky-cl.json b/src/data/chains/V1/holesky-cl.json new file mode 100644 index 0000000..b247870 --- /dev/null +++ b/src/data/chains/V1/holesky-cl.json @@ -0,0 +1,31 @@ +{ + "id": "holesky-cl", + "index": 10, + "graph_id": null, + "name": "Holesky Consensus Layer", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} diff --git a/src/data/chains/V1/holesky.json b/src/data/chains/V1/holesky.json new file mode 100644 index 0000000..0535a78 --- /dev/null +++ b/src/data/chains/V1/holesky.json @@ -0,0 +1,31 @@ +{ + "id": "holesky", + "index": 1, + "graph_id": null, + "name": "Holesky", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } +} diff --git a/src/data/chains/V1/jungle4.json b/src/data/chains/V1/jungle4.json new file mode 100644 index 0000000..8665590 --- /dev/null +++ b/src/data/chains/V1/jungle4.json @@ -0,0 +1,30 @@ +{ + "id": "jungle4", + "index": 4, + "graph_id": null, + "name": "Jungle4", + "alt_names": [], + "mainnet": "eos", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/jungle4.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/juno.json b/src/data/chains/V1/juno.json new file mode 100644 index 0000000..e43258e --- /dev/null +++ b/src/data/chains/V1/juno.json @@ -0,0 +1,31 @@ +{ + "id": "juno", + "index": 4, + "graph_id": null, + "name": "Juno", + "alt_names": [], + "mainnet": "juno", + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "img": "https://pinax.network/assets/chains/juno.svg", + "img_invert": "https://pinax.network/assets/chains/juno_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/kava.json b/src/data/chains/V1/kava.json new file mode 100644 index 0000000..a97157a --- /dev/null +++ b/src/data/chains/V1/kava.json @@ -0,0 +1,30 @@ +{ + "id": "kava", + "index": 4, + "graph_id": null, + "name": "Kava", + "alt_names": [], + "mainnet": "kava", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/kava.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/kylin.json b/src/data/chains/V1/kylin.json new file mode 100644 index 0000000..011f912 --- /dev/null +++ b/src/data/chains/V1/kylin.json @@ -0,0 +1,30 @@ +{ + "id": "kylin", + "index": 4, + "graph_id": null, + "name": "Kylin", + "alt_names": [], + "mainnet": "eos", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/kylin.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/moonbeam.json b/src/data/chains/V1/moonbeam.json new file mode 100644 index 0000000..503ddf1 --- /dev/null +++ b/src/data/chains/V1/moonbeam.json @@ -0,0 +1,30 @@ +{ + "id": "moonbeam", + "index": 5, + "graph_id": "moonbeam", + "name": "Moonbeam", + "alt_names": [], + "mainnet": "moonbeam", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/moonbeam.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/mumbai.json b/src/data/chains/V1/mumbai.json new file mode 100644 index 0000000..4cc6621 --- /dev/null +++ b/src/data/chains/V1/mumbai.json @@ -0,0 +1,30 @@ +{ + "id": "mumbai", + "index": 3, + "graph_id": "mumbai", + "name": "Mumbai", + "alt_names": [], + "mainnet": "polygon", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/polygon.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/near.json b/src/data/chains/V1/near.json new file mode 100644 index 0000000..5d32731 --- /dev/null +++ b/src/data/chains/V1/near.json @@ -0,0 +1,31 @@ +{ + "id": "near", + "index": 4, + "graph_id": "near-mainnet", + "name": "Near", + "alt_names": [], + "mainnet": "near", + "standard": "near", + "block_type": { + "label": "sf.near.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" + }, + "img": "https://pinax.network/assets/chains/near.svg", + "img_invert": "https://pinax.network/assets/chains/near_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} diff --git a/src/data/chains/V1/neartest.json b/src/data/chains/V1/neartest.json new file mode 100644 index 0000000..e58146d --- /dev/null +++ b/src/data/chains/V1/neartest.json @@ -0,0 +1,31 @@ +{ + "id": "neartest", + "index": 4, + "graph_id": "near-testnet", + "name": "Near-testnet", + "alt_names": [], + "mainnet": "near", + "standard": "near", + "block_type": { + "label": "sf.near.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" + }, + "img": "https://pinax.network/assets/chains/near.svg", + "img_invert": "https://pinax.network/assets/chains/near_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/optimism.json b/src/data/chains/V1/optimism.json new file mode 100644 index 0000000..f04de2a --- /dev/null +++ b/src/data/chains/V1/optimism.json @@ -0,0 +1,30 @@ +{ + "id": "optimism", + "index": 4, + "graph_id": "optimism", + "name": "Optimism", + "alt_names": [], + "mainnet": "optimism", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/optimism.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/ore.json b/src/data/chains/V1/ore.json new file mode 100644 index 0000000..434d98a --- /dev/null +++ b/src/data/chains/V1/ore.json @@ -0,0 +1,30 @@ +{ + "id": "ore", + "index": 5, + "graph_id": null, + "name": "Ore", + "alt_names": [], + "mainnet": "ore", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/ore.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/orestage.json b/src/data/chains/V1/orestage.json new file mode 100644 index 0000000..ab0cca6 --- /dev/null +++ b/src/data/chains/V1/orestage.json @@ -0,0 +1,30 @@ +{ + "id": "orestage", + "index": 5, + "graph_id": null, + "name": "Ore Stage", + "alt_names": [], + "mainnet": "ore", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/ore.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} diff --git a/src/data/chains/V1/osmosis.json b/src/data/chains/V1/osmosis.json new file mode 100644 index 0000000..a46a773 --- /dev/null +++ b/src/data/chains/V1/osmosis.json @@ -0,0 +1,30 @@ +{ + "id": "osmosis", + "index": 4, + "graph_id": "osmosis-1", + "name": "Osmosis", + "alt_names": [], + "mainnet": "osmosis", + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "img": "https://pinax.network/assets/chains/osmosis.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/polygon.json b/src/data/chains/V1/polygon.json new file mode 100644 index 0000000..9bdef19 --- /dev/null +++ b/src/data/chains/V1/polygon.json @@ -0,0 +1,30 @@ +{ + "id": "polygon", + "index": 3, + "graph_id": "matic", + "name": "Polygon", + "alt_names": ["matic"], + "mainnet": "polygon", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/polygon.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/scroll.json b/src/data/chains/V1/scroll.json new file mode 100644 index 0000000..6cb1bf9 --- /dev/null +++ b/src/data/chains/V1/scroll.json @@ -0,0 +1,31 @@ +{ + "id": "scroll", + "index": 5, + "graph_id": "scroll", + "name": "Scroll", + "alt_names": [], + "mainnet": "scroll", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/scroll.svg", + "img_invert": "https://pinax.network/assets/chains/scroll_dark.svg", + "is_img_dt_invert": true, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/sepolia-cl.json b/src/data/chains/V1/sepolia-cl.json new file mode 100644 index 0000000..4a1d8fa --- /dev/null +++ b/src/data/chains/V1/sepolia-cl.json @@ -0,0 +1,31 @@ +{ + "id": "sepolia-cl", + "index": 10, + "graph_id": null, + "name": "Sepolia Consensus Layer", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/sepolia.json b/src/data/chains/V1/sepolia.json new file mode 100644 index 0000000..f8375e2 --- /dev/null +++ b/src/data/chains/V1/sepolia.json @@ -0,0 +1,31 @@ +{ + "id": "sepolia", + "index": 1, + "graph_id": "sepolia", + "name": "Sepolia", + "alt_names": [], + "mainnet": "eth", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/eth.svg", + "img_invert": "https://pinax.network/assets/chains/eth_dark.svg", + "is_img_dt_invert": true, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/starknet.json b/src/data/chains/V1/starknet.json new file mode 100644 index 0000000..2975585 --- /dev/null +++ b/src/data/chains/V1/starknet.json @@ -0,0 +1,30 @@ +{ + "id": "starknet", + "index": 4, + "graph_id": null, + "name": "Starknet", + "alt_names": [], + "mainnet": "starknet", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/starknet.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/telos.json b/src/data/chains/V1/telos.json new file mode 100644 index 0000000..100ad33 --- /dev/null +++ b/src/data/chains/V1/telos.json @@ -0,0 +1,30 @@ +{ + "id": "telos", + "index": 4, + "graph_id": null, + "name": "Telos", + "alt_names": [], + "mainnet": "telos", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/telos.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/telostest.json b/src/data/chains/V1/telostest.json new file mode 100644 index 0000000..f928e92 --- /dev/null +++ b/src/data/chains/V1/telostest.json @@ -0,0 +1,30 @@ +{ + "id": "telostest", + "index": 4, + "graph_id": null, + "name": "Telos Test", + "alt_names": [], + "mainnet": "telos", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/telos.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/theta.json b/src/data/chains/V1/theta.json new file mode 100644 index 0000000..0b3cbb4 --- /dev/null +++ b/src/data/chains/V1/theta.json @@ -0,0 +1,30 @@ +{ + "id": "theta", + "index": 4, + "graph_id": "theta-testnet-001", + "name": "Theta", + "alt_names": [], + "mainnet": "cosmoshub", + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "img": "https://pinax.network/assets/chains/cosmoshub.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/ux.json b/src/data/chains/V1/ux.json new file mode 100644 index 0000000..8a320c8 --- /dev/null +++ b/src/data/chains/V1/ux.json @@ -0,0 +1,30 @@ +{ + "id": "ux", + "index": 5, + "graph_id": null, + "name": "UX", + "alt_names": [], + "mainnet": "ux", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/ux.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} diff --git a/src/data/chains/V1/wax.json b/src/data/chains/V1/wax.json new file mode 100644 index 0000000..93660ec --- /dev/null +++ b/src/data/chains/V1/wax.json @@ -0,0 +1,30 @@ +{ + "id": "wax", + "index": 4, + "graph_id": null, + "name": "WAX", + "alt_names": [], + "mainnet": "wax", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/wax.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/waxtest.json b/src/data/chains/V1/waxtest.json new file mode 100644 index 0000000..b69441b --- /dev/null +++ b/src/data/chains/V1/waxtest.json @@ -0,0 +1,30 @@ +{ + "id": "waxtest", + "index": 4, + "graph_id": null, + "name": "WAX Test", + "alt_names": [], + "mainnet": "wax", + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "img": "https://pinax.network/assets/chains/wax.svg", + "is_img_dt_invert": false, + "is_testnet": true, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/V1/zkatana.json b/src/data/chains/V1/zkatana.json new file mode 100644 index 0000000..8e416bf --- /dev/null +++ b/src/data/chains/V1/zkatana.json @@ -0,0 +1,30 @@ +{ + "id": "zkatana", + "index": 5, + "graph_id": null, + "name": "Zkatana", + "alt_names": [], + "mainnet": "zkatana", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/zkatana.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + } +} \ No newline at end of file diff --git a/src/data/chains/arbone/arbgoerli/meta.ts b/src/data/chains/V2/arbone/arbgoerli/meta.ts similarity index 100% rename from src/data/chains/arbone/arbgoerli/meta.ts rename to src/data/chains/V2/arbone/arbgoerli/meta.ts diff --git a/src/data/chains/arbone/arbsepolia/meta.ts b/src/data/chains/V2/arbone/arbsepolia/meta.ts similarity index 100% rename from src/data/chains/arbone/arbsepolia/meta.ts rename to src/data/chains/V2/arbone/arbsepolia/meta.ts diff --git a/src/data/chains/arbone/chiado-cl/meta.ts b/src/data/chains/V2/arbone/chiado-cl/meta.ts similarity index 100% rename from src/data/chains/arbone/chiado-cl/meta.ts rename to src/data/chains/V2/arbone/chiado-cl/meta.ts diff --git a/src/data/chains/arbone/chiado/meta.ts b/src/data/chains/V2/arbone/chiado/meta.ts similarity index 100% rename from src/data/chains/arbone/chiado/meta.ts rename to src/data/chains/V2/arbone/chiado/meta.ts diff --git a/src/data/chains/arbone/meta.ts b/src/data/chains/V2/arbone/meta.ts similarity index 100% rename from src/data/chains/arbone/meta.ts rename to src/data/chains/V2/arbone/meta.ts diff --git a/src/data/chains/arweave/meta.ts b/src/data/chains/V2/arweave/meta.ts similarity index 100% rename from src/data/chains/arweave/meta.ts rename to src/data/chains/V2/arweave/meta.ts diff --git a/src/data/chains/avalanche/meta.ts b/src/data/chains/V2/avalanche/meta.ts similarity index 100% rename from src/data/chains/avalanche/meta.ts rename to src/data/chains/V2/avalanche/meta.ts diff --git a/src/data/chains/base/meta.ts b/src/data/chains/V2/base/meta.ts similarity index 100% rename from src/data/chains/base/meta.ts rename to src/data/chains/V2/base/meta.ts diff --git a/src/data/chains/bitcoin/meta.ts b/src/data/chains/V2/bitcoin/meta.ts similarity index 100% rename from src/data/chains/bitcoin/meta.ts rename to src/data/chains/V2/bitcoin/meta.ts diff --git a/src/data/chains/bsc/chapel/meta.ts b/src/data/chains/V2/bsc/chapel/meta.ts similarity index 100% rename from src/data/chains/bsc/chapel/meta.ts rename to src/data/chains/V2/bsc/chapel/meta.ts diff --git a/src/data/chains/bsc/meta.ts b/src/data/chains/V2/bsc/meta.ts similarity index 100% rename from src/data/chains/bsc/meta.ts rename to src/data/chains/V2/bsc/meta.ts diff --git a/src/data/chains/celo/alfajores/meta.ts b/src/data/chains/V2/celo/alfajores/meta.ts similarity index 100% rename from src/data/chains/celo/alfajores/meta.ts rename to src/data/chains/V2/celo/alfajores/meta.ts diff --git a/src/data/chains/celo/meta.ts b/src/data/chains/V2/celo/meta.ts similarity index 100% rename from src/data/chains/celo/meta.ts rename to src/data/chains/V2/celo/meta.ts diff --git a/src/data/chains/cosmoshub/juno/meta.ts b/src/data/chains/V2/cosmoshub/juno/meta.ts similarity index 100% rename from src/data/chains/cosmoshub/juno/meta.ts rename to src/data/chains/V2/cosmoshub/juno/meta.ts diff --git a/src/data/chains/cosmoshub/meta.ts b/src/data/chains/V2/cosmoshub/meta.ts similarity index 100% rename from src/data/chains/cosmoshub/meta.ts rename to src/data/chains/V2/cosmoshub/meta.ts diff --git a/src/data/chains/cosmoshub/theta/meta.ts b/src/data/chains/V2/cosmoshub/theta/meta.ts similarity index 100% rename from src/data/chains/cosmoshub/theta/meta.ts rename to src/data/chains/V2/cosmoshub/theta/meta.ts diff --git a/src/data/chains/decimal/meta.ts b/src/data/chains/V2/decimal/meta.ts similarity index 100% rename from src/data/chains/decimal/meta.ts rename to src/data/chains/V2/decimal/meta.ts diff --git a/src/data/chains/eos/jungle4/meta.ts b/src/data/chains/V2/eos/jungle4/meta.ts similarity index 100% rename from src/data/chains/eos/jungle4/meta.ts rename to src/data/chains/V2/eos/jungle4/meta.ts diff --git a/src/data/chains/eos/kylin/meta.ts b/src/data/chains/V2/eos/kylin/meta.ts similarity index 100% rename from src/data/chains/eos/kylin/meta.ts rename to src/data/chains/V2/eos/kylin/meta.ts diff --git a/src/data/chains/eos/meta.ts b/src/data/chains/V2/eos/meta.ts similarity index 100% rename from src/data/chains/eos/meta.ts rename to src/data/chains/V2/eos/meta.ts diff --git a/src/data/chains/eth/eth-cl/meta.ts b/src/data/chains/V2/eth/eth-cl/meta.ts similarity index 100% rename from src/data/chains/eth/eth-cl/meta.ts rename to src/data/chains/V2/eth/eth-cl/meta.ts diff --git a/src/data/chains/eth/goerli-cl/meta.ts b/src/data/chains/V2/eth/goerli-cl/meta.ts similarity index 100% rename from src/data/chains/eth/goerli-cl/meta.ts rename to src/data/chains/V2/eth/goerli-cl/meta.ts diff --git a/src/data/chains/eth/goerli/meta.ts b/src/data/chains/V2/eth/goerli/meta.ts similarity index 100% rename from src/data/chains/eth/goerli/meta.ts rename to src/data/chains/V2/eth/goerli/meta.ts diff --git a/src/data/chains/eth/holesky-cl/meta.ts b/src/data/chains/V2/eth/holesky-cl/meta.ts similarity index 100% rename from src/data/chains/eth/holesky-cl/meta.ts rename to src/data/chains/V2/eth/holesky-cl/meta.ts diff --git a/src/data/chains/eth/holesky/meta.ts b/src/data/chains/V2/eth/holesky/meta.ts similarity index 100% rename from src/data/chains/eth/holesky/meta.ts rename to src/data/chains/V2/eth/holesky/meta.ts diff --git a/src/data/chains/eth/meta.ts b/src/data/chains/V2/eth/meta.ts similarity index 100% rename from src/data/chains/eth/meta.ts rename to src/data/chains/V2/eth/meta.ts diff --git a/src/data/chains/eth/sepolia-cl/meta.ts b/src/data/chains/V2/eth/sepolia-cl/meta.ts similarity index 100% rename from src/data/chains/eth/sepolia-cl/meta.ts rename to src/data/chains/V2/eth/sepolia-cl/meta.ts diff --git a/src/data/chains/eth/sepolia/meta.ts b/src/data/chains/V2/eth/sepolia/meta.ts similarity index 100% rename from src/data/chains/eth/sepolia/meta.ts rename to src/data/chains/V2/eth/sepolia/meta.ts diff --git a/src/data/chains/fantom/meta.ts b/src/data/chains/V2/fantom/meta.ts similarity index 100% rename from src/data/chains/fantom/meta.ts rename to src/data/chains/V2/fantom/meta.ts diff --git a/src/data/chains/gnosis/gnosis-cl/meta.ts b/src/data/chains/V2/gnosis/gnosis-cl/meta.ts similarity index 100% rename from src/data/chains/gnosis/gnosis-cl/meta.ts rename to src/data/chains/V2/gnosis/gnosis-cl/meta.ts diff --git a/src/data/chains/gnosis/meta.ts b/src/data/chains/V2/gnosis/meta.ts similarity index 100% rename from src/data/chains/gnosis/meta.ts rename to src/data/chains/V2/gnosis/meta.ts diff --git a/src/data/chains/V2/index.ts b/src/data/chains/V2/index.ts new file mode 100644 index 0000000..a95105b --- /dev/null +++ b/src/data/chains/V2/index.ts @@ -0,0 +1,45 @@ +export { default as arbone } from './arbone/meta'; +export { default as arbgoerli } from './arbone/arbgoerli/meta'; +export { default as arbsepolia } from './arbone/arbsepolia/meta'; +export { default as chiado } from './arbone/chiado/meta'; +export { default as chiadoCl } from './arbone/chiado-cl/meta'; +export { default as arweave } from './arweave/meta'; +export { default as avalanche } from './avalanche/meta'; +export { default as base } from './base/meta'; +export { default as bitcoin } from './bitcoin/meta'; +export { default as bsc } from './bsc/meta'; +export { default as chapel } from './bsc/chapel/meta'; +export { default as celo } from './celo/meta'; +export { default as alfajores } from './celo/alfajores/meta'; +export { default as cosmoshub } from './cosmoshub/meta'; +export { default as juno } from './cosmoshub/juno/meta'; +export { default as theta } from './cosmoshub/theta/meta'; +export { default as decimal } from './decimal/meta'; +export { default as eos } from './eos/meta'; +export { default as jungle4 } from './eos/jungle4/meta'; +export { default as kylin } from './eos/kylin/meta'; +export { default as eth } from './eth/meta'; +export { default as ethCl } from './eth/eth-cl/meta'; +export { default as goerli } from './eth/goerli/meta'; +export { default as goerliCl } from './eth/goerli-cl/meta'; +export { default as holesky } from './eth/holesky/meta'; +export { default as holeskyCl } from './eth/holesky-cl/meta'; +export { default as sepolia } from './eth/sepolia/meta'; +export { default as sepoliaCl } from './eth/sepolia-cl/meta'; +export { default as fantom } from './fantom/meta'; +export { default as gnosis } from './gnosis/meta'; +export { default as gnosisCl } from './gnosis/gnosis-cl/meta'; +export { default as kava } from './kava/meta'; +export { default as moonbeam } from './moonbeam/meta'; +export { default as near } from './near/meta'; +export { default as neartest } from './near/neartest/meta'; +export { default as optimism } from './optimism/meta'; +export { default as osmosis } from './osmosis/meta'; +export { default as polygon } from './polygon/meta'; +export { default as mumbai } from './polygon/mumbai/meta'; +export { default as scroll } from './scroll/meta'; +export { default as starknet } from './starknet/meta'; +export { default as telos } from './telos/meta'; +export { default as telostest } from './telos/telostest/meta'; +export { default as wax } from './wax/meta'; +export { default as waxtest } from './wax/waxtest/meta'; diff --git a/src/data/chains/kava/meta.ts b/src/data/chains/V2/kava/meta.ts similarity index 100% rename from src/data/chains/kava/meta.ts rename to src/data/chains/V2/kava/meta.ts diff --git a/src/data/chains/moonbeam/meta.ts b/src/data/chains/V2/moonbeam/meta.ts similarity index 100% rename from src/data/chains/moonbeam/meta.ts rename to src/data/chains/V2/moonbeam/meta.ts diff --git a/src/data/chains/near/meta.ts b/src/data/chains/V2/near/meta.ts similarity index 100% rename from src/data/chains/near/meta.ts rename to src/data/chains/V2/near/meta.ts diff --git a/src/data/chains/near/neartest/meta.ts b/src/data/chains/V2/near/neartest/meta.ts similarity index 100% rename from src/data/chains/near/neartest/meta.ts rename to src/data/chains/V2/near/neartest/meta.ts diff --git a/src/data/chains/optimism/meta.ts b/src/data/chains/V2/optimism/meta.ts similarity index 100% rename from src/data/chains/optimism/meta.ts rename to src/data/chains/V2/optimism/meta.ts diff --git a/src/data/chains/osmosis/meta.ts b/src/data/chains/V2/osmosis/meta.ts similarity index 100% rename from src/data/chains/osmosis/meta.ts rename to src/data/chains/V2/osmosis/meta.ts diff --git a/src/data/chains/polygon/meta.ts b/src/data/chains/V2/polygon/meta.ts similarity index 100% rename from src/data/chains/polygon/meta.ts rename to src/data/chains/V2/polygon/meta.ts diff --git a/src/data/chains/polygon/mumbai/meta.ts b/src/data/chains/V2/polygon/mumbai/meta.ts similarity index 100% rename from src/data/chains/polygon/mumbai/meta.ts rename to src/data/chains/V2/polygon/mumbai/meta.ts diff --git a/src/data/chains/scroll/meta.ts b/src/data/chains/V2/scroll/meta.ts similarity index 100% rename from src/data/chains/scroll/meta.ts rename to src/data/chains/V2/scroll/meta.ts diff --git a/src/data/chains/starknet/meta.ts b/src/data/chains/V2/starknet/meta.ts similarity index 100% rename from src/data/chains/starknet/meta.ts rename to src/data/chains/V2/starknet/meta.ts diff --git a/src/data/chains/telos/meta.ts b/src/data/chains/V2/telos/meta.ts similarity index 100% rename from src/data/chains/telos/meta.ts rename to src/data/chains/V2/telos/meta.ts diff --git a/src/data/chains/telos/telostest/meta.ts b/src/data/chains/V2/telos/telostest/meta.ts similarity index 100% rename from src/data/chains/telos/telostest/meta.ts rename to src/data/chains/V2/telos/telostest/meta.ts diff --git a/src/data/chains/wax/meta.ts b/src/data/chains/V2/wax/meta.ts similarity index 100% rename from src/data/chains/wax/meta.ts rename to src/data/chains/V2/wax/meta.ts diff --git a/src/data/chains/wax/waxtest/meta.ts b/src/data/chains/V2/wax/waxtest/meta.ts similarity index 100% rename from src/data/chains/wax/waxtest/meta.ts rename to src/data/chains/V2/wax/waxtest/meta.ts diff --git a/src/data/chains/index.ts b/src/data/chains/index.ts index a95105b..47f1bab 100644 --- a/src/data/chains/index.ts +++ b/src/data/chains/index.ts @@ -1,45 +1,23 @@ -export { default as arbone } from './arbone/meta'; -export { default as arbgoerli } from './arbone/arbgoerli/meta'; -export { default as arbsepolia } from './arbone/arbsepolia/meta'; -export { default as chiado } from './arbone/chiado/meta'; -export { default as chiadoCl } from './arbone/chiado-cl/meta'; -export { default as arweave } from './arweave/meta'; -export { default as avalanche } from './avalanche/meta'; -export { default as base } from './base/meta'; -export { default as bitcoin } from './bitcoin/meta'; -export { default as bsc } from './bsc/meta'; -export { default as chapel } from './bsc/chapel/meta'; -export { default as celo } from './celo/meta'; -export { default as alfajores } from './celo/alfajores/meta'; -export { default as cosmoshub } from './cosmoshub/meta'; -export { default as juno } from './cosmoshub/juno/meta'; -export { default as theta } from './cosmoshub/theta/meta'; -export { default as decimal } from './decimal/meta'; -export { default as eos } from './eos/meta'; -export { default as jungle4 } from './eos/jungle4/meta'; -export { default as kylin } from './eos/kylin/meta'; -export { default as eth } from './eth/meta'; -export { default as ethCl } from './eth/eth-cl/meta'; -export { default as goerli } from './eth/goerli/meta'; -export { default as goerliCl } from './eth/goerli-cl/meta'; -export { default as holesky } from './eth/holesky/meta'; -export { default as holeskyCl } from './eth/holesky-cl/meta'; -export { default as sepolia } from './eth/sepolia/meta'; -export { default as sepoliaCl } from './eth/sepolia-cl/meta'; -export { default as fantom } from './fantom/meta'; -export { default as gnosis } from './gnosis/meta'; -export { default as gnosisCl } from './gnosis/gnosis-cl/meta'; -export { default as kava } from './kava/meta'; -export { default as moonbeam } from './moonbeam/meta'; -export { default as near } from './near/meta'; -export { default as neartest } from './near/neartest/meta'; -export { default as optimism } from './optimism/meta'; -export { default as osmosis } from './osmosis/meta'; -export { default as polygon } from './polygon/meta'; -export { default as mumbai } from './polygon/mumbai/meta'; -export { default as scroll } from './scroll/meta'; -export { default as starknet } from './starknet/meta'; -export { default as telos } from './telos/meta'; -export { default as telostest } from './telos/telostest/meta'; -export { default as wax } from './wax/meta'; -export { default as waxtest } from './wax/waxtest/meta'; +export { default as arbone } from './V2/arbone/meta'; +export { default as arweave } from './V2/arweave/meta'; +export { default as avalanche } from './V2/avalanche/meta'; +export { default as base } from './V2/base/meta'; +export { default as bitcoin } from './V2/bitcoin/meta'; +export { default as bsc } from './V2/bsc/meta'; +export { default as celo } from './V2/celo/meta'; +export { default as cosmoshub } from './V2/cosmoshub/meta'; +export { default as decimal } from './V2/decimal/meta'; +export { default as eos } from './V2/eos/meta'; +export { default as eth } from './V2/eth/meta'; +export { default as fantom } from './V2/fantom/meta'; +export { default as gnosis } from './V2/gnosis/meta'; +export { default as kava } from './V2/kava/meta'; +export { default as moonbeam } from './V2/moonbeam/meta'; +export { default as near } from './V2/near/meta'; +export { default as optimism } from './V2/optimism/meta'; +export { default as osmosis } from './V2/osmosis/meta'; +export { default as polygon } from './V2/polygon/meta'; +export { default as scroll } from './V2/scroll/meta'; +export { default as starknet } from './V2/starknet/meta'; +export { default as telos } from './V2/telos/meta'; +export { default as wax } from './V2/wax/meta'; diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index fcb0671..81f5fee 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,12 +1,11 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 4/12/2024, 11:46:42 AM. +// Last generation on 5/7/2024, 4:33:43 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' | 'arweave-mainnet' | 'astar-zkevm-mainnet' - | 'astar-zkevm-sepolia' | 'aurora' | 'aurora-testnet' | 'avalanche' @@ -28,16 +27,19 @@ export type GraphID = | 'fuji' | 'fuse' | 'gnosis' + | 'gnosis-chiado' | 'harmony' | 'holesky' | 'linea' | 'linea-goerli' + | 'linea-sepolia' | 'mainnet' | 'matic' | 'mbase' + | 'mode-mainnet' + | 'mode-sepolia' | 'moonbeam' | 'moonriver' - | 'mumbai' | 'near-mainnet' | 'near-testnet' | 'optimism' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 8f4cb4c..4989558 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 4/12/2024, 11:46:42 AM. +// Last generation on 5/7/2024, 4:33:43 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From 3d5998947f645e1feae5b6564a51240e9b0f843e Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Tue, 7 May 2024 16:50:21 -0400 Subject: [PATCH 19/51] Added legacy data compare script to make sure we migrate every chain correctly. --- package.json | 1 + scripts/generate/V2/match_legacy_data.ts | 42 ++++++++++++++++++++++++ src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- 4 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 scripts/generate/V2/match_legacy_data.ts diff --git a/package.json b/package.json index 122939f..4bb157a 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "generate:types": "bun run generate:type_graphid && bun run generate:type_pinaxid && bun run format", "generate:type_graphid": "bun ./scripts/generate/V2/type_graphid.ts", "generate:type_pinaxid": "bun ./scripts/generate/V2/type_pinaxid.ts", + "generate:match_legacy_check": "bun ./scripts/generate/V2/match_legacy_data.ts", "generate_v1": "npm run generate_v1:data", "generate_v1:data": "node ./scripts/generate/V1/data_json.js", "generate_v1:types": "npm run generate_v1:type_graphid && npm run generate_v1:type_pinaxid && npm run format", diff --git a/scripts/generate/V2/match_legacy_data.ts b/scripts/generate/V2/match_legacy_data.ts new file mode 100644 index 0000000..1775e67 --- /dev/null +++ b/scripts/generate/V2/match_legacy_data.ts @@ -0,0 +1,42 @@ +import fs from 'fs'; + +// Read and parse the JSON files +const dataLegacy = JSON.parse( + fs.readFileSync('./dist/data_legacy.json', 'utf8'), +); +const data = JSON.parse(fs.readFileSync('./dist/data.json', 'utf8')); + +// Create a new array for the missing chain IDs +let missingChainIDs = []; + +// Iterate over the chains in data_legacy.json +for (let legacyChain of dataLegacy) { + // Find the corresponding chain in data.json + let chain = data.find((c: any) => c.id === legacyChain.id); + + // If the chain doesn't exist in data.json, check the mainnet of the chain + if (!chain) { + let mainnetChain = data.find((c: any) => c.id === legacyChain.mainnet); + if (mainnetChain) { + // Check both testnets and consensus_layers arrays within that mainnet + if ( + mainnetChain.testnets?.find((t: any) => t.id === legacyChain.id) !== + undefined + ) { + continue; + } + if ( + mainnetChain.consensus_layers?.find( + (c: any) => c.id === legacyChain.id, + ) !== undefined + ) { + continue; + } + } + // If the chain doesn't exist in data.json, add the legacy chain ID to the missingChainIDs array + missingChainIDs.push(legacyChain.id); + } +} + +// Log the missing chain IDs +console.log(missingChainIDs); diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index 81f5fee..9a06c0a 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/7/2024, 4:33:43 PM. +// Last generation on 5/7/2024, 4:50:21 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 4989558..6dafa86 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/7/2024, 4:33:43 PM. +// Last generation on 5/7/2024, 4:50:22 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From 007c9485b6ac1213d1d42a261f8e116bffc5daa2 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 8 May 2024 15:08:43 -0400 Subject: [PATCH 20/51] Verified v2 metadata against old metadata to make sure everything's tracking. --- .github/dependabot.yml | 6 +++ .github/workflows/update-graph-ids.yml | 26 ------------- dist/data.json | 38 +++++-------------- src/data/chains/V2/arbone/arbgoerli/meta.ts | 2 +- src/data/chains/V2/arbone/arbsepolia/meta.ts | 2 +- src/data/chains/V2/arbone/meta.ts | 2 +- src/data/chains/V2/arweave/meta.ts | 2 +- src/data/chains/V2/avalanche/meta.ts | 2 +- src/data/chains/V2/base/meta.ts | 2 +- src/data/chains/V2/bitcoin/meta.ts | 2 +- src/data/chains/V2/bsc/chapel/meta.ts | 2 +- src/data/chains/V2/bsc/meta.ts | 2 +- src/data/chains/V2/celo/alfajores/meta.ts | 2 +- src/data/chains/V2/celo/meta.ts | 2 +- src/data/chains/V2/cosmoshub/juno/meta.ts | 2 +- src/data/chains/V2/cosmoshub/meta.ts | 2 +- src/data/chains/V2/cosmoshub/theta/meta.ts | 2 +- src/data/chains/V2/decimal/meta.ts | 2 +- src/data/chains/V2/eos/jungle4/meta.ts | 2 +- src/data/chains/V2/eos/kylin/meta.ts | 2 +- src/data/chains/V2/eos/meta.ts | 2 +- src/data/chains/V2/eth/eth-cl/meta.ts | 10 ++--- src/data/chains/V2/eth/goerli-cl/meta.ts | 12 ++---- src/data/chains/V2/eth/goerli/meta.ts | 2 +- src/data/chains/V2/eth/holesky-cl/meta.ts | 10 ++--- src/data/chains/V2/eth/holesky/meta.ts | 2 +- src/data/chains/V2/eth/meta.ts | 2 +- src/data/chains/V2/eth/sepolia-cl/meta.ts | 10 ++--- src/data/chains/V2/eth/sepolia/meta.ts | 2 +- src/data/chains/V2/fantom/meta.ts | 2 +- .../V2/{arbone => gnosis}/chiado-cl/meta.ts | 10 ++--- .../V2/{arbone => gnosis}/chiado/meta.ts | 2 +- src/data/chains/V2/gnosis/gnosis-cl/meta.ts | 10 ++--- src/data/chains/V2/gnosis/meta.ts | 2 +- src/data/chains/V2/index.ts | 5 ++- src/data/chains/V2/kava/meta.ts | 2 +- src/data/chains/V2/moonbeam/meta.ts | 2 +- src/data/chains/V2/near/meta.ts | 2 +- src/data/chains/V2/near/neartest/meta.ts | 2 +- src/data/chains/V2/optimism/meta.ts | 2 +- src/data/chains/V2/osmosis/meta.ts | 2 +- src/data/chains/V2/polygon/amoy/meta.ts | 24 ++++++++++++ src/data/chains/V2/polygon/meta.ts | 2 +- src/data/chains/V2/polygon/mumbai/meta.ts | 10 ++--- src/data/chains/V2/scroll/meta.ts | 2 +- src/data/chains/V2/starknet/meta.ts | 2 +- src/data/chains/V2/telos/meta.ts | 2 +- src/data/chains/V2/telos/telostest/meta.ts | 2 +- src/data/chains/V2/wax/meta.ts | 2 +- src/data/chains/V2/wax/waxtest/meta.ts | 2 +- src/types/chain.types.ts | 17 ++++++--- src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 7 ++-- src/types/service.types.ts | 7 +++- 54 files changed, 127 insertions(+), 153 deletions(-) create mode 100644 .github/dependabot.yml delete mode 100644 .github/workflows/update-graph-ids.yml rename src/data/chains/V2/{arbone => gnosis}/chiado-cl/meta.ts (62%) rename src/data/chains/V2/{arbone => gnosis}/chiado/meta.ts (86%) create mode 100644 src/data/chains/V2/polygon/amoy/meta.ts diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..24ddada --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: 'npm' + directory: '/' + schedule: + interval: 'daily' \ No newline at end of file diff --git a/.github/workflows/update-graph-ids.yml b/.github/workflows/update-graph-ids.yml deleted file mode 100644 index f559e86..0000000 --- a/.github/workflows/update-graph-ids.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Update Graph IDs - -on: - schedule: - - cron: '*/5 * * * *' - -jobs: - sync-graph-ids: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@master - - uses: oven-sh/setup-bun@v1 - - run: bun install - - - name: Every Day - run: bun run generate:type_graphid - - - uses: stefanzweifel/git-auto-commit-action@v2.3.0 - with: - commit_message: Apply automatic changes - branch: ${{ github.head_ref }} - - # Optional glob pattern of files which should be added to the commit - file_pattern: src/types/graph.types.ts - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/dist/data.json b/dist/data.json index 29c01e8..6379611 100644 --- a/dist/data.json +++ b/dist/data.json @@ -84,16 +84,12 @@ "alt_names": [], "supported_services": { "firehose": { - "released_at": null, + "released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null }, "substreams": { "released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null } }, "index": 3 @@ -105,16 +101,12 @@ "alt_names": [], "supported_services": { "firehose": { - "released_at": null, + "released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null }, "substreams": { "released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null } }, "index": 4 @@ -126,16 +118,12 @@ "alt_names": [], "supported_services": { "firehose": { - "released_at": null, + "released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null }, "substreams": { "released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null } }, "index": 5 @@ -216,21 +204,21 @@ "testnets": [ { "id": "mumbai", - "graph_id": "mumbai", + "graph_id": null, "name": "Mumbai", "alt_names": [], "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "deprecated_at": "2024-04-12T00:00:00.000Z" }, "substreams": { "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "deprecated_at": "2024-04-12T00:00:00.000Z" }, "rpc": { "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "deprecated_at": "2024-04-12T00:00:00.000Z" } }, "index": 2001 @@ -402,16 +390,12 @@ "alt_names": [], "supported_services": { "firehose": { - "released_at": null, + "released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null }, "substreams": { "released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null } }, "index": 4003 @@ -527,16 +511,12 @@ "alt_names": [], "supported_services": { "firehose": { - "released_at": null, + "released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null }, "substreams": { "released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null - }, - "rpc": { - "released_at": null, - "deprecated_at": null } }, "index": 7001 diff --git a/src/data/chains/V2/arbone/arbgoerli/meta.ts b/src/data/chains/V2/arbone/arbgoerli/meta.ts index 576fd7a..05f7553 100644 --- a/src/data/chains/V2/arbone/arbgoerli/meta.ts +++ b/src/data/chains/V2/arbone/arbgoerli/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'arbgoerli', diff --git a/src/data/chains/V2/arbone/arbsepolia/meta.ts b/src/data/chains/V2/arbone/arbsepolia/meta.ts index 182411a..b5326e8 100644 --- a/src/data/chains/V2/arbone/arbsepolia/meta.ts +++ b/src/data/chains/V2/arbone/arbsepolia/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'arbsepolia', diff --git a/src/data/chains/V2/arbone/meta.ts b/src/data/chains/V2/arbone/meta.ts index 8a11fb2..68c4af0 100644 --- a/src/data/chains/V2/arbone/meta.ts +++ b/src/data/chains/V2/arbone/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'arbone', diff --git a/src/data/chains/V2/arweave/meta.ts b/src/data/chains/V2/arweave/meta.ts index 347a732..4b08748 100644 --- a/src/data/chains/V2/arweave/meta.ts +++ b/src/data/chains/V2/arweave/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'arweave', diff --git a/src/data/chains/V2/avalanche/meta.ts b/src/data/chains/V2/avalanche/meta.ts index 2c6e278..04e36f3 100644 --- a/src/data/chains/V2/avalanche/meta.ts +++ b/src/data/chains/V2/avalanche/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'avalanche', diff --git a/src/data/chains/V2/base/meta.ts b/src/data/chains/V2/base/meta.ts index a400844..c3d5857 100644 --- a/src/data/chains/V2/base/meta.ts +++ b/src/data/chains/V2/base/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'base', diff --git a/src/data/chains/V2/bitcoin/meta.ts b/src/data/chains/V2/bitcoin/meta.ts index 8e7a9af..e10fb59 100644 --- a/src/data/chains/V2/bitcoin/meta.ts +++ b/src/data/chains/V2/bitcoin/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'bitcoin', diff --git a/src/data/chains/V2/bsc/chapel/meta.ts b/src/data/chains/V2/bsc/chapel/meta.ts index 4978380..253f841 100644 --- a/src/data/chains/V2/bsc/chapel/meta.ts +++ b/src/data/chains/V2/bsc/chapel/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'chapel', diff --git a/src/data/chains/V2/bsc/meta.ts b/src/data/chains/V2/bsc/meta.ts index 899abc2..5df718d 100644 --- a/src/data/chains/V2/bsc/meta.ts +++ b/src/data/chains/V2/bsc/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'bsc', diff --git a/src/data/chains/V2/celo/alfajores/meta.ts b/src/data/chains/V2/celo/alfajores/meta.ts index 1c65c35..6580e31 100644 --- a/src/data/chains/V2/celo/alfajores/meta.ts +++ b/src/data/chains/V2/celo/alfajores/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'alfajores', diff --git a/src/data/chains/V2/celo/meta.ts b/src/data/chains/V2/celo/meta.ts index c383ffb..5663656 100644 --- a/src/data/chains/V2/celo/meta.ts +++ b/src/data/chains/V2/celo/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'celo', diff --git a/src/data/chains/V2/cosmoshub/juno/meta.ts b/src/data/chains/V2/cosmoshub/juno/meta.ts index 62e3963..6e76cf2 100644 --- a/src/data/chains/V2/cosmoshub/juno/meta.ts +++ b/src/data/chains/V2/cosmoshub/juno/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'juno', diff --git a/src/data/chains/V2/cosmoshub/meta.ts b/src/data/chains/V2/cosmoshub/meta.ts index f5a252d..92b9430 100644 --- a/src/data/chains/V2/cosmoshub/meta.ts +++ b/src/data/chains/V2/cosmoshub/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'cosmoshub', diff --git a/src/data/chains/V2/cosmoshub/theta/meta.ts b/src/data/chains/V2/cosmoshub/theta/meta.ts index 34f88ec..e3b87d3 100644 --- a/src/data/chains/V2/cosmoshub/theta/meta.ts +++ b/src/data/chains/V2/cosmoshub/theta/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'theta', diff --git a/src/data/chains/V2/decimal/meta.ts b/src/data/chains/V2/decimal/meta.ts index f552913..03c8d1b 100644 --- a/src/data/chains/V2/decimal/meta.ts +++ b/src/data/chains/V2/decimal/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'decimal', diff --git a/src/data/chains/V2/eos/jungle4/meta.ts b/src/data/chains/V2/eos/jungle4/meta.ts index 26cf5e4..cbab796 100644 --- a/src/data/chains/V2/eos/jungle4/meta.ts +++ b/src/data/chains/V2/eos/jungle4/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'jungle4', diff --git a/src/data/chains/V2/eos/kylin/meta.ts b/src/data/chains/V2/eos/kylin/meta.ts index 0d43842..2c1a579 100644 --- a/src/data/chains/V2/eos/kylin/meta.ts +++ b/src/data/chains/V2/eos/kylin/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'kylin', diff --git a/src/data/chains/V2/eos/meta.ts b/src/data/chains/V2/eos/meta.ts index c197ea9..c173593 100644 --- a/src/data/chains/V2/eos/meta.ts +++ b/src/data/chains/V2/eos/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'eos', diff --git a/src/data/chains/V2/eth/eth-cl/meta.ts b/src/data/chains/V2/eth/eth-cl/meta.ts index 9f8da22..82e6709 100644 --- a/src/data/chains/V2/eth/eth-cl/meta.ts +++ b/src/data/chains/V2/eth/eth-cl/meta.ts @@ -1,23 +1,19 @@ -import { Testnet } from '../../../../types/chain.types'; +import { ConsensusLayer } from '../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ConsensusLayer = { id: 'eth-cl', graph_id: null, name: 'Ethereum Consensus Layer', alt_names: [], supported_services: { firehose: { - released_at: null, + released_at: '2023-03-08T00:00:00.000Z', deprecated_at: null, }, substreams: { released_at: '2023-03-08T00:00:00.000Z', deprecated_at: null, }, - rpc: { - released_at: null, - deprecated_at: null, - }, }, }; diff --git a/src/data/chains/V2/eth/goerli-cl/meta.ts b/src/data/chains/V2/eth/goerli-cl/meta.ts index e5ab0aa..3fa4409 100644 --- a/src/data/chains/V2/eth/goerli-cl/meta.ts +++ b/src/data/chains/V2/eth/goerli-cl/meta.ts @@ -1,23 +1,19 @@ -import { Testnet } from '../../../../types/chain.types'; +import { ConsensusLayer } from '../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ConsensusLayer = { id: 'goerli-cl', graph_id: null, name: 'Goerli Consensus Layer', alt_names: [], supported_services: { firehose: { - released_at: null, - deprecated_at: null, + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: '2023-03-08T00:00:00.000Z', }, substreams: { released_at: '2023-03-08T00:00:00.000Z', deprecated_at: '2023-03-21T00:00:00.000Z', }, - rpc: { - released_at: null, - deprecated_at: null, - }, }, }; diff --git a/src/data/chains/V2/eth/goerli/meta.ts b/src/data/chains/V2/eth/goerli/meta.ts index 8dabd3d..79cd79d 100644 --- a/src/data/chains/V2/eth/goerli/meta.ts +++ b/src/data/chains/V2/eth/goerli/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'goerli', diff --git a/src/data/chains/V2/eth/holesky-cl/meta.ts b/src/data/chains/V2/eth/holesky-cl/meta.ts index b548ffc..e5a3de9 100644 --- a/src/data/chains/V2/eth/holesky-cl/meta.ts +++ b/src/data/chains/V2/eth/holesky-cl/meta.ts @@ -1,23 +1,19 @@ -import { Testnet } from '../../../../types/chain.types'; +import { ConsensusLayer } from '../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ConsensusLayer = { id: 'holesky-cl', graph_id: null, name: 'Holesky Consensus Layer', alt_names: [], supported_services: { firehose: { - released_at: null, + released_at: '2023-03-08T00:00:00.000Z', deprecated_at: null, }, substreams: { released_at: '2023-03-08T00:00:00.000Z', deprecated_at: null, }, - rpc: { - released_at: null, - deprecated_at: null, - }, }, }; diff --git a/src/data/chains/V2/eth/holesky/meta.ts b/src/data/chains/V2/eth/holesky/meta.ts index 6dc1378..df8e203 100644 --- a/src/data/chains/V2/eth/holesky/meta.ts +++ b/src/data/chains/V2/eth/holesky/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'holesky', diff --git a/src/data/chains/V2/eth/meta.ts b/src/data/chains/V2/eth/meta.ts index 4af0e43..bd5b8ca 100644 --- a/src/data/chains/V2/eth/meta.ts +++ b/src/data/chains/V2/eth/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'eth', diff --git a/src/data/chains/V2/eth/sepolia-cl/meta.ts b/src/data/chains/V2/eth/sepolia-cl/meta.ts index 4e17540..ed64c1a 100644 --- a/src/data/chains/V2/eth/sepolia-cl/meta.ts +++ b/src/data/chains/V2/eth/sepolia-cl/meta.ts @@ -1,23 +1,19 @@ -import { Testnet } from '../../../../types/chain.types'; +import { ConsensusLayer } from '../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ConsensusLayer = { id: 'sepolia-cl', graph_id: null, name: 'Sepolia Consensus Layer', alt_names: [], supported_services: { firehose: { - released_at: null, + released_at: '2023-03-08T00:00:00.000Z', deprecated_at: null, }, substreams: { released_at: '2023-03-08T00:00:00.000Z', deprecated_at: null, }, - rpc: { - released_at: null, - deprecated_at: null, - }, }, }; diff --git a/src/data/chains/V2/eth/sepolia/meta.ts b/src/data/chains/V2/eth/sepolia/meta.ts index 76d2b1d..2eb3af7 100644 --- a/src/data/chains/V2/eth/sepolia/meta.ts +++ b/src/data/chains/V2/eth/sepolia/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'sepolia', diff --git a/src/data/chains/V2/fantom/meta.ts b/src/data/chains/V2/fantom/meta.ts index 100197e..d803b13 100644 --- a/src/data/chains/V2/fantom/meta.ts +++ b/src/data/chains/V2/fantom/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'fantom', diff --git a/src/data/chains/V2/arbone/chiado-cl/meta.ts b/src/data/chains/V2/gnosis/chiado-cl/meta.ts similarity index 62% rename from src/data/chains/V2/arbone/chiado-cl/meta.ts rename to src/data/chains/V2/gnosis/chiado-cl/meta.ts index ef40a65..a173f7f 100644 --- a/src/data/chains/V2/arbone/chiado-cl/meta.ts +++ b/src/data/chains/V2/gnosis/chiado-cl/meta.ts @@ -1,23 +1,19 @@ -import { Testnet } from '../../../../types/chain.types'; +import { ConsensusLayer } from '../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ConsensusLayer = { id: 'chiado-cl', graph_id: null, name: 'Chiado Consensus Layer', alt_names: [], supported_services: { firehose: { - released_at: null, + released_at: '2023-03-08T00:00:00.000Z', deprecated_at: null, }, substreams: { released_at: '2023-03-08T00:00:00.000Z', deprecated_at: null, }, - rpc: { - released_at: null, - deprecated_at: null, - }, }, }; diff --git a/src/data/chains/V2/arbone/chiado/meta.ts b/src/data/chains/V2/gnosis/chiado/meta.ts similarity index 86% rename from src/data/chains/V2/arbone/chiado/meta.ts rename to src/data/chains/V2/gnosis/chiado/meta.ts index fe8c721..2ab4bc1 100644 --- a/src/data/chains/V2/arbone/chiado/meta.ts +++ b/src/data/chains/V2/gnosis/chiado/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'chiado', diff --git a/src/data/chains/V2/gnosis/gnosis-cl/meta.ts b/src/data/chains/V2/gnosis/gnosis-cl/meta.ts index eb5beeb..f4d188d 100644 --- a/src/data/chains/V2/gnosis/gnosis-cl/meta.ts +++ b/src/data/chains/V2/gnosis/gnosis-cl/meta.ts @@ -1,23 +1,19 @@ -import { Testnet } from '../../../../types/chain.types'; +import { ConsensusLayer } from '../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ConsensusLayer = { id: 'gnosis-cl', graph_id: null, name: 'Gnosis Consensus Layer', alt_names: [], supported_services: { firehose: { - released_at: null, + released_at: '2023-03-08T00:00:00.000Z', deprecated_at: null, }, substreams: { released_at: '2023-03-08T00:00:00.000Z', deprecated_at: null, }, - rpc: { - released_at: null, - deprecated_at: null, - }, }, }; diff --git a/src/data/chains/V2/gnosis/meta.ts b/src/data/chains/V2/gnosis/meta.ts index 21ca8ba..2ce5e64 100644 --- a/src/data/chains/V2/gnosis/meta.ts +++ b/src/data/chains/V2/gnosis/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'gnosis', diff --git a/src/data/chains/V2/index.ts b/src/data/chains/V2/index.ts index a95105b..309f866 100644 --- a/src/data/chains/V2/index.ts +++ b/src/data/chains/V2/index.ts @@ -1,8 +1,6 @@ export { default as arbone } from './arbone/meta'; export { default as arbgoerli } from './arbone/arbgoerli/meta'; export { default as arbsepolia } from './arbone/arbsepolia/meta'; -export { default as chiado } from './arbone/chiado/meta'; -export { default as chiadoCl } from './arbone/chiado-cl/meta'; export { default as arweave } from './arweave/meta'; export { default as avalanche } from './avalanche/meta'; export { default as base } from './base/meta'; @@ -28,6 +26,8 @@ export { default as sepolia } from './eth/sepolia/meta'; export { default as sepoliaCl } from './eth/sepolia-cl/meta'; export { default as fantom } from './fantom/meta'; export { default as gnosis } from './gnosis/meta'; +export { default as chiado } from './gnosis/chiado/meta'; +export { default as chiadoCl } from './gnosis/chiado-cl/meta'; export { default as gnosisCl } from './gnosis/gnosis-cl/meta'; export { default as kava } from './kava/meta'; export { default as moonbeam } from './moonbeam/meta'; @@ -36,6 +36,7 @@ export { default as neartest } from './near/neartest/meta'; export { default as optimism } from './optimism/meta'; export { default as osmosis } from './osmosis/meta'; export { default as polygon } from './polygon/meta'; +export { default as amoy } from './polygon/amoy/meta'; export { default as mumbai } from './polygon/mumbai/meta'; export { default as scroll } from './scroll/meta'; export { default as starknet } from './starknet/meta'; diff --git a/src/data/chains/V2/kava/meta.ts b/src/data/chains/V2/kava/meta.ts index 5b6d3f5..e32021f 100644 --- a/src/data/chains/V2/kava/meta.ts +++ b/src/data/chains/V2/kava/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'kava', diff --git a/src/data/chains/V2/moonbeam/meta.ts b/src/data/chains/V2/moonbeam/meta.ts index 46d13ac..0ff37ba 100644 --- a/src/data/chains/V2/moonbeam/meta.ts +++ b/src/data/chains/V2/moonbeam/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'moonbeam', diff --git a/src/data/chains/V2/near/meta.ts b/src/data/chains/V2/near/meta.ts index bf131b1..8451d74 100644 --- a/src/data/chains/V2/near/meta.ts +++ b/src/data/chains/V2/near/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'near', diff --git a/src/data/chains/V2/near/neartest/meta.ts b/src/data/chains/V2/near/neartest/meta.ts index d542e19..e2763e0 100644 --- a/src/data/chains/V2/near/neartest/meta.ts +++ b/src/data/chains/V2/near/neartest/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'neartest', diff --git a/src/data/chains/V2/optimism/meta.ts b/src/data/chains/V2/optimism/meta.ts index b58bb93..def4c81 100644 --- a/src/data/chains/V2/optimism/meta.ts +++ b/src/data/chains/V2/optimism/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'optimism', diff --git a/src/data/chains/V2/osmosis/meta.ts b/src/data/chains/V2/osmosis/meta.ts index 2ca5e82..92fe924 100644 --- a/src/data/chains/V2/osmosis/meta.ts +++ b/src/data/chains/V2/osmosis/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'osmosis', diff --git a/src/data/chains/V2/polygon/amoy/meta.ts b/src/data/chains/V2/polygon/amoy/meta.ts new file mode 100644 index 0000000..7f9094d --- /dev/null +++ b/src/data/chains/V2/polygon/amoy/meta.ts @@ -0,0 +1,24 @@ +import { Testnet } from '../../../../../types/chain.types'; + +const meta: Testnet = { + id: 'amoy', + graph_id: 'polygon-amoy', + name: 'Amoy', + alt_names: [], + supported_services: { + firehose: { + released_at: '2024-04-12T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2024-04-12T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: '2024-04-12T00:00:00.000Z', + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/src/data/chains/V2/polygon/meta.ts b/src/data/chains/V2/polygon/meta.ts index 84b0766..1408b03 100644 --- a/src/data/chains/V2/polygon/meta.ts +++ b/src/data/chains/V2/polygon/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'polygon', diff --git a/src/data/chains/V2/polygon/mumbai/meta.ts b/src/data/chains/V2/polygon/mumbai/meta.ts index 5b2edd5..1fb010f 100644 --- a/src/data/chains/V2/polygon/mumbai/meta.ts +++ b/src/data/chains/V2/polygon/mumbai/meta.ts @@ -1,22 +1,22 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'mumbai', - graph_id: 'mumbai', + graph_id: null, name: 'Mumbai', alt_names: [], supported_services: { firehose: { released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + deprecated_at: '2024-04-12T00:00:00.000Z', }, substreams: { released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + deprecated_at: '2024-04-12T00:00:00.000Z', }, rpc: { released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + deprecated_at: '2024-04-12T00:00:00.000Z', }, }, }; diff --git a/src/data/chains/V2/scroll/meta.ts b/src/data/chains/V2/scroll/meta.ts index 3d6ddbc..919bd86 100644 --- a/src/data/chains/V2/scroll/meta.ts +++ b/src/data/chains/V2/scroll/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'scroll', diff --git a/src/data/chains/V2/starknet/meta.ts b/src/data/chains/V2/starknet/meta.ts index 53a1235..90a7853 100644 --- a/src/data/chains/V2/starknet/meta.ts +++ b/src/data/chains/V2/starknet/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'starknet', diff --git a/src/data/chains/V2/telos/meta.ts b/src/data/chains/V2/telos/meta.ts index 6010ddf..278605f 100644 --- a/src/data/chains/V2/telos/meta.ts +++ b/src/data/chains/V2/telos/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'telos', diff --git a/src/data/chains/V2/telos/telostest/meta.ts b/src/data/chains/V2/telos/telostest/meta.ts index 9656aec..6b49468 100644 --- a/src/data/chains/V2/telos/telostest/meta.ts +++ b/src/data/chains/V2/telos/telostest/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'telostest', diff --git a/src/data/chains/V2/wax/meta.ts b/src/data/chains/V2/wax/meta.ts index 7d17e6a..f36fd0f 100644 --- a/src/data/chains/V2/wax/meta.ts +++ b/src/data/chains/V2/wax/meta.ts @@ -1,4 +1,4 @@ -import { Chain } from '../../../types/chain.types'; +import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'wax', diff --git a/src/data/chains/V2/wax/waxtest/meta.ts b/src/data/chains/V2/wax/waxtest/meta.ts index cd078c8..e4f2506 100644 --- a/src/data/chains/V2/wax/waxtest/meta.ts +++ b/src/data/chains/V2/wax/waxtest/meta.ts @@ -1,4 +1,4 @@ -import { Testnet } from '../../../../types/chain.types'; +import { Testnet } from '../../../../../types/chain.types'; const meta: Testnet = { id: 'waxtest', diff --git a/src/types/chain.types.ts b/src/types/chain.types.ts index cff5c3b..cc0ef99 100644 --- a/src/types/chain.types.ts +++ b/src/types/chain.types.ts @@ -1,7 +1,7 @@ import { BlockType } from './block.types'; import { GraphID } from './graph.types'; import { PinaxID } from './pinax.types'; -import { SupportedServices } from './service.types'; +import { ConsensusLayerServices, SupportedServices } from './service.types'; import { Standard } from './standard.types'; export type ChainBase = { @@ -20,15 +20,19 @@ export type ChainBase = { // Alternative Names alt_names: string[]; +}; +export type ConsensusLayer = ChainBase & { + // Whether or not the chain supports our existing services + // Consensus Layers exist only for services built on top of RPC + // (Firehose, Substreams), and not for the RPC service itself. + supported_services: ConsensusLayerServices; +}; +export type Testnet = ChainBase & { // Whether or not the chain supports our existing services supported_services: SupportedServices; }; -// Consensus Layers handled like Testnets for now -export type ConsensusLayer = ChainBase; -export type Testnet = ChainBase; - /** * Describes the Data that needs to be provided for a Chain. * @@ -53,6 +57,9 @@ export interface Chain extends ChainBase { variants?: Array<'branded' | 'mono'>; }; + // Whether or not the chain supports our existing services + supported_services: SupportedServices; + // Merged by ./scripts/generate/data_json.js testnets?: Array; diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index 9a06c0a..cf488e3 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/7/2024, 4:50:21 PM. +// Last generation on 5/8/2024, 3:08:44 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 6dafa86..3076767 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,11 +1,9 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/7/2024, 4:50:22 PM. +// Last generation on 5/8/2024, 3:08:44 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' - | 'chiado' - | 'chiado-cl' | 'arbone' | 'arweave' | 'avalanche' @@ -31,6 +29,8 @@ export type PinaxID = | 'sepolia' | 'sepolia-cl' | 'fantom' + | 'chiado' + | 'chiado-cl' | 'gnosis-cl' | 'gnosis' | 'kava' @@ -39,6 +39,7 @@ export type PinaxID = | 'neartest' | 'optimism' | 'osmosis' + | 'amoy' | 'polygon' | 'mumbai' | 'scroll' diff --git a/src/types/service.types.ts b/src/types/service.types.ts index be0d35f..a1bd86e 100644 --- a/src/types/service.types.ts +++ b/src/types/service.types.ts @@ -1,4 +1,5 @@ -export type ServiceID = 'substreams' | 'firehose' | 'rpc'; +export type ConsensusLayerServiceID = 'substreams' | 'firehose'; +export type ServiceID = ConsensusLayerServiceID | 'rpc'; export type ServiceEndpoint = { name: string; @@ -10,4 +11,8 @@ export type ServiceEndpointStatus = { released_at: string | null; deprecated_at: string | null; }; + +export type ConsensusLayerServices = { + [key in ConsensusLayerServiceID]: ServiceEndpointStatus; +}; export type SupportedServices = { [key in ServiceID]: ServiceEndpointStatus }; From e1d4cfb4b1114ad29870c447a94a92bfc5259ae2 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 8 May 2024 15:11:34 -0400 Subject: [PATCH 21/51] 2.0.0-next.0 --- package-lock.json | 4 ++-- package.json | 2 +- src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 849c974..9d58112 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@pinax/chains", - "version": "2.0.0-rc", + "version": "2.0.0-next.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@pinax/chains", - "version": "2.0.0-rc", + "version": "2.0.0-next.0", "bundleDependencies": [ "@token-icons/core" ], diff --git a/package.json b/package.json index 4bb157a..a6e9052 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@pinax/chains", - "version": "2.0.0-rc", + "version": "2.0.0-next.0", "description": "Single-source-of-truth for the metadata of chains supported by Pinax.", "keywords": [ "chains", diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index cf488e3..24eb78a 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 3:08:44 PM. +// Last generation on 5/8/2024, 3:11:35 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 3076767..35976ee 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 3:08:44 PM. +// Last generation on 5/8/2024, 3:11:35 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From 9627fe4d3b679101fd43185f01520e09be80f405 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 8 May 2024 15:13:34 -0400 Subject: [PATCH 22/51] Updated rc version --- package.json | 2 +- src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index a6e9052..6e0b2dc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@pinax/chains", - "version": "2.0.0-next.0", + "version": "rc-2.0.0", "description": "Single-source-of-truth for the metadata of chains supported by Pinax.", "keywords": [ "chains", diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index 24eb78a..d890058 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 3:11:35 PM. +// Last generation on 5/8/2024, 3:13:35 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 35976ee..1297a21 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 3:11:35 PM. +// Last generation on 5/8/2024, 3:13:35 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From e842e0ebcfef6d4a623ab3a7266ecf0fdaf0518c Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 8 May 2024 15:14:31 -0400 Subject: [PATCH 23/51] Updated RC version --- package.json | 2 +- src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 6e0b2dc..fa70358 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@pinax/chains", - "version": "rc-2.0.0", + "version": "2.0.0-rc1", "description": "Single-source-of-truth for the metadata of chains supported by Pinax.", "keywords": [ "chains", diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index d890058..bc53b5e 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 3:13:35 PM. +// Last generation on 5/8/2024, 3:14:32 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index 1297a21..f792992 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 3:13:35 PM. +// Last generation on 5/8/2024, 3:14:32 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From a06da8a6a5ea667f069cf8fa75e10230c2daebb4 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 8 May 2024 16:18:44 -0400 Subject: [PATCH 24/51] Added missing Arbsepolia --- dist/data.json | 6 +++--- package.json | 2 +- src/data/chains/V2/arbone/arbsepolia/meta.ts | 6 +++--- src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dist/data.json b/dist/data.json index 6379611..dda6919 100644 --- a/dist/data.json +++ b/dist/data.json @@ -346,15 +346,15 @@ "alt_names": [], "supported_services": { "firehose": { - "released_at": null, + "released_at": "2024-05-03T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "released_at": null, + "released_at": "2024-05-03T00:00:00.000Z", "deprecated_at": null }, "rpc": { - "released_at": null, + "released_at": "2024-05-03T00:00:00.000Z", "deprecated_at": null } }, diff --git a/package.json b/package.json index fa70358..5f6f307 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@pinax/chains", - "version": "2.0.0-rc1", + "version": "2.0.1-rc1", "description": "Single-source-of-truth for the metadata of chains supported by Pinax.", "keywords": [ "chains", diff --git a/src/data/chains/V2/arbone/arbsepolia/meta.ts b/src/data/chains/V2/arbone/arbsepolia/meta.ts index b5326e8..3977bdc 100644 --- a/src/data/chains/V2/arbone/arbsepolia/meta.ts +++ b/src/data/chains/V2/arbone/arbsepolia/meta.ts @@ -7,15 +7,15 @@ const meta: Testnet = { alt_names: [], supported_services: { firehose: { - released_at: null, + released_at: '2024-05-03T00:00:00.000Z', deprecated_at: null, }, substreams: { - released_at: null, + released_at: '2024-05-03T00:00:00.000Z', deprecated_at: null, }, rpc: { - released_at: null, + released_at: '2024-05-03T00:00:00.000Z', deprecated_at: null, }, }, diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index bc53b5e..6a039c2 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 3:14:32 PM. +// Last generation on 5/8/2024, 4:18:45 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index f792992..b804bd8 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 3:14:32 PM. +// Last generation on 5/8/2024, 4:18:45 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From 1360f76599a9e499885affa5147e155a1cbe50bb Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 8 May 2024 16:35:32 -0400 Subject: [PATCH 25/51] Started working on package inclusions --- dist/{data.d.ts => types.d.ts} | 0 index.ts | 2 +- package.json | 5 ++-- src/types/graph.types.ts | 2 +- src/types/pinax.types.ts | 2 +- src/utils/chains.ts | 48 +++++++++++++++++++++++++--------- 6 files changed, 42 insertions(+), 17 deletions(-) rename dist/{data.d.ts => types.d.ts} (100%) diff --git a/dist/data.d.ts b/dist/types.d.ts similarity index 100% rename from dist/data.d.ts rename to dist/types.d.ts diff --git a/index.ts b/index.ts index 1e7f7cf..69e7057 100644 --- a/index.ts +++ b/index.ts @@ -1,4 +1,4 @@ -import * as data from './dist/data'; +import * as data from './dist/types'; import * as utils from './src/utils'; export default { data, utils }; diff --git a/package.json b/package.json index 5f6f307..90f48b1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@pinax/chains", - "version": "2.0.1-rc1", + "version": "2.0.2-rc1", "description": "Single-source-of-truth for the metadata of chains supported by Pinax.", "keywords": [ "chains", @@ -13,7 +13,8 @@ "files": [ "dist/data.json", "dist/data.d.ts", - "types/**.ts" + "src/types/**.ts", + "src/utils/**/**.ts" ], "scripts": { "fetch-graph-ids": "bun ./scripts/fetchGraphIDs.ts", diff --git a/src/types/graph.types.ts b/src/types/graph.types.ts index 6a039c2..e67bc04 100644 --- a/src/types/graph.types.ts +++ b/src/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 4:18:45 PM. +// Last generation on 5/8/2024, 4:35:33 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/src/types/pinax.types.ts b/src/types/pinax.types.ts index b804bd8..a974674 100644 --- a/src/types/pinax.types.ts +++ b/src/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 4:18:45 PM. +// Last generation on 5/8/2024, 4:35:33 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' diff --git a/src/utils/chains.ts b/src/utils/chains.ts index da41cbb..6254095 100644 --- a/src/utils/chains.ts +++ b/src/utils/chains.ts @@ -1,27 +1,37 @@ -import { ChainBase } from '../types/chain.types'; +import { Chain, ConsensusLayer, Testnet } from '../types/chain.types'; -const isFirehoseSupported = (chain: ChainBase): boolean => { +const isFirehoseSupported = ( + chain: Chain | Testnet | ConsensusLayer, +): boolean => { return ( chain?.supported_services?.firehose?.released_at !== null && chain?.supported_services?.firehose?.deprecated_at === null ); }; -const isSubstreamsSupported = (chain: ChainBase): boolean => { +const isSubstreamsSupported = ( + chain: Chain | Testnet | ConsensusLayer, +): boolean => { return ( chain?.supported_services?.substreams?.released_at !== null && chain?.supported_services?.substreams?.deprecated_at === null ); }; -const isRpcSupported = (chain: ChainBase): boolean => { +const isRpcSupported = (chain: Chain | Testnet | ConsensusLayer): boolean => { + // Can take a Consensus Layer as parameter but will always return false. + const castedChain = chain as any; + if (castedChain.supported_services.rpc === undefined) { + return false; + } + return ( - chain?.supported_services?.rpc?.released_at !== null && - chain?.supported_services?.rpc?.deprecated_at === null + castedChain?.supported_services?.rpc?.released_at !== null && + castedChain?.supported_services?.rpc?.deprecated_at === null ); }; -const isChainSupported = (chain: ChainBase): boolean => { +const isChainSupported = (chain: Chain | Testnet | ConsensusLayer): boolean => { return ( isFirehoseSupported(chain) || isSubstreamsSupported(chain) || @@ -29,19 +39,33 @@ const isChainSupported = (chain: ChainBase): boolean => { ); }; -const wasFirehoseOnceSupported = (chain: ChainBase): boolean => { +const wasFirehoseOnceSupported = ( + chain: Chain | Testnet | ConsensusLayer, +): boolean => { return chain?.supported_services?.firehose?.released_at !== null; }; -const wasSubstreamsOnceSupported = (chain: ChainBase): boolean => { +const wasSubstreamsOnceSupported = ( + chain: Chain | Testnet | ConsensusLayer, +): boolean => { return chain?.supported_services?.substreams?.released_at !== null; }; -const wasRpcOnceSupported = (chain: ChainBase): boolean => { - return chain?.supported_services?.rpc?.released_at !== null; +const wasRpcOnceSupported = ( + chain: Chain | Testnet | ConsensusLayer, +): boolean => { + // Can take a Consensus Layer as parameter but will always return false. + const castedChain = chain as any; + if (castedChain.supported_services.rpc === undefined) { + return false; + } + + return castedChain?.supported_services?.rpc?.released_at !== null; }; -const wasChainOnceSupported = (chain: ChainBase): boolean => { +const wasChainOnceSupported = ( + chain: Chain | Testnet | ConsensusLayer, +): boolean => { return ( wasFirehoseOnceSupported(chain) || wasSubstreamsOnceSupported(chain) || From 662a109363aacca5dfe082d2b2ac6a71c9877a13 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 8 May 2024 19:18:56 -0400 Subject: [PATCH 26/51] Reordered project, added index.config check, added necessary files to package. --- README.md | 2 +- {src/data => data}/chains/V1/alfajores.json | 0 {src/data => data}/chains/V1/amoy.json | 0 {src/data => data}/chains/V1/arbgoerli.json | 0 {src/data => data}/chains/V1/arbone.json | 0 {src/data => data}/chains/V1/arbsepolia.json | 0 {src/data => data}/chains/V1/arweave.json | 0 {src/data => data}/chains/V1/avalanche.json | 0 {src/data => data}/chains/V1/base.json | 0 {src/data => data}/chains/V1/bitcoin.json | 0 {src/data => data}/chains/V1/bsc.json | 0 {src/data => data}/chains/V1/celo.json | 0 .../chains/V1/chains.json | 0 {src/data => data}/chains/V1/chapel.json | 0 {src/data => data}/chains/V1/chiado-cl.json | 0 {src/data => data}/chains/V1/chiado.json | 0 {src/data => data}/chains/V1/cosmoshub.json | 0 {src/data => data}/chains/V1/decimal.json | 0 {src/data => data}/chains/V1/eos.json | 0 {src/data => data}/chains/V1/eth-cl.json | 0 {src/data => data}/chains/V1/eth.json | 0 {src/data => data}/chains/V1/fantom.json | 0 {src/data => data}/chains/V1/gnosis-cl.json | 0 {src/data => data}/chains/V1/gnosis.json | 0 {src/data => data}/chains/V1/goerli-cl.json | 0 {src/data => data}/chains/V1/goerli.json | 0 {src/data => data}/chains/V1/holesky-cl.json | 0 {src/data => data}/chains/V1/holesky.json | 0 {src/data => data}/chains/V1/jungle4.json | 0 {src/data => data}/chains/V1/juno.json | 0 {src/data => data}/chains/V1/kava.json | 0 {src/data => data}/chains/V1/kylin.json | 0 {src/data => data}/chains/V1/moonbeam.json | 0 {src/data => data}/chains/V1/mumbai.json | 0 {src/data => data}/chains/V1/near.json | 0 {src/data => data}/chains/V1/neartest.json | 0 {src/data => data}/chains/V1/optimism.json | 0 {src/data => data}/chains/V1/ore.json | 0 {src/data => data}/chains/V1/orestage.json | 0 {src/data => data}/chains/V1/osmosis.json | 0 {src/data => data}/chains/V1/polygon.json | 0 {src/data => data}/chains/V1/scroll.json | 0 {src/data => data}/chains/V1/sepolia-cl.json | 0 {src/data => data}/chains/V1/sepolia.json | 0 {src/data => data}/chains/V1/starknet.json | 0 {src/data => data}/chains/V1/telos.json | 0 {src/data => data}/chains/V1/telostest.json | 0 {src/data => data}/chains/V1/theta.json | 0 {src/data => data}/chains/V1/ux.json | 0 {src/data => data}/chains/V1/wax.json | 0 {src/data => data}/chains/V1/waxtest.json | 0 {src/data => data}/chains/V1/zkatana.json | 0 .../chains/V2/arbone/arbgoerli/meta.ts | 0 .../chains/V2/arbone/arbsepolia/meta.ts | 0 {src/data => data}/chains/V2/arbone/meta.ts | 0 {src/data => data}/chains/V2/arweave/meta.ts | 0 .../data => data}/chains/V2/avalanche/meta.ts | 0 {src/data => data}/chains/V2/base/meta.ts | 0 {src/data => data}/chains/V2/bitcoin/meta.ts | 0 .../chains/V2/bsc/chapel/meta.ts | 0 {src/data => data}/chains/V2/bsc/meta.ts | 0 .../chains/V2/celo/alfajores/meta.ts | 0 {src/data => data}/chains/V2/celo/meta.ts | 0 dist/data.json => data/chains/V2/chains.json | 364 ++++++++++++++++-- .../chains/V2/cosmoshub/juno/meta.ts | 0 .../data => data}/chains/V2/cosmoshub/meta.ts | 0 .../chains/V2/cosmoshub/theta/meta.ts | 0 {src/data => data}/chains/V2/decimal/meta.ts | 0 .../chains/V2/eos/jungle4/meta.ts | 0 .../data => data}/chains/V2/eos/kylin/meta.ts | 0 {src/data => data}/chains/V2/eos/meta.ts | 0 .../chains/V2/eth/eth-cl/meta.ts | 0 .../chains/V2/eth/goerli-cl/meta.ts | 0 .../chains/V2/eth/goerli/meta.ts | 0 .../chains/V2/eth/holesky-cl/meta.ts | 0 .../chains/V2/eth/holesky/meta.ts | 0 {src/data => data}/chains/V2/eth/meta.ts | 0 .../chains/V2/eth/sepolia-cl/meta.ts | 0 .../chains/V2/eth/sepolia/meta.ts | 0 {src/data => data}/chains/V2/fantom/meta.ts | 0 .../chains/V2/gnosis/chiado-cl/meta.ts | 0 .../chains/V2/gnosis/chiado/meta.ts | 0 .../chains/V2/gnosis/gnosis-cl/meta.ts | 0 {src/data => data}/chains/V2/gnosis/meta.ts | 0 {src/data => data}/chains/V2/index.ts | 0 {src/data => data}/chains/V2/kava/meta.ts | 0 {src/data => data}/chains/V2/moonbeam/meta.ts | 0 {src/data => data}/chains/V2/near/meta.ts | 0 .../chains/V2/near/neartest/meta.ts | 0 {src/data => data}/chains/V2/optimism/meta.ts | 0 {src/data => data}/chains/V2/osmosis/meta.ts | 0 .../chains/V2/polygon/amoy/meta.ts | 0 {src/data => data}/chains/V2/polygon/meta.ts | 0 .../chains/V2/polygon/mumbai/meta.ts | 0 {src/data => data}/chains/V2/scroll/meta.ts | 0 {src/data => data}/chains/V2/starknet/meta.ts | 0 {src/data => data}/chains/V2/telos/meta.ts | 0 .../chains/V2/telos/telostest/meta.ts | 0 {src/data => data}/chains/V2/wax/meta.ts | 0 .../chains/V2/wax/waxtest/meta.ts | 0 data/index.config.ts | 42 ++ {src/data => data}/services.ts | 0 dist/types.d.ts | 31 -- docs/adding_updating_deprecating.md | 6 +- index.ts | 8 +- package.json | 16 +- scripts/generate/V1/data_json.js | 7 +- scripts/generate/V2/data_index.ts | 7 +- scripts/generate/V2/data_json.ts | 64 +-- scripts/generate/V2/index_config_check.ts | 65 ++++ scripts/generate/V2/type_graphid.ts | 2 +- scripts/generate/V2/type_pinaxid.ts | 4 +- src/configs/index.config.json | 18 - src/data/chains/index.ts | 23 -- src/utils/index.ts | 3 - .../assert_chain_data_format.test.ts | 0 .../assert_unexported_chains.test.ts | 0 .../assert_unique_index.test.ts | 0 .../assert_valid_icons.test.ts | 0 .../no_substreams_wo_firehose.test.ts | 0 {src/types => types}/block.types.ts | 0 {src/types => types}/chain.types.ts | 0 {src/types => types}/graph.types.ts | 2 +- types/index.ts | 6 + {src/types => types}/pinax.types.ts | 2 +- {src/types => types}/service.types.ts | 0 {src/types => types}/standard.types.ts | 0 {src/utils => utils}/case.ts | 0 {src/utils => utils}/chains.ts | 0 utils/index.ts | 4 + .../service_configs/firehose.ts | 0 utils/service_configs/index.ts | 3 + {src/utils => utils}/service_configs/rpc.ts | 0 .../service_configs/substreams.ts | 0 134 files changed, 527 insertions(+), 152 deletions(-) rename {src/data => data}/chains/V1/alfajores.json (100%) rename {src/data => data}/chains/V1/amoy.json (100%) rename {src/data => data}/chains/V1/arbgoerli.json (100%) rename {src/data => data}/chains/V1/arbone.json (100%) rename {src/data => data}/chains/V1/arbsepolia.json (100%) rename {src/data => data}/chains/V1/arweave.json (100%) rename {src/data => data}/chains/V1/avalanche.json (100%) rename {src/data => data}/chains/V1/base.json (100%) rename {src/data => data}/chains/V1/bitcoin.json (100%) rename {src/data => data}/chains/V1/bsc.json (100%) rename {src/data => data}/chains/V1/celo.json (100%) rename dist/data_legacy.json => data/chains/V1/chains.json (100%) rename {src/data => data}/chains/V1/chapel.json (100%) rename {src/data => data}/chains/V1/chiado-cl.json (100%) rename {src/data => data}/chains/V1/chiado.json (100%) rename {src/data => data}/chains/V1/cosmoshub.json (100%) rename {src/data => data}/chains/V1/decimal.json (100%) rename {src/data => data}/chains/V1/eos.json (100%) rename {src/data => data}/chains/V1/eth-cl.json (100%) rename {src/data => data}/chains/V1/eth.json (100%) rename {src/data => data}/chains/V1/fantom.json (100%) rename {src/data => data}/chains/V1/gnosis-cl.json (100%) rename {src/data => data}/chains/V1/gnosis.json (100%) rename {src/data => data}/chains/V1/goerli-cl.json (100%) rename {src/data => data}/chains/V1/goerli.json (100%) rename {src/data => data}/chains/V1/holesky-cl.json (100%) rename {src/data => data}/chains/V1/holesky.json (100%) rename {src/data => data}/chains/V1/jungle4.json (100%) rename {src/data => data}/chains/V1/juno.json (100%) rename {src/data => data}/chains/V1/kava.json (100%) rename {src/data => data}/chains/V1/kylin.json (100%) rename {src/data => data}/chains/V1/moonbeam.json (100%) rename {src/data => data}/chains/V1/mumbai.json (100%) rename {src/data => data}/chains/V1/near.json (100%) rename {src/data => data}/chains/V1/neartest.json (100%) rename {src/data => data}/chains/V1/optimism.json (100%) rename {src/data => data}/chains/V1/ore.json (100%) rename {src/data => data}/chains/V1/orestage.json (100%) rename {src/data => data}/chains/V1/osmosis.json (100%) rename {src/data => data}/chains/V1/polygon.json (100%) rename {src/data => data}/chains/V1/scroll.json (100%) rename {src/data => data}/chains/V1/sepolia-cl.json (100%) rename {src/data => data}/chains/V1/sepolia.json (100%) rename {src/data => data}/chains/V1/starknet.json (100%) rename {src/data => data}/chains/V1/telos.json (100%) rename {src/data => data}/chains/V1/telostest.json (100%) rename {src/data => data}/chains/V1/theta.json (100%) rename {src/data => data}/chains/V1/ux.json (100%) rename {src/data => data}/chains/V1/wax.json (100%) rename {src/data => data}/chains/V1/waxtest.json (100%) rename {src/data => data}/chains/V1/zkatana.json (100%) rename {src/data => data}/chains/V2/arbone/arbgoerli/meta.ts (100%) rename {src/data => data}/chains/V2/arbone/arbsepolia/meta.ts (100%) rename {src/data => data}/chains/V2/arbone/meta.ts (100%) rename {src/data => data}/chains/V2/arweave/meta.ts (100%) rename {src/data => data}/chains/V2/avalanche/meta.ts (100%) rename {src/data => data}/chains/V2/base/meta.ts (100%) rename {src/data => data}/chains/V2/bitcoin/meta.ts (100%) rename {src/data => data}/chains/V2/bsc/chapel/meta.ts (100%) rename {src/data => data}/chains/V2/bsc/meta.ts (100%) rename {src/data => data}/chains/V2/celo/alfajores/meta.ts (100%) rename {src/data => data}/chains/V2/celo/meta.ts (100%) rename dist/data.json => data/chains/V2/chains.json (74%) rename {src/data => data}/chains/V2/cosmoshub/juno/meta.ts (100%) rename {src/data => data}/chains/V2/cosmoshub/meta.ts (100%) rename {src/data => data}/chains/V2/cosmoshub/theta/meta.ts (100%) rename {src/data => data}/chains/V2/decimal/meta.ts (100%) rename {src/data => data}/chains/V2/eos/jungle4/meta.ts (100%) rename {src/data => data}/chains/V2/eos/kylin/meta.ts (100%) rename {src/data => data}/chains/V2/eos/meta.ts (100%) rename {src/data => data}/chains/V2/eth/eth-cl/meta.ts (100%) rename {src/data => data}/chains/V2/eth/goerli-cl/meta.ts (100%) rename {src/data => data}/chains/V2/eth/goerli/meta.ts (100%) rename {src/data => data}/chains/V2/eth/holesky-cl/meta.ts (100%) rename {src/data => data}/chains/V2/eth/holesky/meta.ts (100%) rename {src/data => data}/chains/V2/eth/meta.ts (100%) rename {src/data => data}/chains/V2/eth/sepolia-cl/meta.ts (100%) rename {src/data => data}/chains/V2/eth/sepolia/meta.ts (100%) rename {src/data => data}/chains/V2/fantom/meta.ts (100%) rename {src/data => data}/chains/V2/gnosis/chiado-cl/meta.ts (100%) rename {src/data => data}/chains/V2/gnosis/chiado/meta.ts (100%) rename {src/data => data}/chains/V2/gnosis/gnosis-cl/meta.ts (100%) rename {src/data => data}/chains/V2/gnosis/meta.ts (100%) rename {src/data => data}/chains/V2/index.ts (100%) rename {src/data => data}/chains/V2/kava/meta.ts (100%) rename {src/data => data}/chains/V2/moonbeam/meta.ts (100%) rename {src/data => data}/chains/V2/near/meta.ts (100%) rename {src/data => data}/chains/V2/near/neartest/meta.ts (100%) rename {src/data => data}/chains/V2/optimism/meta.ts (100%) rename {src/data => data}/chains/V2/osmosis/meta.ts (100%) rename {src/data => data}/chains/V2/polygon/amoy/meta.ts (100%) rename {src/data => data}/chains/V2/polygon/meta.ts (100%) rename {src/data => data}/chains/V2/polygon/mumbai/meta.ts (100%) rename {src/data => data}/chains/V2/scroll/meta.ts (100%) rename {src/data => data}/chains/V2/starknet/meta.ts (100%) rename {src/data => data}/chains/V2/telos/meta.ts (100%) rename {src/data => data}/chains/V2/telos/telostest/meta.ts (100%) rename {src/data => data}/chains/V2/wax/meta.ts (100%) rename {src/data => data}/chains/V2/wax/waxtest/meta.ts (100%) create mode 100644 data/index.config.ts rename {src/data => data}/services.ts (100%) delete mode 100644 dist/types.d.ts create mode 100644 scripts/generate/V2/index_config_check.ts delete mode 100644 src/configs/index.config.json delete mode 100644 src/data/chains/index.ts delete mode 100644 src/utils/index.ts rename src/tests/assert_chain_data_format.js => tests/assert_chain_data_format.test.ts (100%) rename src/tests/assert_unexported_chains.js => tests/assert_unexported_chains.test.ts (100%) rename src/tests/assert_unique_index.js => tests/assert_unique_index.test.ts (100%) rename src/tests/assert_valid_icons.js => tests/assert_valid_icons.test.ts (100%) rename {test => tests}/no_substreams_wo_firehose.test.ts (100%) rename {src/types => types}/block.types.ts (100%) rename {src/types => types}/chain.types.ts (100%) rename {src/types => types}/graph.types.ts (96%) create mode 100644 types/index.ts rename {src/types => types}/pinax.types.ts (94%) rename {src/types => types}/service.types.ts (100%) rename {src/types => types}/standard.types.ts (100%) rename {src/utils => utils}/case.ts (100%) rename {src/utils => utils}/chains.ts (100%) create mode 100644 utils/index.ts rename {src/utils => utils}/service_configs/firehose.ts (100%) create mode 100644 utils/service_configs/index.ts rename {src/utils => utils}/service_configs/rpc.ts (100%) rename {src/utils => utils}/service_configs/substreams.ts (100%) diff --git a/README.md b/README.md index ec15bf6..c802d54 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ This is the single-source-of-truth for the metadata of chains supported by Pinax **_products_** (we have a separate, private list for internal ops). To make it more accessible, we've published it as a [npm package](#install_from_npm) and created a [public endpoint to fetch chains metadata](#public_endpoint). -You can have a look at the [Chain Type](/src/types/chain.types.ts) and at our [list of supported, to-be-supported, or once-supported chains](/src/types/pinax.types.ts). +You can have a look at the [Chain Type](/types/chain.types.ts) and at our [list of supported, to-be-supported, or once-supported chains](/types/pinax.types.ts). > **Note**: Some chains may be listed but won't have any service supported or may have been deprecated, see each chain's metadata to ensure the chain is truly supported. diff --git a/src/data/chains/V1/alfajores.json b/data/chains/V1/alfajores.json similarity index 100% rename from src/data/chains/V1/alfajores.json rename to data/chains/V1/alfajores.json diff --git a/src/data/chains/V1/amoy.json b/data/chains/V1/amoy.json similarity index 100% rename from src/data/chains/V1/amoy.json rename to data/chains/V1/amoy.json diff --git a/src/data/chains/V1/arbgoerli.json b/data/chains/V1/arbgoerli.json similarity index 100% rename from src/data/chains/V1/arbgoerli.json rename to data/chains/V1/arbgoerli.json diff --git a/src/data/chains/V1/arbone.json b/data/chains/V1/arbone.json similarity index 100% rename from src/data/chains/V1/arbone.json rename to data/chains/V1/arbone.json diff --git a/src/data/chains/V1/arbsepolia.json b/data/chains/V1/arbsepolia.json similarity index 100% rename from src/data/chains/V1/arbsepolia.json rename to data/chains/V1/arbsepolia.json diff --git a/src/data/chains/V1/arweave.json b/data/chains/V1/arweave.json similarity index 100% rename from src/data/chains/V1/arweave.json rename to data/chains/V1/arweave.json diff --git a/src/data/chains/V1/avalanche.json b/data/chains/V1/avalanche.json similarity index 100% rename from src/data/chains/V1/avalanche.json rename to data/chains/V1/avalanche.json diff --git a/src/data/chains/V1/base.json b/data/chains/V1/base.json similarity index 100% rename from src/data/chains/V1/base.json rename to data/chains/V1/base.json diff --git a/src/data/chains/V1/bitcoin.json b/data/chains/V1/bitcoin.json similarity index 100% rename from src/data/chains/V1/bitcoin.json rename to data/chains/V1/bitcoin.json diff --git a/src/data/chains/V1/bsc.json b/data/chains/V1/bsc.json similarity index 100% rename from src/data/chains/V1/bsc.json rename to data/chains/V1/bsc.json diff --git a/src/data/chains/V1/celo.json b/data/chains/V1/celo.json similarity index 100% rename from src/data/chains/V1/celo.json rename to data/chains/V1/celo.json diff --git a/dist/data_legacy.json b/data/chains/V1/chains.json similarity index 100% rename from dist/data_legacy.json rename to data/chains/V1/chains.json diff --git a/src/data/chains/V1/chapel.json b/data/chains/V1/chapel.json similarity index 100% rename from src/data/chains/V1/chapel.json rename to data/chains/V1/chapel.json diff --git a/src/data/chains/V1/chiado-cl.json b/data/chains/V1/chiado-cl.json similarity index 100% rename from src/data/chains/V1/chiado-cl.json rename to data/chains/V1/chiado-cl.json diff --git a/src/data/chains/V1/chiado.json b/data/chains/V1/chiado.json similarity index 100% rename from src/data/chains/V1/chiado.json rename to data/chains/V1/chiado.json diff --git a/src/data/chains/V1/cosmoshub.json b/data/chains/V1/cosmoshub.json similarity index 100% rename from src/data/chains/V1/cosmoshub.json rename to data/chains/V1/cosmoshub.json diff --git a/src/data/chains/V1/decimal.json b/data/chains/V1/decimal.json similarity index 100% rename from src/data/chains/V1/decimal.json rename to data/chains/V1/decimal.json diff --git a/src/data/chains/V1/eos.json b/data/chains/V1/eos.json similarity index 100% rename from src/data/chains/V1/eos.json rename to data/chains/V1/eos.json diff --git a/src/data/chains/V1/eth-cl.json b/data/chains/V1/eth-cl.json similarity index 100% rename from src/data/chains/V1/eth-cl.json rename to data/chains/V1/eth-cl.json diff --git a/src/data/chains/V1/eth.json b/data/chains/V1/eth.json similarity index 100% rename from src/data/chains/V1/eth.json rename to data/chains/V1/eth.json diff --git a/src/data/chains/V1/fantom.json b/data/chains/V1/fantom.json similarity index 100% rename from src/data/chains/V1/fantom.json rename to data/chains/V1/fantom.json diff --git a/src/data/chains/V1/gnosis-cl.json b/data/chains/V1/gnosis-cl.json similarity index 100% rename from src/data/chains/V1/gnosis-cl.json rename to data/chains/V1/gnosis-cl.json diff --git a/src/data/chains/V1/gnosis.json b/data/chains/V1/gnosis.json similarity index 100% rename from src/data/chains/V1/gnosis.json rename to data/chains/V1/gnosis.json diff --git a/src/data/chains/V1/goerli-cl.json b/data/chains/V1/goerli-cl.json similarity index 100% rename from src/data/chains/V1/goerli-cl.json rename to data/chains/V1/goerli-cl.json diff --git a/src/data/chains/V1/goerli.json b/data/chains/V1/goerli.json similarity index 100% rename from src/data/chains/V1/goerli.json rename to data/chains/V1/goerli.json diff --git a/src/data/chains/V1/holesky-cl.json b/data/chains/V1/holesky-cl.json similarity index 100% rename from src/data/chains/V1/holesky-cl.json rename to data/chains/V1/holesky-cl.json diff --git a/src/data/chains/V1/holesky.json b/data/chains/V1/holesky.json similarity index 100% rename from src/data/chains/V1/holesky.json rename to data/chains/V1/holesky.json diff --git a/src/data/chains/V1/jungle4.json b/data/chains/V1/jungle4.json similarity index 100% rename from src/data/chains/V1/jungle4.json rename to data/chains/V1/jungle4.json diff --git a/src/data/chains/V1/juno.json b/data/chains/V1/juno.json similarity index 100% rename from src/data/chains/V1/juno.json rename to data/chains/V1/juno.json diff --git a/src/data/chains/V1/kava.json b/data/chains/V1/kava.json similarity index 100% rename from src/data/chains/V1/kava.json rename to data/chains/V1/kava.json diff --git a/src/data/chains/V1/kylin.json b/data/chains/V1/kylin.json similarity index 100% rename from src/data/chains/V1/kylin.json rename to data/chains/V1/kylin.json diff --git a/src/data/chains/V1/moonbeam.json b/data/chains/V1/moonbeam.json similarity index 100% rename from src/data/chains/V1/moonbeam.json rename to data/chains/V1/moonbeam.json diff --git a/src/data/chains/V1/mumbai.json b/data/chains/V1/mumbai.json similarity index 100% rename from src/data/chains/V1/mumbai.json rename to data/chains/V1/mumbai.json diff --git a/src/data/chains/V1/near.json b/data/chains/V1/near.json similarity index 100% rename from src/data/chains/V1/near.json rename to data/chains/V1/near.json diff --git a/src/data/chains/V1/neartest.json b/data/chains/V1/neartest.json similarity index 100% rename from src/data/chains/V1/neartest.json rename to data/chains/V1/neartest.json diff --git a/src/data/chains/V1/optimism.json b/data/chains/V1/optimism.json similarity index 100% rename from src/data/chains/V1/optimism.json rename to data/chains/V1/optimism.json diff --git a/src/data/chains/V1/ore.json b/data/chains/V1/ore.json similarity index 100% rename from src/data/chains/V1/ore.json rename to data/chains/V1/ore.json diff --git a/src/data/chains/V1/orestage.json b/data/chains/V1/orestage.json similarity index 100% rename from src/data/chains/V1/orestage.json rename to data/chains/V1/orestage.json diff --git a/src/data/chains/V1/osmosis.json b/data/chains/V1/osmosis.json similarity index 100% rename from src/data/chains/V1/osmosis.json rename to data/chains/V1/osmosis.json diff --git a/src/data/chains/V1/polygon.json b/data/chains/V1/polygon.json similarity index 100% rename from src/data/chains/V1/polygon.json rename to data/chains/V1/polygon.json diff --git a/src/data/chains/V1/scroll.json b/data/chains/V1/scroll.json similarity index 100% rename from src/data/chains/V1/scroll.json rename to data/chains/V1/scroll.json diff --git a/src/data/chains/V1/sepolia-cl.json b/data/chains/V1/sepolia-cl.json similarity index 100% rename from src/data/chains/V1/sepolia-cl.json rename to data/chains/V1/sepolia-cl.json diff --git a/src/data/chains/V1/sepolia.json b/data/chains/V1/sepolia.json similarity index 100% rename from src/data/chains/V1/sepolia.json rename to data/chains/V1/sepolia.json diff --git a/src/data/chains/V1/starknet.json b/data/chains/V1/starknet.json similarity index 100% rename from src/data/chains/V1/starknet.json rename to data/chains/V1/starknet.json diff --git a/src/data/chains/V1/telos.json b/data/chains/V1/telos.json similarity index 100% rename from src/data/chains/V1/telos.json rename to data/chains/V1/telos.json diff --git a/src/data/chains/V1/telostest.json b/data/chains/V1/telostest.json similarity index 100% rename from src/data/chains/V1/telostest.json rename to data/chains/V1/telostest.json diff --git a/src/data/chains/V1/theta.json b/data/chains/V1/theta.json similarity index 100% rename from src/data/chains/V1/theta.json rename to data/chains/V1/theta.json diff --git a/src/data/chains/V1/ux.json b/data/chains/V1/ux.json similarity index 100% rename from src/data/chains/V1/ux.json rename to data/chains/V1/ux.json diff --git a/src/data/chains/V1/wax.json b/data/chains/V1/wax.json similarity index 100% rename from src/data/chains/V1/wax.json rename to data/chains/V1/wax.json diff --git a/src/data/chains/V1/waxtest.json b/data/chains/V1/waxtest.json similarity index 100% rename from src/data/chains/V1/waxtest.json rename to data/chains/V1/waxtest.json diff --git a/src/data/chains/V1/zkatana.json b/data/chains/V1/zkatana.json similarity index 100% rename from src/data/chains/V1/zkatana.json rename to data/chains/V1/zkatana.json diff --git a/src/data/chains/V2/arbone/arbgoerli/meta.ts b/data/chains/V2/arbone/arbgoerli/meta.ts similarity index 100% rename from src/data/chains/V2/arbone/arbgoerli/meta.ts rename to data/chains/V2/arbone/arbgoerli/meta.ts diff --git a/src/data/chains/V2/arbone/arbsepolia/meta.ts b/data/chains/V2/arbone/arbsepolia/meta.ts similarity index 100% rename from src/data/chains/V2/arbone/arbsepolia/meta.ts rename to data/chains/V2/arbone/arbsepolia/meta.ts diff --git a/src/data/chains/V2/arbone/meta.ts b/data/chains/V2/arbone/meta.ts similarity index 100% rename from src/data/chains/V2/arbone/meta.ts rename to data/chains/V2/arbone/meta.ts diff --git a/src/data/chains/V2/arweave/meta.ts b/data/chains/V2/arweave/meta.ts similarity index 100% rename from src/data/chains/V2/arweave/meta.ts rename to data/chains/V2/arweave/meta.ts diff --git a/src/data/chains/V2/avalanche/meta.ts b/data/chains/V2/avalanche/meta.ts similarity index 100% rename from src/data/chains/V2/avalanche/meta.ts rename to data/chains/V2/avalanche/meta.ts diff --git a/src/data/chains/V2/base/meta.ts b/data/chains/V2/base/meta.ts similarity index 100% rename from src/data/chains/V2/base/meta.ts rename to data/chains/V2/base/meta.ts diff --git a/src/data/chains/V2/bitcoin/meta.ts b/data/chains/V2/bitcoin/meta.ts similarity index 100% rename from src/data/chains/V2/bitcoin/meta.ts rename to data/chains/V2/bitcoin/meta.ts diff --git a/src/data/chains/V2/bsc/chapel/meta.ts b/data/chains/V2/bsc/chapel/meta.ts similarity index 100% rename from src/data/chains/V2/bsc/chapel/meta.ts rename to data/chains/V2/bsc/chapel/meta.ts diff --git a/src/data/chains/V2/bsc/meta.ts b/data/chains/V2/bsc/meta.ts similarity index 100% rename from src/data/chains/V2/bsc/meta.ts rename to data/chains/V2/bsc/meta.ts diff --git a/src/data/chains/V2/celo/alfajores/meta.ts b/data/chains/V2/celo/alfajores/meta.ts similarity index 100% rename from src/data/chains/V2/celo/alfajores/meta.ts rename to data/chains/V2/celo/alfajores/meta.ts diff --git a/src/data/chains/V2/celo/meta.ts b/data/chains/V2/celo/meta.ts similarity index 100% rename from src/data/chains/V2/celo/meta.ts rename to data/chains/V2/celo/meta.ts diff --git a/dist/data.json b/data/chains/V2/chains.json similarity index 74% rename from dist/data.json rename to data/chains/V2/chains.json index dda6919..53efa58 100644 --- a/dist/data.json +++ b/data/chains/V2/chains.json @@ -73,7 +73,28 @@ "deprecated_at": null } }, - "index": 2 + "index": 4 + }, + { + "id": "goerli", + "graph_id": null, + "name": "Goerli", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-03-21T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-03-21T00:00:00.000Z" + }, + "rpc": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-03-21T00:00:00.000Z" + } + }, + "index": 6 } ], "consensus_layers": [ @@ -92,7 +113,7 @@ "deprecated_at": null } }, - "index": 3 + "index": 2 }, { "id": "holesky-cl", @@ -109,7 +130,7 @@ "deprecated_at": null } }, - "index": 4 + "index": 3 }, { "id": "sepolia-cl", @@ -127,6 +148,23 @@ } }, "index": 5 + }, + { + "id": "goerli-cl", + "graph_id": null, + "name": "Goerli Consensus Layer", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-08T00:00:00.000Z" + }, + "substreams": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } + }, + "index": 7 } ] }, @@ -202,6 +240,27 @@ }, "index": 2000, "testnets": [ + { + "id": "amoy", + "graph_id": "polygon-amoy", + "name": "Amoy", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 2001 + }, { "id": "mumbai", "graph_id": null, @@ -221,7 +280,7 @@ "deprecated_at": "2024-04-12T00:00:00.000Z" } }, - "index": 2001 + "index": 2002 } ] }, @@ -402,6 +461,40 @@ } ] }, + { + "id": "avalanche", + "graph_id": "avalanche", + "name": "Avalanche", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/avalanche", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 5000 + }, { "id": "optimism", "graph_id": "optimism", @@ -434,7 +527,7 @@ "deprecated_at": null } }, - "index": 5000 + "index": 6000 }, { "id": "base", @@ -468,7 +561,41 @@ "deprecated_at": null } }, - "index": 6000 + "index": 7000 + }, + { + "id": "decimal", + "graph_id": null, + "name": "Decimal", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/decimal", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 8000 }, { "id": "gnosis", @@ -502,7 +629,7 @@ "deprecated_at": null } }, - "index": 7000, + "index": 9000, "consensus_layers": [ { "id": "gnosis-cl", @@ -519,10 +646,44 @@ "deprecated_at": null } }, - "index": 7001 + "index": 9001 } ] }, + { + "id": "fantom", + "graph_id": "fantom", + "name": "Fantom", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/fantom", + "brand_theme": "light", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 10000 + }, { "id": "celo", "graph_id": "celo", @@ -555,7 +716,7 @@ "deprecated_at": null } }, - "index": 8000, + "index": 11000, "testnets": [ { "id": "alfajores", @@ -576,7 +737,7 @@ "deprecated_at": null } }, - "index": 8001 + "index": 11001 } ] }, @@ -612,7 +773,7 @@ "deprecated_at": null } }, - "index": 9000, + "index": 12000, "testnets": [ { "id": "neartest", @@ -633,7 +794,7 @@ "deprecated_at": null } }, - "index": 9001 + "index": 12001 } ] }, @@ -669,7 +830,7 @@ "deprecated_at": null } }, - "index": 10000 + "index": 13000 }, { "id": "cosmoshub", @@ -703,7 +864,7 @@ "deprecated_at": null } }, - "index": 11000, + "index": 14000, "testnets": [ { "id": "theta", @@ -724,7 +885,28 @@ "deprecated_at": null } }, - "index": 11001 + "index": 14001 + }, + { + "id": "juno", + "graph_id": null, + "name": "Juno", + "alt_names": [], + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 14002 } ] }, @@ -760,7 +942,109 @@ "deprecated_at": null } }, - "index": 12000 + "index": 15000 + }, + { + "id": "moonbeam", + "graph_id": "moonbeam", + "name": "Moonbeam", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/moonbeam", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 16000 + }, + { + "id": "scroll", + "graph_id": "scroll", + "name": "Scroll", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/scroll", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 17000 + }, + { + "id": "starknet", + "graph_id": null, + "name": "Starknet", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/starknet", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 18000 }, { "id": "eos", @@ -793,7 +1077,7 @@ "deprecated_at": null } }, - "index": 13000, + "index": 19000, "testnets": [ { "id": "jungle4", @@ -814,7 +1098,7 @@ "deprecated_at": null } }, - "index": 13001 + "index": 19001 }, { "id": "kylin", @@ -835,7 +1119,7 @@ "deprecated_at": null } }, - "index": 13002 + "index": 19002 } ] }, @@ -871,7 +1155,7 @@ "deprecated_at": null } }, - "index": 14000, + "index": 20000, "testnets": [ { "id": "waxtest", @@ -892,7 +1176,7 @@ "deprecated_at": null } }, - "index": 14001 + "index": 20001 } ] }, @@ -928,7 +1212,7 @@ "deprecated_at": null } }, - "index": 15000, + "index": 21000, "testnets": [ { "id": "telostest", @@ -949,8 +1233,42 @@ "deprecated_at": null } }, - "index": 15001 + "index": 21001 } ] + }, + { + "id": "kava", + "graph_id": null, + "name": "Kava", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/kava", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "firehose": { + "released_at": null, + "deprecated_at": null + }, + "substreams": { + "released_at": null, + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 22000 } ] \ No newline at end of file diff --git a/src/data/chains/V2/cosmoshub/juno/meta.ts b/data/chains/V2/cosmoshub/juno/meta.ts similarity index 100% rename from src/data/chains/V2/cosmoshub/juno/meta.ts rename to data/chains/V2/cosmoshub/juno/meta.ts diff --git a/src/data/chains/V2/cosmoshub/meta.ts b/data/chains/V2/cosmoshub/meta.ts similarity index 100% rename from src/data/chains/V2/cosmoshub/meta.ts rename to data/chains/V2/cosmoshub/meta.ts diff --git a/src/data/chains/V2/cosmoshub/theta/meta.ts b/data/chains/V2/cosmoshub/theta/meta.ts similarity index 100% rename from src/data/chains/V2/cosmoshub/theta/meta.ts rename to data/chains/V2/cosmoshub/theta/meta.ts diff --git a/src/data/chains/V2/decimal/meta.ts b/data/chains/V2/decimal/meta.ts similarity index 100% rename from src/data/chains/V2/decimal/meta.ts rename to data/chains/V2/decimal/meta.ts diff --git a/src/data/chains/V2/eos/jungle4/meta.ts b/data/chains/V2/eos/jungle4/meta.ts similarity index 100% rename from src/data/chains/V2/eos/jungle4/meta.ts rename to data/chains/V2/eos/jungle4/meta.ts diff --git a/src/data/chains/V2/eos/kylin/meta.ts b/data/chains/V2/eos/kylin/meta.ts similarity index 100% rename from src/data/chains/V2/eos/kylin/meta.ts rename to data/chains/V2/eos/kylin/meta.ts diff --git a/src/data/chains/V2/eos/meta.ts b/data/chains/V2/eos/meta.ts similarity index 100% rename from src/data/chains/V2/eos/meta.ts rename to data/chains/V2/eos/meta.ts diff --git a/src/data/chains/V2/eth/eth-cl/meta.ts b/data/chains/V2/eth/eth-cl/meta.ts similarity index 100% rename from src/data/chains/V2/eth/eth-cl/meta.ts rename to data/chains/V2/eth/eth-cl/meta.ts diff --git a/src/data/chains/V2/eth/goerli-cl/meta.ts b/data/chains/V2/eth/goerli-cl/meta.ts similarity index 100% rename from src/data/chains/V2/eth/goerli-cl/meta.ts rename to data/chains/V2/eth/goerli-cl/meta.ts diff --git a/src/data/chains/V2/eth/goerli/meta.ts b/data/chains/V2/eth/goerli/meta.ts similarity index 100% rename from src/data/chains/V2/eth/goerli/meta.ts rename to data/chains/V2/eth/goerli/meta.ts diff --git a/src/data/chains/V2/eth/holesky-cl/meta.ts b/data/chains/V2/eth/holesky-cl/meta.ts similarity index 100% rename from src/data/chains/V2/eth/holesky-cl/meta.ts rename to data/chains/V2/eth/holesky-cl/meta.ts diff --git a/src/data/chains/V2/eth/holesky/meta.ts b/data/chains/V2/eth/holesky/meta.ts similarity index 100% rename from src/data/chains/V2/eth/holesky/meta.ts rename to data/chains/V2/eth/holesky/meta.ts diff --git a/src/data/chains/V2/eth/meta.ts b/data/chains/V2/eth/meta.ts similarity index 100% rename from src/data/chains/V2/eth/meta.ts rename to data/chains/V2/eth/meta.ts diff --git a/src/data/chains/V2/eth/sepolia-cl/meta.ts b/data/chains/V2/eth/sepolia-cl/meta.ts similarity index 100% rename from src/data/chains/V2/eth/sepolia-cl/meta.ts rename to data/chains/V2/eth/sepolia-cl/meta.ts diff --git a/src/data/chains/V2/eth/sepolia/meta.ts b/data/chains/V2/eth/sepolia/meta.ts similarity index 100% rename from src/data/chains/V2/eth/sepolia/meta.ts rename to data/chains/V2/eth/sepolia/meta.ts diff --git a/src/data/chains/V2/fantom/meta.ts b/data/chains/V2/fantom/meta.ts similarity index 100% rename from src/data/chains/V2/fantom/meta.ts rename to data/chains/V2/fantom/meta.ts diff --git a/src/data/chains/V2/gnosis/chiado-cl/meta.ts b/data/chains/V2/gnosis/chiado-cl/meta.ts similarity index 100% rename from src/data/chains/V2/gnosis/chiado-cl/meta.ts rename to data/chains/V2/gnosis/chiado-cl/meta.ts diff --git a/src/data/chains/V2/gnosis/chiado/meta.ts b/data/chains/V2/gnosis/chiado/meta.ts similarity index 100% rename from src/data/chains/V2/gnosis/chiado/meta.ts rename to data/chains/V2/gnosis/chiado/meta.ts diff --git a/src/data/chains/V2/gnosis/gnosis-cl/meta.ts b/data/chains/V2/gnosis/gnosis-cl/meta.ts similarity index 100% rename from src/data/chains/V2/gnosis/gnosis-cl/meta.ts rename to data/chains/V2/gnosis/gnosis-cl/meta.ts diff --git a/src/data/chains/V2/gnosis/meta.ts b/data/chains/V2/gnosis/meta.ts similarity index 100% rename from src/data/chains/V2/gnosis/meta.ts rename to data/chains/V2/gnosis/meta.ts diff --git a/src/data/chains/V2/index.ts b/data/chains/V2/index.ts similarity index 100% rename from src/data/chains/V2/index.ts rename to data/chains/V2/index.ts diff --git a/src/data/chains/V2/kava/meta.ts b/data/chains/V2/kava/meta.ts similarity index 100% rename from src/data/chains/V2/kava/meta.ts rename to data/chains/V2/kava/meta.ts diff --git a/src/data/chains/V2/moonbeam/meta.ts b/data/chains/V2/moonbeam/meta.ts similarity index 100% rename from src/data/chains/V2/moonbeam/meta.ts rename to data/chains/V2/moonbeam/meta.ts diff --git a/src/data/chains/V2/near/meta.ts b/data/chains/V2/near/meta.ts similarity index 100% rename from src/data/chains/V2/near/meta.ts rename to data/chains/V2/near/meta.ts diff --git a/src/data/chains/V2/near/neartest/meta.ts b/data/chains/V2/near/neartest/meta.ts similarity index 100% rename from src/data/chains/V2/near/neartest/meta.ts rename to data/chains/V2/near/neartest/meta.ts diff --git a/src/data/chains/V2/optimism/meta.ts b/data/chains/V2/optimism/meta.ts similarity index 100% rename from src/data/chains/V2/optimism/meta.ts rename to data/chains/V2/optimism/meta.ts diff --git a/src/data/chains/V2/osmosis/meta.ts b/data/chains/V2/osmosis/meta.ts similarity index 100% rename from src/data/chains/V2/osmosis/meta.ts rename to data/chains/V2/osmosis/meta.ts diff --git a/src/data/chains/V2/polygon/amoy/meta.ts b/data/chains/V2/polygon/amoy/meta.ts similarity index 100% rename from src/data/chains/V2/polygon/amoy/meta.ts rename to data/chains/V2/polygon/amoy/meta.ts diff --git a/src/data/chains/V2/polygon/meta.ts b/data/chains/V2/polygon/meta.ts similarity index 100% rename from src/data/chains/V2/polygon/meta.ts rename to data/chains/V2/polygon/meta.ts diff --git a/src/data/chains/V2/polygon/mumbai/meta.ts b/data/chains/V2/polygon/mumbai/meta.ts similarity index 100% rename from src/data/chains/V2/polygon/mumbai/meta.ts rename to data/chains/V2/polygon/mumbai/meta.ts diff --git a/src/data/chains/V2/scroll/meta.ts b/data/chains/V2/scroll/meta.ts similarity index 100% rename from src/data/chains/V2/scroll/meta.ts rename to data/chains/V2/scroll/meta.ts diff --git a/src/data/chains/V2/starknet/meta.ts b/data/chains/V2/starknet/meta.ts similarity index 100% rename from src/data/chains/V2/starknet/meta.ts rename to data/chains/V2/starknet/meta.ts diff --git a/src/data/chains/V2/telos/meta.ts b/data/chains/V2/telos/meta.ts similarity index 100% rename from src/data/chains/V2/telos/meta.ts rename to data/chains/V2/telos/meta.ts diff --git a/src/data/chains/V2/telos/telostest/meta.ts b/data/chains/V2/telos/telostest/meta.ts similarity index 100% rename from src/data/chains/V2/telos/telostest/meta.ts rename to data/chains/V2/telos/telostest/meta.ts diff --git a/src/data/chains/V2/wax/meta.ts b/data/chains/V2/wax/meta.ts similarity index 100% rename from src/data/chains/V2/wax/meta.ts rename to data/chains/V2/wax/meta.ts diff --git a/src/data/chains/V2/wax/waxtest/meta.ts b/data/chains/V2/wax/waxtest/meta.ts similarity index 100% rename from src/data/chains/V2/wax/waxtest/meta.ts rename to data/chains/V2/wax/waxtest/meta.ts diff --git a/data/index.config.ts b/data/index.config.ts new file mode 100644 index 0000000..fd20449 --- /dev/null +++ b/data/index.config.ts @@ -0,0 +1,42 @@ +// This file is partially auto-generated. +// Chains under ordered were manually placed, to manage the z-index (priority order) of chains. +// Chains under missing are generated from available data, make sure to order them. +// Include deprecated or future chains. +// Last generation on 5/8/2024, 7:18:57 PM. + +export default { + ordered: { + eth: [ + 'holesky', + 'eth-cl', + 'holesky-cl', + 'sepolia', + 'sepolia-cl', + 'goerli', + 'goerli-cl', + ], + bitcoin: [], + polygon: ['amoy', 'mumbai'], + bsc: ['chapel'], + arbone: ['arbgoerli', 'arbsepolia', 'chiado-cl', 'chiado'], + avalanche: [], + optimism: [], + base: [], + decimal: [], + gnosis: ['gnosis-cl'], + fantom: [], + celo: ['alfajores'], + near: ['neartest'], + arweave: [], + cosmoshub: ['theta', 'juno'], + osmosis: [], + moonbeam: [], + scroll: [], + starknet: [], + eos: ['jungle4', 'kylin'], + wax: ['waxtest'], + telos: ['telostest'], + kava: [], + }, + missing: [], +}; diff --git a/src/data/services.ts b/data/services.ts similarity index 100% rename from src/data/services.ts rename to data/services.ts diff --git a/dist/types.d.ts b/dist/types.d.ts deleted file mode 100644 index bb2bfa4..0000000 --- a/dist/types.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { BlockType } from '../src/types/block.types'; -import { - BaseChain, - Chain, - Testnet, - ConsensusLayer, -} from '../src/types/chain.types'; -import { GraphID } from '../src/types/graph.types'; -import { PinaxID } from '../src/types/pinax.types'; -import { - ServiceID, - ServiceEndpoint, - ServiceEndpointStatus, - SupportedServices, -} from '../src/types/service.types'; -import { Standard } from '../src/types/standard.types'; - -export { - BlockType, - BaseChain, - Chain, - Testnet, - ConsensusLayer, - GraphID as GraphId, - PinaxID as PinaxId, - ServiceID, - ServiceEndpoint, - ServiceEndpointStatus, - SupportedServices, - Standard, -}; diff --git a/docs/adding_updating_deprecating.md b/docs/adding_updating_deprecating.md index eb65be4..25ffdeb 100644 --- a/docs/adding_updating_deprecating.md +++ b/docs/adding_updating_deprecating.md @@ -1,10 +1,10 @@ ### Adding a new chain -Adding a new chain is as simple as adding a new file to the `src/data/chains` directory. The file should be named after the chain's official Pinax ID and should contain the metadata of the chain. The chain files are in Typescript, so make sure to cast them to the appropriate type to get the proper validations. +Adding a new chain is as simple as adding a new file to the `data/chains` directory. The file should be named after the chain's official Pinax ID and should contain the metadata of the chain. The chain files are in Typescript, so make sure to cast them to the appropriate type to get the proper validations. Also make sure to run the `npm run generate:type_pinaxid` and `npm run generate:data_json` commands to update the related types and index if you're encountering any type issue there. -If you're unsure about the fields you need to fill, you can have a look at the [Chain Type](/src/types/chain.types.ts) to learn more about the fields you need to fill. +If you're unsure about the fields you need to fill, you can have a look at the [Chain Type](/types/chain.types.ts) to learn more about the fields you need to fill. ### Updating an existing chain @@ -12,7 +12,7 @@ To update an existing chain, you can simply open a PR with the changes you want ### Adding / Validating Graph IDs -We use the `graph_id` field to match our chains to The Graph's. You can check the available graph IDs in the [Graphs](/src/types/graph.types.ts) file, which is [generated automatically](/scripts/generate/graphid_type.js) by fetching supported chains from The Graph's API. You can run `npm run generate:type_graphid` to update the graph IDs. +We use the `graph_id` field to match our chains to The Graph's. You can check the available graph IDs in the [Graphs](/types/graph.types.ts) file, which is [generated automatically](/scripts/generate/graphid_type.js) by fetching supported chains from The Graph's API. You can run `npm run generate:type_graphid` to update the graph IDs. ### Updating the Chain Type diff --git a/index.ts b/index.ts index 69e7057..542af60 100644 --- a/index.ts +++ b/index.ts @@ -1,4 +1,6 @@ -import * as data from './dist/types'; -import * as utils from './src/utils'; +import * as chains from './data/chains/V2/index'; +import * as services from './data/services'; +import * as types from './types'; +import * as utils from './utils'; -export default { data, utils }; +export default { chains, services, types, utils }; diff --git a/package.json b/package.json index 90f48b1..2a83069 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@pinax/chains", - "version": "2.0.2-rc1", + "version": "2.0.3-rc1", "description": "Single-source-of-truth for the metadata of chains supported by Pinax.", "keywords": [ "chains", @@ -11,16 +11,20 @@ "main": "data.json", "types": "data.d.ts", "files": [ - "dist/data.json", - "dist/data.d.ts", - "src/types/**.ts", - "src/utils/**/**.ts" + "index.ts", + "/utils/**/**.ts", + "/types/**.ts", + "/data/services.ts", + "/data/chains/V1/chains.json", + "/data/chains/V2/chains.json", + "/data/chains/V2/**/meta.ts" ], "scripts": { "fetch-graph-ids": "bun ./scripts/fetchGraphIDs.ts", "format": "prettier --log-level warn --write \"./**/*.{js,jsx,ts,tsx}\"", "generate": "bun run generate:data && bun run generate:types", - "generate:data": "bun run generate:data_index && bun run generate:data_json", + "generate:data": "bun run generate:data_index && bun run generate:index_config && bun run generate:data_json", + "generate:index_config": "bun ./scripts/generate/V2/index_config_check.ts", "generate:data_index": "bun ./scripts/generate/V2/data_index.ts", "generate:data_json": "bun ./scripts/generate/V2/data_json.ts", "generate:types": "bun run generate:type_graphid && bun run generate:type_pinaxid && bun run format", diff --git a/scripts/generate/V1/data_json.js b/scripts/generate/V1/data_json.js index 9a83827..4bd1e47 100644 --- a/scripts/generate/V1/data_json.js +++ b/scripts/generate/V1/data_json.js @@ -2,7 +2,7 @@ const fs = require('fs'); const path = require('path'); // Define the directory containing the JSON files -const directoryPath = path.join(__dirname, '../../../src/data/chains/V1'); +const directoryPath = path.join(__dirname, '../../../data/chains/V1'); // Read the directory fs.readdir(directoryPath, (err, files) => { @@ -14,6 +14,9 @@ fs.readdir(directoryPath, (err, files) => { // Loop through all the files in the directory files.forEach((file) => { + // Skip the chains.json file + if (file === 'chains.json') return; + // Only process .json files if (path.extname(file) === '.json') { // Read the JSON file @@ -25,7 +28,7 @@ fs.readdir(directoryPath, (err, files) => { // Write the combined data to a new JSON file fs.writeFileSync( - path.join('./dist/', 'data_legacy.json'), + path.join(directoryPath, 'chains.json'), JSON.stringify(data, null, 2), ); }); diff --git a/scripts/generate/V2/data_index.ts b/scripts/generate/V2/data_index.ts index 6ec5fd5..1e86301 100644 --- a/scripts/generate/V2/data_index.ts +++ b/scripts/generate/V2/data_index.ts @@ -1,14 +1,15 @@ import fs from 'fs'; import path from 'path'; -import { toCamelCase } from '../../../src/utils/case'; +import { toCamelCase } from '../../../utils/case'; console.log('🕑 Generating data index...'); -const dataDir = path.join(__dirname, '../../../src', 'data/chains/V2'); +const dataDir = path.join(__dirname, '../../../', 'data/chains/V2'); let indexContent = ''; fs.readdirSync(dataDir).forEach((mainnetDir) => { - if (mainnetDir === 'index.ts') return; // Ignore index.ts file + // Ignore index.ts and chains.json files + if (mainnetDir === 'index.ts' || mainnetDir === 'chains.json') return; const mainnetPath = path.join(dataDir, mainnetDir); const mainnetMetaPath = path.join(mainnetPath, 'meta.ts'); diff --git a/scripts/generate/V2/data_json.ts b/scripts/generate/V2/data_json.ts index 2f906b2..0e8c692 100644 --- a/scripts/generate/V2/data_json.ts +++ b/scripts/generate/V2/data_json.ts @@ -1,8 +1,10 @@ import fs from 'fs'; import path from 'path'; import bun from 'bun'; -import * as chainData from '../../../src/data/chains/V2/index'; -import { toCamelCase } from '../../../src/utils/case'; +import * as chainData from '../../../data/chains/V2/index'; +import { toCamelCase } from '../../../utils/case'; +import indexConf from '../../../data/index.config'; +import { IndexConfig } from './index_config_check'; interface Icon { id: string; variants: string[]; @@ -32,6 +34,13 @@ interface SubnetData { console.log('🕑 Generating data.json...'); +if (indexConf.missing.length > 0) { + console.log( + '⚠️ Missing chains detected. Please add them to the ./data/index.config.ts file.', + ); + process.exit(1); +} + const tokens: Token[] = JSON.parse( fs.readFileSync( path.resolve('node_modules/@token-icons/core/dist/metadata/tokens.json'), @@ -46,19 +55,10 @@ const networks: Network[] = JSON.parse( ), ); -const indexConfigPath = path.join( - __dirname, - '../../../src/configs/index.config.json', -); - -const indexConf: { [key: string]: string[] } = JSON.parse( - fs.readFileSync(indexConfigPath, 'utf8'), -); - const data: MainnetData[] = []; const warnings: string[] = []; -Object.keys(indexConf).forEach((mainnet, mainnetIndex) => { +Object.keys(indexConf.ordered).forEach((mainnet, mainnetIndex) => { // @ts-ignore const mainnetData: MainnetData = chainData[toCamelCase(mainnet)]; @@ -89,30 +89,32 @@ Object.keys(indexConf).forEach((mainnet, mainnetIndex) => { } } - indexConf[mainnet].forEach((subnet, subnetIndex) => { - // @ts-ignore - const subnetData: SubnetData = chainData[toCamelCase(subnet)]; - - subnetData.index = mainnetData.index + subnetIndex + 1; - - if (subnetData.id.indexOf('-cl') !== -1) { - if (!mainnetData.consensus_layers) mainnetData.consensus_layers = []; - mainnetData.consensus_layers.push(subnetData); - } else { - if (!mainnetData.testnets) mainnetData.testnets = []; - mainnetData.testnets.push(subnetData); - } - }); + (indexConf as IndexConfig).ordered[mainnet].forEach( + (subnet: any, subnetIndex: any) => { + // @ts-ignore + const subnetData: SubnetData = chainData[toCamelCase(subnet)]; + + subnetData.index = mainnetData.index + subnetIndex + 1; + + if (subnetData.id.indexOf('-cl') !== -1) { + if (!mainnetData.consensus_layers) mainnetData.consensus_layers = []; + mainnetData.consensus_layers.push(subnetData); + } else { + if (!mainnetData.testnets) mainnetData.testnets = []; + mainnetData.testnets.push(subnetData); + } + }, + ); data.push(mainnetData); }); -const distFolderPath = path.join(__dirname, '../../../dist'); -if (!fs.existsSync(distFolderPath)) { - fs.mkdirSync(distFolderPath); +const dataFolderPath = path.join(__dirname, '../../../data/chains/V2'); +if (!fs.existsSync(dataFolderPath)) { + fs.mkdirSync(dataFolderPath); } fs.writeFileSync( - path.join(distFolderPath, 'data.json'), + path.join(dataFolderPath, 'chains.json'), JSON.stringify(data, null, 2), ); @@ -120,5 +122,5 @@ if (warnings.length) { console.log(warnings.join('\n')); console.log(`☑️ Generated 'data.json' with ${warnings.length} warnings`); } else { - console.log(`✅ Successfully generated 'data.json'!`); + console.log(`✅ Successfully generated 'chains.json'! (V2)`); } diff --git a/scripts/generate/V2/index_config_check.ts b/scripts/generate/V2/index_config_check.ts new file mode 100644 index 0000000..9c7f914 --- /dev/null +++ b/scripts/generate/V2/index_config_check.ts @@ -0,0 +1,65 @@ +import fs from 'fs'; +import path from 'path'; +import config from '../../../data/index.config'; + +export type IndexConfig = { + ordered: { [key: string]: string[] }; + missing: string[]; +}; + +console.log('🕑 Checking integrity of index.config.ts...'); + +const configCast: IndexConfig = config; + +// Function to get directories recursively +const getDirectories = (basePath: string): Array => { + const directories: Array = []; + const files = fs.readdirSync(basePath, { withFileTypes: true }); + + for (const file of files) { + if (file.isDirectory()) { + const dirPath = path.join(basePath, file.name); + directories.push(dirPath.split(path.sep).pop() || ''); + + // Get subdirectories + const subdirectories: Array = getDirectories(dirPath); + directories.push(...subdirectories); + } + } + + return directories; +}; + +// Get the list of directories under /data/chains/V2/ +const chainsPath = './data/chains/V2'; +const directories = getDirectories(chainsPath); + +// Get the list of chains already in the config file +const existingChains = Object.keys(configCast.ordered); +existingChains.forEach((chain: string) => { + if (configCast.ordered[chain].length > 0) { + existingChains.push(...configCast.ordered[chain]); + } +}); + +// Find the missing chains +const missingChains = directories.filter( + (chain: string) => !existingChains.includes(chain), +); + +// Add the missing chains +configCast.missing = missingChains; + +// Notice for the generated file +const fileGenerationNotive = `// This file is partially auto-generated.\n// Chains under ordered were manually placed, to manage the z-index (priority order) of chains.\n// Chains under missing are generated from available data, make sure to order them.\n// Include deprecated or future chains. \n// Last generation on ${new Date().toLocaleString()}.`; + +// Write the updated config back to the file +fs.writeFileSync( + './data/index.config.ts', + [ + fileGenerationNotive, + `export default ${JSON.stringify(config, null, 2)}`, + ].join('\n\n'), +); + +console.log(`✅ Successfully checked index.config.ts integrity!`); diff --git a/scripts/generate/V2/type_graphid.ts b/scripts/generate/V2/type_graphid.ts index 460b474..5b5e697 100644 --- a/scripts/generate/V2/type_graphid.ts +++ b/scripts/generate/V2/type_graphid.ts @@ -1,7 +1,7 @@ import fs from 'fs'; import path from 'path'; -const typesDir = path.join(__dirname, '../../../src/types'); +const typesDir = path.join(__dirname, '../../../types'); const graphTypesFile = path.join(typesDir, 'graph.types.ts'); console.log('🕑 Generating GraphID type...'); diff --git a/scripts/generate/V2/type_pinaxid.ts b/scripts/generate/V2/type_pinaxid.ts index 3a8d14e..696f3c7 100644 --- a/scripts/generate/V2/type_pinaxid.ts +++ b/scripts/generate/V2/type_pinaxid.ts @@ -1,8 +1,8 @@ import fs from 'fs'; import path from 'path'; -const chainsDir = path.join(__dirname, '../../../src/data'); -const typesDir = path.join(__dirname, '../../../src/types'); +const chainsDir = path.join(__dirname, '../../../data'); +const typesDir = path.join(__dirname, '../../../types'); const pinaxTypesFile = path.join(typesDir, 'pinax.types.ts'); diff --git a/src/configs/index.config.json b/src/configs/index.config.json deleted file mode 100644 index db492fd..0000000 --- a/src/configs/index.config.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "eth": ["holesky", "sepolia", "eth-cl", "holesky-cl", "sepolia-cl"], - "bitcoin": [], - "polygon": ["mumbai"], - "bsc": ["chapel"], - "arbone": ["arbgoerli", "arbsepolia", "chiado-cl", "chiado"], - "optimism": [], - "base": [], - "gnosis": ["gnosis-cl"], - "celo": ["alfajores"], - "near": ["neartest"], - "arweave": [], - "cosmoshub": ["theta"], - "osmosis": [], - "eos": ["jungle4", "kylin"], - "wax": ["waxtest"], - "telos": ["telostest"] -} diff --git a/src/data/chains/index.ts b/src/data/chains/index.ts deleted file mode 100644 index 47f1bab..0000000 --- a/src/data/chains/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -export { default as arbone } from './V2/arbone/meta'; -export { default as arweave } from './V2/arweave/meta'; -export { default as avalanche } from './V2/avalanche/meta'; -export { default as base } from './V2/base/meta'; -export { default as bitcoin } from './V2/bitcoin/meta'; -export { default as bsc } from './V2/bsc/meta'; -export { default as celo } from './V2/celo/meta'; -export { default as cosmoshub } from './V2/cosmoshub/meta'; -export { default as decimal } from './V2/decimal/meta'; -export { default as eos } from './V2/eos/meta'; -export { default as eth } from './V2/eth/meta'; -export { default as fantom } from './V2/fantom/meta'; -export { default as gnosis } from './V2/gnosis/meta'; -export { default as kava } from './V2/kava/meta'; -export { default as moonbeam } from './V2/moonbeam/meta'; -export { default as near } from './V2/near/meta'; -export { default as optimism } from './V2/optimism/meta'; -export { default as osmosis } from './V2/osmosis/meta'; -export { default as polygon } from './V2/polygon/meta'; -export { default as scroll } from './V2/scroll/meta'; -export { default as starknet } from './V2/starknet/meta'; -export { default as telos } from './V2/telos/meta'; -export { default as wax } from './V2/wax/meta'; diff --git a/src/utils/index.ts b/src/utils/index.ts deleted file mode 100644 index 9c3a235..0000000 --- a/src/utils/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import * as chains from './chains'; - -export { chains }; diff --git a/src/tests/assert_chain_data_format.js b/tests/assert_chain_data_format.test.ts similarity index 100% rename from src/tests/assert_chain_data_format.js rename to tests/assert_chain_data_format.test.ts diff --git a/src/tests/assert_unexported_chains.js b/tests/assert_unexported_chains.test.ts similarity index 100% rename from src/tests/assert_unexported_chains.js rename to tests/assert_unexported_chains.test.ts diff --git a/src/tests/assert_unique_index.js b/tests/assert_unique_index.test.ts similarity index 100% rename from src/tests/assert_unique_index.js rename to tests/assert_unique_index.test.ts diff --git a/src/tests/assert_valid_icons.js b/tests/assert_valid_icons.test.ts similarity index 100% rename from src/tests/assert_valid_icons.js rename to tests/assert_valid_icons.test.ts diff --git a/test/no_substreams_wo_firehose.test.ts b/tests/no_substreams_wo_firehose.test.ts similarity index 100% rename from test/no_substreams_wo_firehose.test.ts rename to tests/no_substreams_wo_firehose.test.ts diff --git a/src/types/block.types.ts b/types/block.types.ts similarity index 100% rename from src/types/block.types.ts rename to types/block.types.ts diff --git a/src/types/chain.types.ts b/types/chain.types.ts similarity index 100% rename from src/types/chain.types.ts rename to types/chain.types.ts diff --git a/src/types/graph.types.ts b/types/graph.types.ts similarity index 96% rename from src/types/graph.types.ts rename to types/graph.types.ts index e67bc04..ef70459 100644 --- a/src/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 4:35:33 PM. +// Last generation on 5/8/2024, 7:18:58 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/index.ts b/types/index.ts new file mode 100644 index 0000000..8731225 --- /dev/null +++ b/types/index.ts @@ -0,0 +1,6 @@ +export * from './block.types'; +export * from './chain.types'; +export * from './graph.types'; +export * from './pinax.types'; +export * from './service.types'; +export * from './standard.types'; diff --git a/src/types/pinax.types.ts b/types/pinax.types.ts similarity index 94% rename from src/types/pinax.types.ts rename to types/pinax.types.ts index a974674..822ea56 100644 --- a/src/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 4:35:33 PM. +// Last generation on 5/8/2024, 7:18:58 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' diff --git a/src/types/service.types.ts b/types/service.types.ts similarity index 100% rename from src/types/service.types.ts rename to types/service.types.ts diff --git a/src/types/standard.types.ts b/types/standard.types.ts similarity index 100% rename from src/types/standard.types.ts rename to types/standard.types.ts diff --git a/src/utils/case.ts b/utils/case.ts similarity index 100% rename from src/utils/case.ts rename to utils/case.ts diff --git a/src/utils/chains.ts b/utils/chains.ts similarity index 100% rename from src/utils/chains.ts rename to utils/chains.ts diff --git a/utils/index.ts b/utils/index.ts new file mode 100644 index 0000000..5a6d971 --- /dev/null +++ b/utils/index.ts @@ -0,0 +1,4 @@ +import * as chains from './chains'; +import * as services from './service_configs'; + +export { chains, services }; diff --git a/src/utils/service_configs/firehose.ts b/utils/service_configs/firehose.ts similarity index 100% rename from src/utils/service_configs/firehose.ts rename to utils/service_configs/firehose.ts diff --git a/utils/service_configs/index.ts b/utils/service_configs/index.ts new file mode 100644 index 0000000..464fdb8 --- /dev/null +++ b/utils/service_configs/index.ts @@ -0,0 +1,3 @@ +export * as firehose from './firehose'; +export * as rpc from './rpc'; +export * as substreams from './substreams'; diff --git a/src/utils/service_configs/rpc.ts b/utils/service_configs/rpc.ts similarity index 100% rename from src/utils/service_configs/rpc.ts rename to utils/service_configs/rpc.ts diff --git a/src/utils/service_configs/substreams.ts b/utils/service_configs/substreams.ts similarity index 100% rename from src/utils/service_configs/substreams.ts rename to utils/service_configs/substreams.ts From e4c350ed4ad925d73194317fda0c67509e4a0d3b Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 8 May 2024 19:22:32 -0400 Subject: [PATCH 27/51] Updated package files --- data/index.config.ts | 2 +- package.json | 3 ++- types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/data/index.config.ts b/data/index.config.ts index fd20449..4485838 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 5/8/2024, 7:18:57 PM. +// Last generation on 5/8/2024, 7:22:32 PM. export default { ordered: { diff --git a/package.json b/package.json index 2a83069..29cdfcb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@pinax/chains", - "version": "2.0.3-rc1", + "version": "2.0.4-rc1", "description": "Single-source-of-truth for the metadata of chains supported by Pinax.", "keywords": [ "chains", @@ -16,6 +16,7 @@ "/types/**.ts", "/data/services.ts", "/data/chains/V1/chains.json", + "/data/chains/V2/index.ts", "/data/chains/V2/chains.json", "/data/chains/V2/**/meta.ts" ], diff --git a/types/graph.types.ts b/types/graph.types.ts index ef70459..f66f7df 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 7:18:58 PM. +// Last generation on 5/8/2024, 7:22:33 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 822ea56..1d72fe7 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 7:18:58 PM. +// Last generation on 5/8/2024, 7:22:33 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From 48d10f501a9908ed23e50cea6377ff1c3d42ded7 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 8 May 2024 20:07:08 -0400 Subject: [PATCH 28/51] Removed individual TS files as they do not contain all data and could cause confusion. --- data/chains/V2/chains.json | 6 +++--- data/index.config.ts | 4 ++-- index.ts | 3 +-- package.json | 4 +--- types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 6 files changed, 9 insertions(+), 12 deletions(-) diff --git a/data/chains/V2/chains.json b/data/chains/V2/chains.json index 53efa58..59ed5f8 100644 --- a/data/chains/V2/chains.json +++ b/data/chains/V2/chains.json @@ -73,7 +73,7 @@ "deprecated_at": null } }, - "index": 4 + "index": 2 }, { "id": "goerli", @@ -113,7 +113,7 @@ "deprecated_at": null } }, - "index": 2 + "index": 3 }, { "id": "holesky-cl", @@ -130,7 +130,7 @@ "deprecated_at": null } }, - "index": 3 + "index": 4 }, { "id": "sepolia-cl", diff --git a/data/index.config.ts b/data/index.config.ts index 4485838..2c8ccda 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,15 +2,15 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 5/8/2024, 7:22:32 PM. +// Last generation on 5/8/2024, 8:07:08 PM. export default { ordered: { eth: [ 'holesky', + 'sepolia', 'eth-cl', 'holesky-cl', - 'sepolia', 'sepolia-cl', 'goerli', 'goerli-cl', diff --git a/index.ts b/index.ts index 542af60..98bfbdc 100644 --- a/index.ts +++ b/index.ts @@ -1,6 +1,5 @@ -import * as chains from './data/chains/V2/index'; import * as services from './data/services'; import * as types from './types'; import * as utils from './utils'; -export default { chains, services, types, utils }; +export default { services, types, utils }; diff --git a/package.json b/package.json index 29cdfcb..95a9e3b 100644 --- a/package.json +++ b/package.json @@ -16,9 +16,7 @@ "/types/**.ts", "/data/services.ts", "/data/chains/V1/chains.json", - "/data/chains/V2/index.ts", - "/data/chains/V2/chains.json", - "/data/chains/V2/**/meta.ts" + "/data/chains/V2/chains.json" ], "scripts": { "fetch-graph-ids": "bun ./scripts/fetchGraphIDs.ts", diff --git a/types/graph.types.ts b/types/graph.types.ts index f66f7df..d77aadf 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 7:22:33 PM. +// Last generation on 5/8/2024, 8:07:09 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 1d72fe7..9a12e9f 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 7:22:33 PM. +// Last generation on 5/8/2024, 8:07:09 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From 7e70f3e3ac1f1f3f3ec441b07f51adec76039883 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 8 May 2024 20:12:34 -0400 Subject: [PATCH 29/51] Updated version --- data/index.config.ts | 2 +- package.json | 2 +- types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/index.config.ts b/data/index.config.ts index 2c8ccda..d6ee56d 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 5/8/2024, 8:07:08 PM. +// Last generation on 5/8/2024, 8:12:35 PM. export default { ordered: { diff --git a/package.json b/package.json index 95a9e3b..1738a70 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@pinax/chains", - "version": "2.0.4-rc1", + "version": "2.0.5-rc1", "description": "Single-source-of-truth for the metadata of chains supported by Pinax.", "keywords": [ "chains", diff --git a/types/graph.types.ts b/types/graph.types.ts index d77aadf..1b84d85 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 8:07:09 PM. +// Last generation on 5/8/2024, 8:12:35 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 9a12e9f..60de326 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 8:07:09 PM. +// Last generation on 5/8/2024, 8:12:35 PM. export type PinaxID = | 'arbgoerli' | 'arbsepolia' From b100fa0ddd2908395df5d61b58ed9408747570e0 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Fri, 10 May 2024 16:41:53 -0400 Subject: [PATCH 30/51] Moved testnets under testnets folder, moved consensus layers under consensus folder, added EVM support, which will show under evms folder. Adjusted Scripts --- .../arbone/{ => testnets}/arbgoerli/meta.ts | 7 +- .../arbone/{ => testnets}/arbsepolia/meta.ts | 7 +- .../V2/bsc/{ => testnets}/chapel/meta.ts | 7 +- .../V2/celo/{ => testnets}/alfajores/meta.ts | 7 +- data/chains/V2/chains.json | 225 ++++++++++++++---- .../V2/cosmoshub/{ => testnets}/juno/meta.ts | 7 +- .../V2/cosmoshub/{ => testnets}/theta/meta.ts | 7 +- data/chains/V2/eos/evms/eosevm/meta.ts | 29 +++ .../V2/eos/{ => testnets}/jungle4/meta.ts | 7 +- .../V2/eos/{ => testnets}/kylin/meta.ts | 7 +- .../V2/eth/{ => consensus}/eth-cl/meta.ts | 7 +- .../V2/eth/{ => consensus}/goerli-cl/meta.ts | 7 +- .../V2/eth/{ => consensus}/holesky-cl/meta.ts | 7 +- .../V2/eth/{ => consensus}/sepolia-cl/meta.ts | 7 +- .../V2/eth/{ => testnets}/goerli/meta.ts | 7 +- .../V2/eth/{ => testnets}/holesky/meta.ts | 7 +- .../V2/eth/{ => testnets}/sepolia/meta.ts | 7 +- .../gnosis/{ => consensus}/chiado-cl/meta.ts | 7 +- .../gnosis/{ => consensus}/gnosis-cl/meta.ts | 7 +- .../V2/gnosis/{ => testnets}/chiado/meta.ts | 7 +- data/chains/V2/index.ts | 47 ++-- .../V2/near/{ => testnets}/neartest/meta.ts | 7 +- .../V2/polygon/{ => testnets}/amoy/meta.ts | 7 +- .../V2/polygon/{ => testnets}/mumbai/meta.ts | 7 +- data/chains/V2/starknet/meta.ts | 8 +- .../V2/telos/{ => testnets}/telostest/meta.ts | 7 +- .../V2/wax/{ => testnets}/waxtest/meta.ts | 7 +- data/index.config.ts | 4 +- docs/beta_chains.md | 5 + docs/proposals/ops-product-sync.md | 7 +- docs/updating_dependent_products.md | 4 +- docs/updating_indexes.md | 2 +- scripts/generate/V2/data_index.ts | 15 +- scripts/generate/V2/data_json.ts | 41 ++-- scripts/generate/V2/index_config_check.ts | 8 +- scripts/generate/V2/match_legacy_data.ts | 7 +- scripts/generate/V2/type_pinaxid.ts | 15 +- types/chain.types.ts | 38 ++- types/graph.types.ts | 2 +- types/pinax.types.ts | 23 +- 40 files changed, 490 insertions(+), 151 deletions(-) rename data/chains/V2/arbone/{ => testnets}/arbgoerli/meta.ts (61%) rename data/chains/V2/arbone/{ => testnets}/arbsepolia/meta.ts (66%) rename data/chains/V2/bsc/{ => testnets}/chapel/meta.ts (64%) rename data/chains/V2/celo/{ => testnets}/alfajores/meta.ts (61%) rename data/chains/V2/cosmoshub/{ => testnets}/juno/meta.ts (62%) rename data/chains/V2/cosmoshub/{ => testnets}/theta/meta.ts (63%) create mode 100644 data/chains/V2/eos/evms/eosevm/meta.ts rename data/chains/V2/eos/{ => testnets}/jungle4/meta.ts (65%) rename data/chains/V2/eos/{ => testnets}/kylin/meta.ts (63%) rename data/chains/V2/eth/{ => consensus}/eth-cl/meta.ts (60%) rename data/chains/V2/eth/{ => consensus}/goerli-cl/meta.ts (62%) rename data/chains/V2/eth/{ => consensus}/holesky-cl/meta.ts (60%) rename data/chains/V2/eth/{ => consensus}/sepolia-cl/meta.ts (60%) rename data/chains/V2/eth/{ => testnets}/goerli/meta.ts (67%) rename data/chains/V2/eth/{ => testnets}/holesky/meta.ts (64%) rename data/chains/V2/eth/{ => testnets}/sepolia/meta.ts (65%) rename data/chains/V2/gnosis/{ => consensus}/chiado-cl/meta.ts (60%) rename data/chains/V2/gnosis/{ => consensus}/gnosis-cl/meta.ts (60%) rename data/chains/V2/gnosis/{ => testnets}/chiado/meta.ts (60%) rename data/chains/V2/near/{ => testnets}/neartest/meta.ts (65%) rename data/chains/V2/polygon/{ => testnets}/amoy/meta.ts (65%) rename data/chains/V2/polygon/{ => testnets}/mumbai/meta.ts (67%) rename data/chains/V2/telos/{ => testnets}/telostest/meta.ts (64%) rename data/chains/V2/wax/{ => testnets}/waxtest/meta.ts (64%) create mode 100644 docs/beta_chains.md diff --git a/data/chains/V2/arbone/arbgoerli/meta.ts b/data/chains/V2/arbone/testnets/arbgoerli/meta.ts similarity index 61% rename from data/chains/V2/arbone/arbgoerli/meta.ts rename to data/chains/V2/arbone/testnets/arbgoerli/meta.ts index 05f7553..6ed7227 100644 --- a/data/chains/V2/arbone/arbgoerli/meta.ts +++ b/data/chains/V2/arbone/testnets/arbgoerli/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'arbgoerli', graph_id: null, name: 'Arbitrum Goerli', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: null, diff --git a/data/chains/V2/arbone/arbsepolia/meta.ts b/data/chains/V2/arbone/testnets/arbsepolia/meta.ts similarity index 66% rename from data/chains/V2/arbone/arbsepolia/meta.ts rename to data/chains/V2/arbone/testnets/arbsepolia/meta.ts index 3977bdc..a6dc0be 100644 --- a/data/chains/V2/arbone/arbsepolia/meta.ts +++ b/data/chains/V2/arbone/testnets/arbsepolia/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'arbsepolia', graph_id: 'arbitrum-sepolia', name: 'Arbitrum Sepolia', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: '2024-05-03T00:00:00.000Z', diff --git a/data/chains/V2/bsc/chapel/meta.ts b/data/chains/V2/bsc/testnets/chapel/meta.ts similarity index 64% rename from data/chains/V2/bsc/chapel/meta.ts rename to data/chains/V2/bsc/testnets/chapel/meta.ts index 253f841..db7c725 100644 --- a/data/chains/V2/bsc/chapel/meta.ts +++ b/data/chains/V2/bsc/testnets/chapel/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'chapel', graph_id: 'chapel', name: 'Chapel', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: '2023-12-01T00:00:00.000Z', diff --git a/data/chains/V2/celo/alfajores/meta.ts b/data/chains/V2/celo/testnets/alfajores/meta.ts similarity index 61% rename from data/chains/V2/celo/alfajores/meta.ts rename to data/chains/V2/celo/testnets/alfajores/meta.ts index 6580e31..171b785 100644 --- a/data/chains/V2/celo/alfajores/meta.ts +++ b/data/chains/V2/celo/testnets/alfajores/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'alfajores', graph_id: null, name: 'Alfajores', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: null, diff --git a/data/chains/V2/chains.json b/data/chains/V2/chains.json index 59ed5f8..421d626 100644 --- a/data/chains/V2/chains.json +++ b/data/chains/V2/chains.json @@ -38,6 +38,11 @@ "graph_id": null, "name": "Holesky", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -59,6 +64,11 @@ "graph_id": "sepolia", "name": "Sepolia", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -80,6 +90,11 @@ "graph_id": null, "name": "Goerli", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -97,12 +112,17 @@ "index": 6 } ], - "consensus_layers": [ + "consensus": [ { "id": "eth-cl", "graph_id": null, "name": "Ethereum Consensus Layer", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": "2023-03-08T00:00:00.000Z", @@ -120,6 +140,11 @@ "graph_id": null, "name": "Holesky Consensus Layer", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": "2023-03-08T00:00:00.000Z", @@ -137,6 +162,11 @@ "graph_id": null, "name": "Sepolia Consensus Layer", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": "2023-03-08T00:00:00.000Z", @@ -154,6 +184,11 @@ "graph_id": null, "name": "Goerli Consensus Layer", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": "2023-03-08T00:00:00.000Z", @@ -202,7 +237,7 @@ "deprecated_at": null } }, - "index": 1000 + "index": 8 }, { "id": "polygon", @@ -238,13 +273,18 @@ "deprecated_at": null } }, - "index": 2000, + "index": 9, "testnets": [ { "id": "amoy", "graph_id": "polygon-amoy", "name": "Amoy", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": "2024-04-12T00:00:00.000Z", @@ -259,13 +299,18 @@ "deprecated_at": null } }, - "index": 2001 + "index": 10 }, { "id": "mumbai", "graph_id": null, "name": "Mumbai", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -280,7 +325,7 @@ "deprecated_at": "2024-04-12T00:00:00.000Z" } }, - "index": 2002 + "index": 11 } ] }, @@ -319,13 +364,18 @@ "deprecated_at": null } }, - "index": 3000, + "index": 12, "testnets": [ { "id": "chapel", "graph_id": "chapel", "name": "Chapel", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -340,7 +390,7 @@ "deprecated_at": null } }, - "index": 3001 + "index": 13 } ] }, @@ -375,13 +425,18 @@ "deprecated_at": null } }, - "index": 4000, + "index": 14, "testnets": [ { "id": "arbgoerli", "graph_id": null, "name": "Arbitrum Goerli", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": null, @@ -396,13 +451,18 @@ "deprecated_at": null } }, - "index": 4001 + "index": 15 }, { "id": "arbsepolia", "graph_id": "arbitrum-sepolia", "name": "Arbitrum Sepolia", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": "2024-05-03T00:00:00.000Z", @@ -417,13 +477,18 @@ "deprecated_at": null } }, - "index": 4002 + "index": 16 }, { "id": "chiado", "graph_id": null, "name": "Chiado", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": null, @@ -438,15 +503,20 @@ "deprecated_at": null } }, - "index": 4004 + "index": 18 } ], - "consensus_layers": [ + "consensus": [ { "id": "chiado-cl", "graph_id": null, "name": "Chiado Consensus Layer", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": "2023-03-08T00:00:00.000Z", @@ -457,7 +527,7 @@ "deprecated_at": null } }, - "index": 4003 + "index": 17 } ] }, @@ -493,7 +563,7 @@ "deprecated_at": null } }, - "index": 5000 + "index": 19 }, { "id": "optimism", @@ -527,7 +597,7 @@ "deprecated_at": null } }, - "index": 6000 + "index": 20 }, { "id": "base", @@ -561,7 +631,7 @@ "deprecated_at": null } }, - "index": 7000 + "index": 21 }, { "id": "decimal", @@ -595,7 +665,7 @@ "deprecated_at": null } }, - "index": 8000 + "index": 22 }, { "id": "gnosis", @@ -629,13 +699,18 @@ "deprecated_at": null } }, - "index": 9000, - "consensus_layers": [ + "index": 23, + "consensus": [ { "id": "gnosis-cl", "graph_id": null, "name": "Gnosis Consensus Layer", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": "2023-03-08T00:00:00.000Z", @@ -646,7 +721,7 @@ "deprecated_at": null } }, - "index": 9001 + "index": 24 } ] }, @@ -682,7 +757,7 @@ "deprecated_at": null } }, - "index": 10000 + "index": 25 }, { "id": "celo", @@ -716,13 +791,18 @@ "deprecated_at": null } }, - "index": 11000, + "index": 26, "testnets": [ { "id": "alfajores", "graph_id": null, "name": "Alfajores", "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, "supported_services": { "firehose": { "released_at": null, @@ -737,7 +817,7 @@ "deprecated_at": null } }, - "index": 11001 + "index": 27 } ] }, @@ -773,13 +853,18 @@ "deprecated_at": null } }, - "index": 12000, + "index": 28, "testnets": [ { "id": "neartest", "graph_id": "near-testnet", "name": "Near-testnet", "alt_names": [], + "standard": "near", + "block_type": { + "label": "sf.near.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -794,7 +879,7 @@ "deprecated_at": null } }, - "index": 12001 + "index": 29 } ] }, @@ -830,7 +915,7 @@ "deprecated_at": null } }, - "index": 13000 + "index": 30 }, { "id": "cosmoshub", @@ -864,13 +949,18 @@ "deprecated_at": null } }, - "index": 14000, + "index": 31, "testnets": [ { "id": "theta", "graph_id": "theta-testnet-001", "name": "Theta", "alt_names": [], + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -885,13 +975,18 @@ "deprecated_at": null } }, - "index": 14001 + "index": 32 }, { "id": "juno", "graph_id": null, "name": "Juno", "alt_names": [], + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -906,7 +1001,7 @@ "deprecated_at": null } }, - "index": 14002 + "index": 33 } ] }, @@ -942,7 +1037,7 @@ "deprecated_at": null } }, - "index": 15000 + "index": 34 }, { "id": "moonbeam", @@ -976,7 +1071,7 @@ "deprecated_at": null } }, - "index": 16000 + "index": 35 }, { "id": "scroll", @@ -1010,7 +1105,7 @@ "deprecated_at": null } }, - "index": 17000 + "index": 36 }, { "id": "starknet", @@ -1044,7 +1139,7 @@ "deprecated_at": null } }, - "index": 18000 + "index": 37 }, { "id": "eos", @@ -1077,13 +1172,46 @@ "deprecated_at": null } }, - "index": 19000, + "index": 38, + "evms": [ + { + "id": "eosevm", + "graph_id": null, + "name": "EOS EVM", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "supported_services": { + "firehose": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": null, + "deprecated_at": null + } + }, + "index": 39 + } + ], "testnets": [ { "id": "jungle4", "graph_id": null, "name": "Jungle4", "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -1098,13 +1226,18 @@ "deprecated_at": null } }, - "index": 19001 + "index": 40 }, { "id": "kylin", "graph_id": null, "name": "Kylin", "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -1119,7 +1252,7 @@ "deprecated_at": null } }, - "index": 19002 + "index": 41 } ] }, @@ -1155,13 +1288,18 @@ "deprecated_at": null } }, - "index": 20000, + "index": 42, "testnets": [ { "id": "waxtest", "graph_id": null, "name": "WAX Test", "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -1176,7 +1314,7 @@ "deprecated_at": null } }, - "index": 20001 + "index": 43 } ] }, @@ -1212,13 +1350,18 @@ "deprecated_at": null } }, - "index": 21000, + "index": 44, "testnets": [ { "id": "telostest", "graph_id": null, "name": "Telos Test", "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, "supported_services": { "firehose": { "released_at": "2023-12-01T00:00:00.000Z", @@ -1233,7 +1376,7 @@ "deprecated_at": null } }, - "index": 21001 + "index": 45 } ] }, @@ -1269,6 +1412,6 @@ "deprecated_at": null } }, - "index": 22000 + "index": 46 } ] \ No newline at end of file diff --git a/data/chains/V2/cosmoshub/juno/meta.ts b/data/chains/V2/cosmoshub/testnets/juno/meta.ts similarity index 62% rename from data/chains/V2/cosmoshub/juno/meta.ts rename to data/chains/V2/cosmoshub/testnets/juno/meta.ts index 6e76cf2..0a46223 100644 --- a/data/chains/V2/cosmoshub/juno/meta.ts +++ b/data/chains/V2/cosmoshub/testnets/juno/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'juno', graph_id: null, name: 'Juno', alt_names: [], + standard: 'cosmos', + block_type: { + label: 'sf.cosmos.type.v1.Block', + url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', + }, supported_services: { firehose: { released_at: '2023-12-01T00:00:00.000Z', diff --git a/data/chains/V2/cosmoshub/theta/meta.ts b/data/chains/V2/cosmoshub/testnets/theta/meta.ts similarity index 63% rename from data/chains/V2/cosmoshub/theta/meta.ts rename to data/chains/V2/cosmoshub/testnets/theta/meta.ts index e3b87d3..ef65e04 100644 --- a/data/chains/V2/cosmoshub/theta/meta.ts +++ b/data/chains/V2/cosmoshub/testnets/theta/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'theta', graph_id: 'theta-testnet-001', name: 'Theta', alt_names: [], + standard: 'cosmos', + block_type: { + label: 'sf.cosmos.type.v1.Block', + url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', + }, supported_services: { firehose: { released_at: '2023-12-01T00:00:00.000Z', diff --git a/data/chains/V2/eos/evms/eosevm/meta.ts b/data/chains/V2/eos/evms/eosevm/meta.ts new file mode 100644 index 0000000..fb1717d --- /dev/null +++ b/data/chains/V2/eos/evms/eosevm/meta.ts @@ -0,0 +1,29 @@ +import { EVM } from '../../../../../../types/chain.types'; + +const meta: EVM = { + id: 'eosevm', + graph_id: null, + name: 'EOS EVM', + alt_names: [], + standard: 'antelope', + block_type: { + label: 'sf.antelope.type.v1.Block', + url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', + }, + supported_services: { + firehose: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/data/chains/V2/eos/jungle4/meta.ts b/data/chains/V2/eos/testnets/jungle4/meta.ts similarity index 65% rename from data/chains/V2/eos/jungle4/meta.ts rename to data/chains/V2/eos/testnets/jungle4/meta.ts index cbab796..edefd1b 100644 --- a/data/chains/V2/eos/jungle4/meta.ts +++ b/data/chains/V2/eos/testnets/jungle4/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'jungle4', graph_id: null, name: 'Jungle4', alt_names: [], + standard: 'antelope', + block_type: { + label: 'sf.antelope.type.v1.Block', + url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', + }, supported_services: { firehose: { released_at: '2023-12-01T00:00:00.000Z', diff --git a/data/chains/V2/eos/kylin/meta.ts b/data/chains/V2/eos/testnets/kylin/meta.ts similarity index 63% rename from data/chains/V2/eos/kylin/meta.ts rename to data/chains/V2/eos/testnets/kylin/meta.ts index 2c1a579..feeb480 100644 --- a/data/chains/V2/eos/kylin/meta.ts +++ b/data/chains/V2/eos/testnets/kylin/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'kylin', graph_id: null, name: 'Kylin', alt_names: [], + standard: 'antelope', + block_type: { + label: 'sf.antelope.type.v1.Block', + url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', + }, supported_services: { firehose: { released_at: '2023-12-01T00:00:00.000Z', diff --git a/data/chains/V2/eth/eth-cl/meta.ts b/data/chains/V2/eth/consensus/eth-cl/meta.ts similarity index 60% rename from data/chains/V2/eth/eth-cl/meta.ts rename to data/chains/V2/eth/consensus/eth-cl/meta.ts index 82e6709..b735f75 100644 --- a/data/chains/V2/eth/eth-cl/meta.ts +++ b/data/chains/V2/eth/consensus/eth-cl/meta.ts @@ -1,10 +1,15 @@ -import { ConsensusLayer } from '../../../../../types/chain.types'; +import { ConsensusLayer } from '../../../../../../types/chain.types'; const meta: ConsensusLayer = { id: 'eth-cl', graph_id: null, name: 'Ethereum Consensus Layer', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: '2023-03-08T00:00:00.000Z', diff --git a/data/chains/V2/eth/goerli-cl/meta.ts b/data/chains/V2/eth/consensus/goerli-cl/meta.ts similarity index 62% rename from data/chains/V2/eth/goerli-cl/meta.ts rename to data/chains/V2/eth/consensus/goerli-cl/meta.ts index 3fa4409..1b34cb0 100644 --- a/data/chains/V2/eth/goerli-cl/meta.ts +++ b/data/chains/V2/eth/consensus/goerli-cl/meta.ts @@ -1,10 +1,15 @@ -import { ConsensusLayer } from '../../../../../types/chain.types'; +import { ConsensusLayer } from '../../../../../../types/chain.types'; const meta: ConsensusLayer = { id: 'goerli-cl', graph_id: null, name: 'Goerli Consensus Layer', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: '2023-03-08T00:00:00.000Z', diff --git a/data/chains/V2/eth/holesky-cl/meta.ts b/data/chains/V2/eth/consensus/holesky-cl/meta.ts similarity index 60% rename from data/chains/V2/eth/holesky-cl/meta.ts rename to data/chains/V2/eth/consensus/holesky-cl/meta.ts index e5a3de9..c49233c 100644 --- a/data/chains/V2/eth/holesky-cl/meta.ts +++ b/data/chains/V2/eth/consensus/holesky-cl/meta.ts @@ -1,10 +1,15 @@ -import { ConsensusLayer } from '../../../../../types/chain.types'; +import { ConsensusLayer } from '../../../../../../types/chain.types'; const meta: ConsensusLayer = { id: 'holesky-cl', graph_id: null, name: 'Holesky Consensus Layer', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: '2023-03-08T00:00:00.000Z', diff --git a/data/chains/V2/eth/sepolia-cl/meta.ts b/data/chains/V2/eth/consensus/sepolia-cl/meta.ts similarity index 60% rename from data/chains/V2/eth/sepolia-cl/meta.ts rename to data/chains/V2/eth/consensus/sepolia-cl/meta.ts index ed64c1a..4b9880e 100644 --- a/data/chains/V2/eth/sepolia-cl/meta.ts +++ b/data/chains/V2/eth/consensus/sepolia-cl/meta.ts @@ -1,10 +1,15 @@ -import { ConsensusLayer } from '../../../../../types/chain.types'; +import { ConsensusLayer } from '../../../../../../types/chain.types'; const meta: ConsensusLayer = { id: 'sepolia-cl', graph_id: null, name: 'Sepolia Consensus Layer', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: '2023-03-08T00:00:00.000Z', diff --git a/data/chains/V2/eth/goerli/meta.ts b/data/chains/V2/eth/testnets/goerli/meta.ts similarity index 67% rename from data/chains/V2/eth/goerli/meta.ts rename to data/chains/V2/eth/testnets/goerli/meta.ts index 79cd79d..aba0008 100644 --- a/data/chains/V2/eth/goerli/meta.ts +++ b/data/chains/V2/eth/testnets/goerli/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'goerli', graph_id: null, name: 'Goerli', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: '2023-12-01T00:00:00.000Z', diff --git a/data/chains/V2/eth/holesky/meta.ts b/data/chains/V2/eth/testnets/holesky/meta.ts similarity index 64% rename from data/chains/V2/eth/holesky/meta.ts rename to data/chains/V2/eth/testnets/holesky/meta.ts index df8e203..ae250e1 100644 --- a/data/chains/V2/eth/holesky/meta.ts +++ b/data/chains/V2/eth/testnets/holesky/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'holesky', graph_id: null, name: 'Holesky', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: '2023-12-01T00:00:00.000Z', diff --git a/data/chains/V2/eth/sepolia/meta.ts b/data/chains/V2/eth/testnets/sepolia/meta.ts similarity index 65% rename from data/chains/V2/eth/sepolia/meta.ts rename to data/chains/V2/eth/testnets/sepolia/meta.ts index 2eb3af7..159431b 100644 --- a/data/chains/V2/eth/sepolia/meta.ts +++ b/data/chains/V2/eth/testnets/sepolia/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'sepolia', graph_id: 'sepolia', name: 'Sepolia', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: '2023-12-01T00:00:00.000Z', diff --git a/data/chains/V2/gnosis/chiado-cl/meta.ts b/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts similarity index 60% rename from data/chains/V2/gnosis/chiado-cl/meta.ts rename to data/chains/V2/gnosis/consensus/chiado-cl/meta.ts index a173f7f..c455649 100644 --- a/data/chains/V2/gnosis/chiado-cl/meta.ts +++ b/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts @@ -1,10 +1,15 @@ -import { ConsensusLayer } from '../../../../../types/chain.types'; +import { ConsensusLayer } from '../../../../../../types/chain.types'; const meta: ConsensusLayer = { id: 'chiado-cl', graph_id: null, name: 'Chiado Consensus Layer', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: '2023-03-08T00:00:00.000Z', diff --git a/data/chains/V2/gnosis/gnosis-cl/meta.ts b/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts similarity index 60% rename from data/chains/V2/gnosis/gnosis-cl/meta.ts rename to data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts index f4d188d..e3c1fa1 100644 --- a/data/chains/V2/gnosis/gnosis-cl/meta.ts +++ b/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts @@ -1,10 +1,15 @@ -import { ConsensusLayer } from '../../../../../types/chain.types'; +import { ConsensusLayer } from '../../../../../../types/chain.types'; const meta: ConsensusLayer = { id: 'gnosis-cl', graph_id: null, name: 'Gnosis Consensus Layer', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: '2023-03-08T00:00:00.000Z', diff --git a/data/chains/V2/gnosis/chiado/meta.ts b/data/chains/V2/gnosis/testnets/chiado/meta.ts similarity index 60% rename from data/chains/V2/gnosis/chiado/meta.ts rename to data/chains/V2/gnosis/testnets/chiado/meta.ts index 2ab4bc1..8c78003 100644 --- a/data/chains/V2/gnosis/chiado/meta.ts +++ b/data/chains/V2/gnosis/testnets/chiado/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'chiado', graph_id: null, name: 'Chiado', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: null, diff --git a/data/chains/V2/index.ts b/data/chains/V2/index.ts index 309f866..dddd044 100644 --- a/data/chains/V2/index.ts +++ b/data/chains/V2/index.ts @@ -1,46 +1,47 @@ export { default as arbone } from './arbone/meta'; -export { default as arbgoerli } from './arbone/arbgoerli/meta'; -export { default as arbsepolia } from './arbone/arbsepolia/meta'; +export { default as arbgoerli } from './arbone/testnets/arbgoerli/meta'; +export { default as arbsepolia } from './arbone/testnets/arbsepolia/meta'; export { default as arweave } from './arweave/meta'; export { default as avalanche } from './avalanche/meta'; export { default as base } from './base/meta'; export { default as bitcoin } from './bitcoin/meta'; export { default as bsc } from './bsc/meta'; -export { default as chapel } from './bsc/chapel/meta'; +export { default as chapel } from './bsc/testnets/chapel/meta'; export { default as celo } from './celo/meta'; -export { default as alfajores } from './celo/alfajores/meta'; +export { default as alfajores } from './celo/testnets/alfajores/meta'; export { default as cosmoshub } from './cosmoshub/meta'; -export { default as juno } from './cosmoshub/juno/meta'; -export { default as theta } from './cosmoshub/theta/meta'; +export { default as juno } from './cosmoshub/testnets/juno/meta'; +export { default as theta } from './cosmoshub/testnets/theta/meta'; export { default as decimal } from './decimal/meta'; export { default as eos } from './eos/meta'; -export { default as jungle4 } from './eos/jungle4/meta'; -export { default as kylin } from './eos/kylin/meta'; +export { default as jungle4 } from './eos/testnets/jungle4/meta'; +export { default as kylin } from './eos/testnets/kylin/meta'; +export { default as eosevm } from './eos/evms/eosevm/meta'; export { default as eth } from './eth/meta'; -export { default as ethCl } from './eth/eth-cl/meta'; -export { default as goerli } from './eth/goerli/meta'; -export { default as goerliCl } from './eth/goerli-cl/meta'; -export { default as holesky } from './eth/holesky/meta'; -export { default as holeskyCl } from './eth/holesky-cl/meta'; -export { default as sepolia } from './eth/sepolia/meta'; -export { default as sepoliaCl } from './eth/sepolia-cl/meta'; +export { default as goerli } from './eth/testnets/goerli/meta'; +export { default as holesky } from './eth/testnets/holesky/meta'; +export { default as sepolia } from './eth/testnets/sepolia/meta'; +export { default as ethCl } from './eth/consensus/eth-cl/meta'; +export { default as goerliCl } from './eth/consensus/goerli-cl/meta'; +export { default as holeskyCl } from './eth/consensus/holesky-cl/meta'; +export { default as sepoliaCl } from './eth/consensus/sepolia-cl/meta'; export { default as fantom } from './fantom/meta'; export { default as gnosis } from './gnosis/meta'; -export { default as chiado } from './gnosis/chiado/meta'; -export { default as chiadoCl } from './gnosis/chiado-cl/meta'; -export { default as gnosisCl } from './gnosis/gnosis-cl/meta'; +export { default as chiado } from './gnosis/testnets/chiado/meta'; +export { default as chiadoCl } from './gnosis/consensus/chiado-cl/meta'; +export { default as gnosisCl } from './gnosis/consensus/gnosis-cl/meta'; export { default as kava } from './kava/meta'; export { default as moonbeam } from './moonbeam/meta'; export { default as near } from './near/meta'; -export { default as neartest } from './near/neartest/meta'; +export { default as neartest } from './near/testnets/neartest/meta'; export { default as optimism } from './optimism/meta'; export { default as osmosis } from './osmosis/meta'; export { default as polygon } from './polygon/meta'; -export { default as amoy } from './polygon/amoy/meta'; -export { default as mumbai } from './polygon/mumbai/meta'; +export { default as amoy } from './polygon/testnets/amoy/meta'; +export { default as mumbai } from './polygon/testnets/mumbai/meta'; export { default as scroll } from './scroll/meta'; export { default as starknet } from './starknet/meta'; export { default as telos } from './telos/meta'; -export { default as telostest } from './telos/telostest/meta'; +export { default as telostest } from './telos/testnets/telostest/meta'; export { default as wax } from './wax/meta'; -export { default as waxtest } from './wax/waxtest/meta'; +export { default as waxtest } from './wax/testnets/waxtest/meta'; diff --git a/data/chains/V2/near/neartest/meta.ts b/data/chains/V2/near/testnets/neartest/meta.ts similarity index 65% rename from data/chains/V2/near/neartest/meta.ts rename to data/chains/V2/near/testnets/neartest/meta.ts index e2763e0..e1470bb 100644 --- a/data/chains/V2/near/neartest/meta.ts +++ b/data/chains/V2/near/testnets/neartest/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'neartest', graph_id: 'near-testnet', name: 'Near-testnet', alt_names: [], + standard: 'near', + block_type: { + label: 'sf.near.type.v1.Block', + url: 'https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1', + }, supported_services: { firehose: { released_at: '2023-12-01T00:00:00.000Z', diff --git a/data/chains/V2/polygon/amoy/meta.ts b/data/chains/V2/polygon/testnets/amoy/meta.ts similarity index 65% rename from data/chains/V2/polygon/amoy/meta.ts rename to data/chains/V2/polygon/testnets/amoy/meta.ts index 7f9094d..32723cc 100644 --- a/data/chains/V2/polygon/amoy/meta.ts +++ b/data/chains/V2/polygon/testnets/amoy/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'amoy', graph_id: 'polygon-amoy', name: 'Amoy', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: '2024-04-12T00:00:00.000Z', diff --git a/data/chains/V2/polygon/mumbai/meta.ts b/data/chains/V2/polygon/testnets/mumbai/meta.ts similarity index 67% rename from data/chains/V2/polygon/mumbai/meta.ts rename to data/chains/V2/polygon/testnets/mumbai/meta.ts index 1fb010f..0d0c62d 100644 --- a/data/chains/V2/polygon/mumbai/meta.ts +++ b/data/chains/V2/polygon/testnets/mumbai/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'mumbai', graph_id: null, name: 'Mumbai', alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, supported_services: { firehose: { released_at: '2023-12-01T00:00:00.000Z', diff --git a/data/chains/V2/starknet/meta.ts b/data/chains/V2/starknet/meta.ts index 90a7853..cd81d86 100644 --- a/data/chains/V2/starknet/meta.ts +++ b/data/chains/V2/starknet/meta.ts @@ -3,14 +3,16 @@ import { Chain } from '../../../../types/chain.types'; const meta: Chain = { id: 'starknet', graph_id: null, - name: 'Starknet', - alt_names: [], - standard: 'erc20', + name: 'Starknet', // missing + alt_names: [], // missing + standard: 'erc20', // missing block_type: { + // missing label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, icon: { + // missing id: 'networks/starknet', brand_theme: 'both', }, diff --git a/data/chains/V2/telos/telostest/meta.ts b/data/chains/V2/telos/testnets/telostest/meta.ts similarity index 64% rename from data/chains/V2/telos/telostest/meta.ts rename to data/chains/V2/telos/testnets/telostest/meta.ts index 6b49468..c201bd6 100644 --- a/data/chains/V2/telos/telostest/meta.ts +++ b/data/chains/V2/telos/testnets/telostest/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'telostest', graph_id: null, name: 'Telos Test', alt_names: [], + standard: 'antelope', + block_type: { + label: 'sf.antelope.type.v1.Block', + url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', + }, supported_services: { firehose: { released_at: '2023-12-01T00:00:00.000Z', diff --git a/data/chains/V2/wax/waxtest/meta.ts b/data/chains/V2/wax/testnets/waxtest/meta.ts similarity index 64% rename from data/chains/V2/wax/waxtest/meta.ts rename to data/chains/V2/wax/testnets/waxtest/meta.ts index e4f2506..c0b4812 100644 --- a/data/chains/V2/wax/waxtest/meta.ts +++ b/data/chains/V2/wax/testnets/waxtest/meta.ts @@ -1,10 +1,15 @@ -import { Testnet } from '../../../../../types/chain.types'; +import { Testnet } from '../../../../../../types/chain.types'; const meta: Testnet = { id: 'waxtest', graph_id: null, name: 'WAX Test', alt_names: [], + standard: 'antelope', + block_type: { + label: 'sf.antelope.type.v1.Block', + url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', + }, supported_services: { firehose: { released_at: '2023-12-01T00:00:00.000Z', diff --git a/data/index.config.ts b/data/index.config.ts index d6ee56d..588b6f6 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 5/8/2024, 8:12:35 PM. +// Last generation on 5/10/2024, 4:41:53 PM. export default { ordered: { @@ -33,7 +33,7 @@ export default { moonbeam: [], scroll: [], starknet: [], - eos: ['jungle4', 'kylin'], + eos: ['eosevm', 'jungle4', 'kylin'], wax: ['waxtest'], telos: ['telostest'], kava: [], diff --git a/docs/beta_chains.md b/docs/beta_chains.md new file mode 100644 index 0000000..24de515 --- /dev/null +++ b/docs/beta_chains.md @@ -0,0 +1,5 @@ +# Beta Chains + +Beta chains are chains that are not yet officially supported by Pinax. These chains are not yet available in the Pinax UI, but endpoints are available for developers to use. + +Any chain that has a file here is considered a beta chain, until it has a release data and is not deprecated. \ No newline at end of file diff --git a/docs/proposals/ops-product-sync.md b/docs/proposals/ops-product-sync.md index 95cae54..039896f 100644 --- a/docs/proposals/ops-product-sync.md +++ b/docs/proposals/ops-product-sync.md @@ -89,9 +89,12 @@ TBD "testnets": [ // Array of simplified chain objects ], - "consensus_layers": [ + "consensus": [ // Array of simplified chain objects - ] + ], + "evms": [ + // Array of simplified chain objects + ], } ``` diff --git a/docs/updating_dependent_products.md b/docs/updating_dependent_products.md index 2c73dcb..ea94871 100644 --- a/docs/updating_dependent_products.md +++ b/docs/updating_dependent_products.md @@ -4,5 +4,5 @@ To update the dependent products, you simply need to publish a new version of th To keep things in sync, make sure to update ALL of the following products at the same time: -- [App](https://github.com/pinax-network/app) -- [Website](https://github.com/pinax-network/website) \ No newline at end of file +- [App](https://github.com/pinax-network/app-frontend) +- [Website](https://github.com/pinax-network/website-frontend) \ No newline at end of file diff --git a/docs/updating_indexes.md b/docs/updating_indexes.md index 52b3715..2cacfb3 100644 --- a/docs/updating_indexes.md +++ b/docs/updating_indexes.md @@ -1,3 +1,3 @@ # Updating Indexes -To display the chains in the UI, each chain has an index score that is used to sort the chains. To reorganize the chains, you can update the [index.config.json](../configs/index.config.json) file. \ No newline at end of file +To display the chains in the UI, each chain has an index score that is used to sort the chains. To reorganize the chains, you can update the [index.config.ts](../data/index.config.ts) file. \ No newline at end of file diff --git a/scripts/generate/V2/data_index.ts b/scripts/generate/V2/data_index.ts index 1e86301..5689c83 100644 --- a/scripts/generate/V2/data_index.ts +++ b/scripts/generate/V2/data_index.ts @@ -18,12 +18,17 @@ fs.readdirSync(dataDir).forEach((mainnetDir) => { indexContent += `export { default as ${toCamelCase(mainnetDir)} } from './${mainnetDir}/meta';\n`; } - fs.readdirSync(mainnetPath).forEach((testnetDir) => { - const testnetPath = path.join(mainnetPath, testnetDir); - const testnetMetaPath = path.join(testnetPath, 'meta.ts'); + ['testnets', 'consensus', 'evms'].forEach((subnetType) => { + const subnetPath = path.join(mainnetPath, subnetType); - if (fs.existsSync(testnetMetaPath)) { - indexContent += `export { default as ${toCamelCase(testnetDir)} } from './${mainnetDir}/${testnetDir}/meta';\n`; + if (fs.existsSync(subnetPath)) { + fs.readdirSync(subnetPath).forEach((subnetDir) => { + const subnetMetaPath = path.join(subnetPath, subnetDir, 'meta.ts'); + + if (fs.existsSync(subnetMetaPath)) { + indexContent += `export { default as ${toCamelCase(subnetDir)} } from './${mainnetDir}/${subnetType}/${subnetDir}/meta';\n`; + } + }); } }); }); diff --git a/scripts/generate/V2/data_json.ts b/scripts/generate/V2/data_json.ts index 0e8c692..b29bfbc 100644 --- a/scripts/generate/V2/data_json.ts +++ b/scripts/generate/V2/data_json.ts @@ -5,6 +5,7 @@ import * as chainData from '../../../data/chains/V2/index'; import { toCamelCase } from '../../../utils/case'; import indexConf from '../../../data/index.config'; import { IndexConfig } from './index_config_check'; + interface Icon { id: string; variants: string[]; @@ -23,8 +24,9 @@ interface Token { interface MainnetData { index: number; icon: Icon; - consensus_layers?: SubnetData[]; + consensus?: SubnetData[]; testnets?: SubnetData[]; + evms?: SubnetData[]; } interface SubnetData { @@ -58,11 +60,13 @@ const networks: Network[] = JSON.parse( const data: MainnetData[] = []; const warnings: string[] = []; +let indexCounter = 0; + Object.keys(indexConf.ordered).forEach((mainnet, mainnetIndex) => { // @ts-ignore const mainnetData: MainnetData = chainData[toCamelCase(mainnet)]; - mainnetData.index = mainnetIndex * 1000; + mainnetData.index = indexCounter++; if (mainnetData.icon.id.indexOf('tokens') !== -1) { const iconMeta = tokens.find( @@ -89,22 +93,23 @@ Object.keys(indexConf.ordered).forEach((mainnet, mainnetIndex) => { } } - (indexConf as IndexConfig).ordered[mainnet].forEach( - (subnet: any, subnetIndex: any) => { - // @ts-ignore - const subnetData: SubnetData = chainData[toCamelCase(subnet)]; - - subnetData.index = mainnetData.index + subnetIndex + 1; - - if (subnetData.id.indexOf('-cl') !== -1) { - if (!mainnetData.consensus_layers) mainnetData.consensus_layers = []; - mainnetData.consensus_layers.push(subnetData); - } else { - if (!mainnetData.testnets) mainnetData.testnets = []; - mainnetData.testnets.push(subnetData); - } - }, - ); + (indexConf as IndexConfig).ordered[mainnet].forEach((subnet: any) => { + // @ts-ignore + const subnetData: SubnetData = chainData[toCamelCase(subnet)]; + + subnetData.index = indexCounter++; + + if (subnetData.id.indexOf('-cl') !== -1) { + if (!mainnetData.consensus) mainnetData.consensus = []; + mainnetData.consensus.push(subnetData); + } else if (subnetData.id.indexOf('evm') !== -1) { + if (!mainnetData.evms) mainnetData.evms = []; + mainnetData.evms.push(subnetData); + } else { + if (!mainnetData.testnets) mainnetData.testnets = []; + mainnetData.testnets.push(subnetData); + } + }); data.push(mainnetData); }); diff --git a/scripts/generate/V2/index_config_check.ts b/scripts/generate/V2/index_config_check.ts index 9c7f914..affb61a 100644 --- a/scripts/generate/V2/index_config_check.ts +++ b/scripts/generate/V2/index_config_check.ts @@ -12,17 +12,19 @@ console.log('🕑 Checking integrity of index.config.ts...'); const configCast: IndexConfig = config; // Function to get directories recursively -const getDirectories = (basePath: string): Array => { +const getDirectories = (basePath: string, depth: number = 0): Array => { const directories: Array = []; const files = fs.readdirSync(basePath, { withFileTypes: true }); for (const file of files) { if (file.isDirectory()) { const dirPath = path.join(basePath, file.name); - directories.push(dirPath.split(path.sep).pop() || ''); + if (depth === 0 || depth === 2) { + directories.push(dirPath.split(path.sep).pop() || ''); + } // Get subdirectories - const subdirectories: Array = getDirectories(dirPath); + const subdirectories: Array = getDirectories(dirPath, depth + 1); directories.push(...subdirectories); } } diff --git a/scripts/generate/V2/match_legacy_data.ts b/scripts/generate/V2/match_legacy_data.ts index 1775e67..81684e3 100644 --- a/scripts/generate/V2/match_legacy_data.ts +++ b/scripts/generate/V2/match_legacy_data.ts @@ -18,7 +18,7 @@ for (let legacyChain of dataLegacy) { if (!chain) { let mainnetChain = data.find((c: any) => c.id === legacyChain.mainnet); if (mainnetChain) { - // Check both testnets and consensus_layers arrays within that mainnet + // Check both testnets and consensus arrays within that mainnet if ( mainnetChain.testnets?.find((t: any) => t.id === legacyChain.id) !== undefined @@ -26,9 +26,8 @@ for (let legacyChain of dataLegacy) { continue; } if ( - mainnetChain.consensus_layers?.find( - (c: any) => c.id === legacyChain.id, - ) !== undefined + mainnetChain.consensus?.find((c: any) => c.id === legacyChain.id) !== + undefined ) { continue; } diff --git a/scripts/generate/V2/type_pinaxid.ts b/scripts/generate/V2/type_pinaxid.ts index 696f3c7..e11c620 100644 --- a/scripts/generate/V2/type_pinaxid.ts +++ b/scripts/generate/V2/type_pinaxid.ts @@ -33,7 +33,20 @@ function readDir(directory: string): string[] { } // Read the directory and subdirectories -const fileNames = readDir(chainsDir); +const mainnetNames = readDir(chainsDir); + +// Read the subnets directories +const subnetTypes = ['testnets', 'consensus', 'evms']; +let subnetNames: string[] = []; +subnetTypes.forEach((subnetType) => { + const subnetDir = path.join(chainsDir, subnetType); + if (fs.existsSync(subnetDir)) { + subnetNames = subnetNames.concat(readDir(subnetDir)); + } +}); + +// Combine mainnet and subnet names +const fileNames = mainnetNames.concat(subnetNames); // Generate the PinaxId type definition const pinaxIdType = `// This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies.\n// Do not modify manually as it will be overwritten.\n// Last generation on ${new Date().toLocaleString()}.\nexport type PinaxID = '${fileNames.join("' | '")}'`; diff --git a/types/chain.types.ts b/types/chain.types.ts index cc0ef99..b80821e 100644 --- a/types/chain.types.ts +++ b/types/chain.types.ts @@ -11,6 +11,9 @@ export type ChainBase = { // Testnet Name name: string; + // Alternative Names + alt_names: string[]; + // The Graph ID // See docs/retrieve_graph_ids.md graph_id: GraphID | null; @@ -18,8 +21,16 @@ export type ChainBase = { // Display Priority, lower is higher index?: number; - // Alternative Names - alt_names: string[]; + // Chain Standard (ie. ERC20) + standard: Standard | null; + + // Block Type + block_type: BlockType; +}; + +export type Testnet = ChainBase & { + // Whether or not the chain supports our existing services + supported_services: SupportedServices; }; export type ConsensusLayer = ChainBase & { @@ -28,7 +39,8 @@ export type ConsensusLayer = ChainBase & { // (Firehose, Substreams), and not for the RPC service itself. supported_services: ConsensusLayerServices; }; -export type Testnet = ChainBase & { + +export type EVM = ChainBase & { // Whether or not the chain supports our existing services supported_services: SupportedServices; }; @@ -40,12 +52,6 @@ export type Testnet = ChainBase & { * the generated fields. */ export interface Chain extends ChainBase { - // Chain Standard (ie. ERC20) - standard: Standard | null; - - // Block Type - block_type: BlockType; - icon: { // Token Icon ID id: string; @@ -64,8 +70,18 @@ export interface Chain extends ChainBase { testnets?: Array; // Merged by ./scripts/generate/data_json.js - consensus_layers?: Array; + consensus?: Array; + + // Merge by ./scripts/generate/data_json.js + evms?: Array; // Any additional metadata we want to store (ie. Wagmi) - // metadata: any | null; + metadata?: { + // Layer of the chain + layer?: 'L0' | 'L1' | 'L2' | 'L3'; + + // Mainchain ID, if the chain is a sidechain + // Either a PinaxID or a string, as the mainchain may not be in the list of chains + mainchain_id?: PinaxID | string; + }; } diff --git a/types/graph.types.ts b/types/graph.types.ts index 1b84d85..8f74aac 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 8:12:35 PM. +// Last generation on 5/10/2024, 4:41:54 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 60de326..1903c37 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,46 +1,47 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/8/2024, 8:12:35 PM. +// Last generation on 5/10/2024, 4:41:54 PM. export type PinaxID = + | 'arbone' | 'arbgoerli' | 'arbsepolia' - | 'arbone' | 'arweave' | 'avalanche' | 'base' | 'bitcoin' - | 'chapel' | 'bsc' - | 'alfajores' + | 'chapel' | 'celo' - | 'juno' + | 'alfajores' | 'cosmoshub' + | 'juno' | 'theta' | 'decimal' + | 'eosevm' + | 'eos' | 'jungle4' | 'kylin' - | 'eos' | 'eth-cl' - | 'goerli' | 'goerli-cl' - | 'holesky' | 'holesky-cl' + | 'sepolia-cl' | 'eth' + | 'goerli' + | 'holesky' | 'sepolia' - | 'sepolia-cl' | 'fantom' - | 'chiado' | 'chiado-cl' | 'gnosis-cl' | 'gnosis' + | 'chiado' | 'kava' | 'moonbeam' | 'near' | 'neartest' | 'optimism' | 'osmosis' - | 'amoy' | 'polygon' + | 'amoy' | 'mumbai' | 'scroll' | 'starknet' From 582f05cc05406326ca2757f6b407cb47fa86de54 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Fri, 10 May 2024 17:30:16 -0400 Subject: [PATCH 31/51] Added Copy Token Icons Script --- data/chains/V2/arbone/arbone.branded.svg | 6 ++ data/chains/V2/arbone/arbone.mono.svg | 6 ++ data/chains/V2/arbone/meta.ts | 2 +- data/chains/V2/arweave/arweave.branded.svg | 4 + data/chains/V2/arweave/arweave.mono.svg | 4 + data/chains/V2/arweave/meta.ts | 2 +- .../chains/V2/avalanche/avalanche.branded.svg | 3 + data/chains/V2/avalanche/avalanche.mono.svg | 3 + data/chains/V2/base/base.branded.svg | 3 + data/chains/V2/base/base.mono.svg | 3 + data/chains/V2/bitcoin/bitcoin.branded.svg | 3 + data/chains/V2/bitcoin/bitcoin.mono.svg | 3 + data/chains/V2/bitcoin/meta.ts | 2 +- data/chains/V2/bsc/bsc.branded.svg | 3 + data/chains/V2/bsc/bsc.mono.svg | 3 + data/chains/V2/celo/celo.branded.svg | 3 + data/chains/V2/celo/celo.mono.svg | 3 + data/chains/V2/chains.json | 65 +++++----------- .../chains/V2/cosmoshub/cosmoshub.branded.svg | 3 + data/chains/V2/cosmoshub/cosmoshub.mono.svg | 3 + data/chains/V2/decimal/decimal.branded.svg | 10 +++ data/chains/V2/decimal/decimal.mono.svg | 3 + data/chains/V2/decimal/meta.ts | 2 +- data/chains/V2/eos/eos.mono.svg | 3 + data/chains/V2/eth/eth.branded.svg | 10 +++ data/chains/V2/eth/eth.mono.svg | 6 ++ data/chains/V2/fantom/fantom.branded.svg | 4 + data/chains/V2/fantom/fantom.mono.svg | 4 + data/chains/V2/gnosis/gnosis.branded.svg | 3 + data/chains/V2/gnosis/gnosis.mono.svg | 3 + data/chains/V2/gnosis/meta.ts | 2 +- data/chains/V2/kava/kava.branded.svg | 3 + data/chains/V2/kava/kava.mono.svg | 3 + data/chains/V2/moonbeam/moonbeam.branded.svg | 4 + data/chains/V2/moonbeam/moonbeam.mono.svg | 3 + data/chains/V2/near/near.branded.svg | 3 + data/chains/V2/near/near.mono.svg | 3 + data/chains/V2/optimism/meta.ts | 2 +- data/chains/V2/optimism/optimism.branded.svg | 3 + data/chains/V2/optimism/optimism.mono.svg | 3 + data/chains/V2/osmosis/meta.ts | 2 +- data/chains/V2/osmosis/osmosis.branded.svg | 75 +++++++++++++++++++ data/chains/V2/osmosis/osmosis.mono.svg | 6 ++ data/chains/V2/polygon/meta.ts | 2 +- data/chains/V2/polygon/polygon.branded.svg | 10 +++ data/chains/V2/polygon/polygon.mono.svg | 3 + data/chains/V2/scroll/scroll.branded.svg | 7 ++ data/chains/V2/scroll/scroll.mono.svg | 5 ++ data/chains/V2/starknet/starknet.branded.svg | 13 ++++ data/chains/V2/starknet/starknet.mono.svg | 3 + data/chains/V2/telos/telos.branded.svg | 15 ++++ data/chains/V2/telos/telos.mono.svg | 3 + data/chains/V2/wax/meta.ts | 2 +- data/chains/V2/wax/wax.branded.svg | 3 + data/chains/V2/wax/wax.mono.svg | 3 + data/index.config.ts | 2 +- package.json | 4 +- scripts/generate/V2/copy_token_icons.ts | 53 +++++++++++++ types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 60 files changed, 356 insertions(+), 63 deletions(-) create mode 100644 data/chains/V2/arbone/arbone.branded.svg create mode 100644 data/chains/V2/arbone/arbone.mono.svg create mode 100644 data/chains/V2/arweave/arweave.branded.svg create mode 100644 data/chains/V2/arweave/arweave.mono.svg create mode 100644 data/chains/V2/avalanche/avalanche.branded.svg create mode 100644 data/chains/V2/avalanche/avalanche.mono.svg create mode 100644 data/chains/V2/base/base.branded.svg create mode 100644 data/chains/V2/base/base.mono.svg create mode 100644 data/chains/V2/bitcoin/bitcoin.branded.svg create mode 100644 data/chains/V2/bitcoin/bitcoin.mono.svg create mode 100644 data/chains/V2/bsc/bsc.branded.svg create mode 100644 data/chains/V2/bsc/bsc.mono.svg create mode 100644 data/chains/V2/celo/celo.branded.svg create mode 100644 data/chains/V2/celo/celo.mono.svg create mode 100644 data/chains/V2/cosmoshub/cosmoshub.branded.svg create mode 100644 data/chains/V2/cosmoshub/cosmoshub.mono.svg create mode 100644 data/chains/V2/decimal/decimal.branded.svg create mode 100644 data/chains/V2/decimal/decimal.mono.svg create mode 100644 data/chains/V2/eos/eos.mono.svg create mode 100644 data/chains/V2/eth/eth.branded.svg create mode 100644 data/chains/V2/eth/eth.mono.svg create mode 100644 data/chains/V2/fantom/fantom.branded.svg create mode 100644 data/chains/V2/fantom/fantom.mono.svg create mode 100644 data/chains/V2/gnosis/gnosis.branded.svg create mode 100644 data/chains/V2/gnosis/gnosis.mono.svg create mode 100644 data/chains/V2/kava/kava.branded.svg create mode 100644 data/chains/V2/kava/kava.mono.svg create mode 100644 data/chains/V2/moonbeam/moonbeam.branded.svg create mode 100644 data/chains/V2/moonbeam/moonbeam.mono.svg create mode 100644 data/chains/V2/near/near.branded.svg create mode 100644 data/chains/V2/near/near.mono.svg create mode 100644 data/chains/V2/optimism/optimism.branded.svg create mode 100644 data/chains/V2/optimism/optimism.mono.svg create mode 100644 data/chains/V2/osmosis/osmosis.branded.svg create mode 100644 data/chains/V2/osmosis/osmosis.mono.svg create mode 100644 data/chains/V2/polygon/polygon.branded.svg create mode 100644 data/chains/V2/polygon/polygon.mono.svg create mode 100644 data/chains/V2/scroll/scroll.branded.svg create mode 100644 data/chains/V2/scroll/scroll.mono.svg create mode 100644 data/chains/V2/starknet/starknet.branded.svg create mode 100644 data/chains/V2/starknet/starknet.mono.svg create mode 100644 data/chains/V2/telos/telos.branded.svg create mode 100644 data/chains/V2/telos/telos.mono.svg create mode 100644 data/chains/V2/wax/wax.branded.svg create mode 100644 data/chains/V2/wax/wax.mono.svg create mode 100644 scripts/generate/V2/copy_token_icons.ts diff --git a/data/chains/V2/arbone/arbone.branded.svg b/data/chains/V2/arbone/arbone.branded.svg new file mode 100644 index 0000000..360279a --- /dev/null +++ b/data/chains/V2/arbone/arbone.branded.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/data/chains/V2/arbone/arbone.mono.svg b/data/chains/V2/arbone/arbone.mono.svg new file mode 100644 index 0000000..7da8405 --- /dev/null +++ b/data/chains/V2/arbone/arbone.mono.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/data/chains/V2/arbone/meta.ts b/data/chains/V2/arbone/meta.ts index 68c4af0..9cfa58f 100644 --- a/data/chains/V2/arbone/meta.ts +++ b/data/chains/V2/arbone/meta.ts @@ -11,7 +11,7 @@ const meta: Chain = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, icon: { - id: 'tokens/arbitrum', + id: 'tokens/arbi', brand_theme: 'both', }, supported_services: { diff --git a/data/chains/V2/arweave/arweave.branded.svg b/data/chains/V2/arweave/arweave.branded.svg new file mode 100644 index 0000000..2612559 --- /dev/null +++ b/data/chains/V2/arweave/arweave.branded.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/arweave/arweave.mono.svg b/data/chains/V2/arweave/arweave.mono.svg new file mode 100644 index 0000000..cfc6fac --- /dev/null +++ b/data/chains/V2/arweave/arweave.mono.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/arweave/meta.ts b/data/chains/V2/arweave/meta.ts index 4b08748..13fca78 100644 --- a/data/chains/V2/arweave/meta.ts +++ b/data/chains/V2/arweave/meta.ts @@ -11,7 +11,7 @@ const meta: Chain = { url: 'https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1', }, icon: { - id: 'tokens/arweave', + id: 'tokens/ar', brand_theme: 'dark', }, supported_services: { diff --git a/data/chains/V2/avalanche/avalanche.branded.svg b/data/chains/V2/avalanche/avalanche.branded.svg new file mode 100644 index 0000000..8bd623e --- /dev/null +++ b/data/chains/V2/avalanche/avalanche.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/avalanche/avalanche.mono.svg b/data/chains/V2/avalanche/avalanche.mono.svg new file mode 100644 index 0000000..c3d0cc4 --- /dev/null +++ b/data/chains/V2/avalanche/avalanche.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/base/base.branded.svg b/data/chains/V2/base/base.branded.svg new file mode 100644 index 0000000..0da53fa --- /dev/null +++ b/data/chains/V2/base/base.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/base/base.mono.svg b/data/chains/V2/base/base.mono.svg new file mode 100644 index 0000000..7da8b77 --- /dev/null +++ b/data/chains/V2/base/base.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/bitcoin/bitcoin.branded.svg b/data/chains/V2/bitcoin/bitcoin.branded.svg new file mode 100644 index 0000000..1482f66 --- /dev/null +++ b/data/chains/V2/bitcoin/bitcoin.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/bitcoin/bitcoin.mono.svg b/data/chains/V2/bitcoin/bitcoin.mono.svg new file mode 100644 index 0000000..079304b --- /dev/null +++ b/data/chains/V2/bitcoin/bitcoin.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/bitcoin/meta.ts b/data/chains/V2/bitcoin/meta.ts index e10fb59..74c0af4 100644 --- a/data/chains/V2/bitcoin/meta.ts +++ b/data/chains/V2/bitcoin/meta.ts @@ -11,7 +11,7 @@ const meta: Chain = { url: 'https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1', }, icon: { - id: 'tokens/bitcoin', + id: 'tokens/btc', brand_theme: 'both', }, supported_services: { diff --git a/data/chains/V2/bsc/bsc.branded.svg b/data/chains/V2/bsc/bsc.branded.svg new file mode 100644 index 0000000..13c355c --- /dev/null +++ b/data/chains/V2/bsc/bsc.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/bsc/bsc.mono.svg b/data/chains/V2/bsc/bsc.mono.svg new file mode 100644 index 0000000..745075c --- /dev/null +++ b/data/chains/V2/bsc/bsc.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/celo/celo.branded.svg b/data/chains/V2/celo/celo.branded.svg new file mode 100644 index 0000000..b985af8 --- /dev/null +++ b/data/chains/V2/celo/celo.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/celo/celo.mono.svg b/data/chains/V2/celo/celo.mono.svg new file mode 100644 index 0000000..32edcd7 --- /dev/null +++ b/data/chains/V2/celo/celo.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/chains.json b/data/chains/V2/chains.json index 421d626..53a12db 100644 --- a/data/chains/V2/chains.json +++ b/data/chains/V2/chains.json @@ -216,12 +216,8 @@ "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" }, "icon": { - "id": "tokens/bitcoin", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] + "id": "tokens/btc", + "brand_theme": "both" }, "supported_services": { "firehose": { @@ -252,12 +248,8 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "icon": { - "id": "tokens/matic-network", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] + "id": "networks/polygon", + "brand_theme": "both" }, "supported_services": { "firehose": { @@ -405,11 +397,8 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "icon": { - "id": "tokens/arbitrum", - "brand_theme": "both", - "variants": [ - "mono" - ] + "id": "tokens/arbi", + "brand_theme": "both" }, "supported_services": { "firehose": { @@ -576,12 +565,8 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "icon": { - "id": "tokens/optimism", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] + "id": "networks/optimism", + "brand_theme": "both" }, "supported_services": { "firehose": { @@ -644,12 +629,8 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "icon": { - "id": "tokens/decimal", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] + "id": "tokens/del", + "brand_theme": "both" }, "supported_services": { "firehose": { @@ -678,12 +659,8 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "icon": { - "id": "tokens/gnosis", - "brand_theme": "dark", - "variants": [ - "branded", - "mono" - ] + "id": "tokens/gno", + "brand_theme": "dark" }, "supported_services": { "firehose": { @@ -894,12 +871,8 @@ "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" }, "icon": { - "id": "tokens/arweave", - "brand_theme": "dark", - "variants": [ - "branded", - "mono" - ] + "id": "tokens/ar", + "brand_theme": "dark" }, "supported_services": { "firehose": { @@ -1016,7 +989,7 @@ "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" }, "icon": { - "id": "tokens/osmosis", + "id": "networks/osmosis", "brand_theme": "both", "variants": [ "branded", @@ -1267,12 +1240,8 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "icon": { - "id": "tokens/wax", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] + "id": "tokens/waxp", + "brand_theme": "both" }, "supported_services": { "firehose": { diff --git a/data/chains/V2/cosmoshub/cosmoshub.branded.svg b/data/chains/V2/cosmoshub/cosmoshub.branded.svg new file mode 100644 index 0000000..a373532 --- /dev/null +++ b/data/chains/V2/cosmoshub/cosmoshub.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/cosmoshub/cosmoshub.mono.svg b/data/chains/V2/cosmoshub/cosmoshub.mono.svg new file mode 100644 index 0000000..1677ec5 --- /dev/null +++ b/data/chains/V2/cosmoshub/cosmoshub.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/decimal/decimal.branded.svg b/data/chains/V2/decimal/decimal.branded.svg new file mode 100644 index 0000000..5195000 --- /dev/null +++ b/data/chains/V2/decimal/decimal.branded.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/data/chains/V2/decimal/decimal.mono.svg b/data/chains/V2/decimal/decimal.mono.svg new file mode 100644 index 0000000..096354b --- /dev/null +++ b/data/chains/V2/decimal/decimal.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/decimal/meta.ts b/data/chains/V2/decimal/meta.ts index 03c8d1b..fe0d5dc 100644 --- a/data/chains/V2/decimal/meta.ts +++ b/data/chains/V2/decimal/meta.ts @@ -11,7 +11,7 @@ const meta: Chain = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, icon: { - id: 'tokens/decimal', + id: 'tokens/del', brand_theme: 'both', }, supported_services: { diff --git a/data/chains/V2/eos/eos.mono.svg b/data/chains/V2/eos/eos.mono.svg new file mode 100644 index 0000000..9bab1d9 --- /dev/null +++ b/data/chains/V2/eos/eos.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/eth/eth.branded.svg b/data/chains/V2/eth/eth.branded.svg new file mode 100644 index 0000000..88766bd --- /dev/null +++ b/data/chains/V2/eth/eth.branded.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/data/chains/V2/eth/eth.mono.svg b/data/chains/V2/eth/eth.mono.svg new file mode 100644 index 0000000..9cf9d33 --- /dev/null +++ b/data/chains/V2/eth/eth.mono.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/data/chains/V2/fantom/fantom.branded.svg b/data/chains/V2/fantom/fantom.branded.svg new file mode 100644 index 0000000..c48ac21 --- /dev/null +++ b/data/chains/V2/fantom/fantom.branded.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/fantom/fantom.mono.svg b/data/chains/V2/fantom/fantom.mono.svg new file mode 100644 index 0000000..9c649c2 --- /dev/null +++ b/data/chains/V2/fantom/fantom.mono.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/gnosis/gnosis.branded.svg b/data/chains/V2/gnosis/gnosis.branded.svg new file mode 100644 index 0000000..5271f3e --- /dev/null +++ b/data/chains/V2/gnosis/gnosis.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/gnosis/gnosis.mono.svg b/data/chains/V2/gnosis/gnosis.mono.svg new file mode 100644 index 0000000..df70c2b --- /dev/null +++ b/data/chains/V2/gnosis/gnosis.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/gnosis/meta.ts b/data/chains/V2/gnosis/meta.ts index 2ce5e64..88ab003 100644 --- a/data/chains/V2/gnosis/meta.ts +++ b/data/chains/V2/gnosis/meta.ts @@ -11,7 +11,7 @@ const meta: Chain = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, icon: { - id: 'tokens/gnosis', + id: 'tokens/gno', brand_theme: 'dark', }, supported_services: { diff --git a/data/chains/V2/kava/kava.branded.svg b/data/chains/V2/kava/kava.branded.svg new file mode 100644 index 0000000..afca52f --- /dev/null +++ b/data/chains/V2/kava/kava.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/kava/kava.mono.svg b/data/chains/V2/kava/kava.mono.svg new file mode 100644 index 0000000..fb40b57 --- /dev/null +++ b/data/chains/V2/kava/kava.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/moonbeam/moonbeam.branded.svg b/data/chains/V2/moonbeam/moonbeam.branded.svg new file mode 100644 index 0000000..f819a51 --- /dev/null +++ b/data/chains/V2/moonbeam/moonbeam.branded.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/moonbeam/moonbeam.mono.svg b/data/chains/V2/moonbeam/moonbeam.mono.svg new file mode 100644 index 0000000..a10f1b8 --- /dev/null +++ b/data/chains/V2/moonbeam/moonbeam.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/near/near.branded.svg b/data/chains/V2/near/near.branded.svg new file mode 100644 index 0000000..3efe47c --- /dev/null +++ b/data/chains/V2/near/near.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/near/near.mono.svg b/data/chains/V2/near/near.mono.svg new file mode 100644 index 0000000..56a8fef --- /dev/null +++ b/data/chains/V2/near/near.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/optimism/meta.ts b/data/chains/V2/optimism/meta.ts index def4c81..f972e29 100644 --- a/data/chains/V2/optimism/meta.ts +++ b/data/chains/V2/optimism/meta.ts @@ -11,7 +11,7 @@ const meta: Chain = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, icon: { - id: 'tokens/optimism', + id: 'networks/optimism', brand_theme: 'both', }, supported_services: { diff --git a/data/chains/V2/optimism/optimism.branded.svg b/data/chains/V2/optimism/optimism.branded.svg new file mode 100644 index 0000000..d355b27 --- /dev/null +++ b/data/chains/V2/optimism/optimism.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/optimism/optimism.mono.svg b/data/chains/V2/optimism/optimism.mono.svg new file mode 100644 index 0000000..f1635fd --- /dev/null +++ b/data/chains/V2/optimism/optimism.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/osmosis/meta.ts b/data/chains/V2/osmosis/meta.ts index 92fe924..55152ff 100644 --- a/data/chains/V2/osmosis/meta.ts +++ b/data/chains/V2/osmosis/meta.ts @@ -11,7 +11,7 @@ const meta: Chain = { url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', }, icon: { - id: 'tokens/osmosis', + id: 'networks/osmosis', brand_theme: 'both', }, supported_services: { diff --git a/data/chains/V2/osmosis/osmosis.branded.svg b/data/chains/V2/osmosis/osmosis.branded.svg new file mode 100644 index 0000000..b287a36 --- /dev/null +++ b/data/chains/V2/osmosis/osmosis.branded.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/chains/V2/osmosis/osmosis.mono.svg b/data/chains/V2/osmosis/osmosis.mono.svg new file mode 100644 index 0000000..5d9d59e --- /dev/null +++ b/data/chains/V2/osmosis/osmosis.mono.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/data/chains/V2/polygon/meta.ts b/data/chains/V2/polygon/meta.ts index 1408b03..0dc0474 100644 --- a/data/chains/V2/polygon/meta.ts +++ b/data/chains/V2/polygon/meta.ts @@ -11,7 +11,7 @@ const meta: Chain = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, icon: { - id: 'tokens/matic-network', + id: 'networks/polygon', brand_theme: 'both', }, supported_services: { diff --git a/data/chains/V2/polygon/polygon.branded.svg b/data/chains/V2/polygon/polygon.branded.svg new file mode 100644 index 0000000..5f4bdea --- /dev/null +++ b/data/chains/V2/polygon/polygon.branded.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/data/chains/V2/polygon/polygon.mono.svg b/data/chains/V2/polygon/polygon.mono.svg new file mode 100644 index 0000000..f42be5f --- /dev/null +++ b/data/chains/V2/polygon/polygon.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/scroll/scroll.branded.svg b/data/chains/V2/scroll/scroll.branded.svg new file mode 100644 index 0000000..2672cbc --- /dev/null +++ b/data/chains/V2/scroll/scroll.branded.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/data/chains/V2/scroll/scroll.mono.svg b/data/chains/V2/scroll/scroll.mono.svg new file mode 100644 index 0000000..2f277fb --- /dev/null +++ b/data/chains/V2/scroll/scroll.mono.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/data/chains/V2/starknet/starknet.branded.svg b/data/chains/V2/starknet/starknet.branded.svg new file mode 100644 index 0000000..a092984 --- /dev/null +++ b/data/chains/V2/starknet/starknet.branded.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/data/chains/V2/starknet/starknet.mono.svg b/data/chains/V2/starknet/starknet.mono.svg new file mode 100644 index 0000000..6c69e2a --- /dev/null +++ b/data/chains/V2/starknet/starknet.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/telos/telos.branded.svg b/data/chains/V2/telos/telos.branded.svg new file mode 100644 index 0000000..335acf8 --- /dev/null +++ b/data/chains/V2/telos/telos.branded.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/data/chains/V2/telos/telos.mono.svg b/data/chains/V2/telos/telos.mono.svg new file mode 100644 index 0000000..9aa4743 --- /dev/null +++ b/data/chains/V2/telos/telos.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/wax/meta.ts b/data/chains/V2/wax/meta.ts index f36fd0f..9ea45e3 100644 --- a/data/chains/V2/wax/meta.ts +++ b/data/chains/V2/wax/meta.ts @@ -11,7 +11,7 @@ const meta: Chain = { url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', }, icon: { - id: 'tokens/wax', + id: 'tokens/waxp', brand_theme: 'both', }, supported_services: { diff --git a/data/chains/V2/wax/wax.branded.svg b/data/chains/V2/wax/wax.branded.svg new file mode 100644 index 0000000..57c5d8b --- /dev/null +++ b/data/chains/V2/wax/wax.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/wax/wax.mono.svg b/data/chains/V2/wax/wax.mono.svg new file mode 100644 index 0000000..080cdc1 --- /dev/null +++ b/data/chains/V2/wax/wax.mono.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/index.config.ts b/data/index.config.ts index 588b6f6..6014b7b 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 5/10/2024, 4:41:53 PM. +// Last generation on 5/10/2024, 5:30:16 PM. export default { ordered: { diff --git a/package.json b/package.json index 1738a70..317f593 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "generate:type_graphid": "bun ./scripts/generate/V2/type_graphid.ts", "generate:type_pinaxid": "bun ./scripts/generate/V2/type_pinaxid.ts", "generate:match_legacy_check": "bun ./scripts/generate/V2/match_legacy_data.ts", + "generate:copy_token_icons": "bun ./scripts/generate/V2/copy_token_icons.ts", "generate_v1": "npm run generate_v1:data", "generate_v1:data": "node ./scripts/generate/V1/data_json.js", "generate_v1:types": "npm run generate_v1:type_graphid && npm run generate_v1:type_pinaxid && npm run format", @@ -44,9 +45,6 @@ "prettier": "^3.2.5", "@types/bun": "latest" }, - "bundledDependencies": [ - "@token-icons/core" - ], "repository": { "type": "git", "url": "git+https://github.com/pinax-network/chains.git" diff --git a/scripts/generate/V2/copy_token_icons.ts b/scripts/generate/V2/copy_token_icons.ts new file mode 100644 index 0000000..ec172e5 --- /dev/null +++ b/scripts/generate/V2/copy_token_icons.ts @@ -0,0 +1,53 @@ +// Run after `npm run generate:data` +import fs from 'fs'; +import path from 'path'; + +// Define the source directories for the icons +const networksSourceDir: string = + './node_modules/@token-icons/core/dist/svgs/networks'; +const tokensSourceDir: string = + './node_modules/@token-icons/core/dist/svgs/tokens'; + +// Read and parse the chains.json file +const chains = JSON.parse( + fs.readFileSync('./data/chains/V2/chains.json', 'utf-8'), +); + +// Iterate over each chain +for (const chain of chains) { + // Define the destination directory for the icons + const destDir: string = `./data/chains/V2/${chain.id}`; + const iconBasePath: string = + chain.icon.id.split('/')[0] === 'networks' + ? networksSourceDir + : tokensSourceDir; + + // Define the paths to the icon variants + const brandedIconPath: string = path.join( + iconBasePath, + 'branded', + `${chain.icon.id.split('/')[1]}.svg`, + ); + const monoIconPath: string = path.join( + iconBasePath, + 'mono', + `${chain.icon.id.split('/')[1]}.svg`, + ); + + // Define the destination file paths + const destBrandedIconPath: string = path.join( + destDir, + `${chain.id}.branded.svg`, + ); + const destMonoIconPath: string = path.join(destDir, `${chain.id}.mono.svg`); + + // Copy the branded icon to the destination directory + if (fs.existsSync(brandedIconPath)) { + fs.copyFileSync(brandedIconPath, destBrandedIconPath); + } + + // Copy the mono icon to the destination directory + if (fs.existsSync(monoIconPath)) { + fs.copyFileSync(monoIconPath, destMonoIconPath); + } +} diff --git a/types/graph.types.ts b/types/graph.types.ts index 8f74aac..b499e20 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/10/2024, 4:41:54 PM. +// Last generation on 5/10/2024, 5:30:17 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 1903c37..6eebba6 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/10/2024, 4:41:54 PM. +// Last generation on 5/10/2024, 5:30:17 PM. export type PinaxID = | 'arbone' | 'arbgoerli' From edf9c2449afcdb5bdfb97e23462c4654168a6c3b Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Fri, 10 May 2024 17:37:55 -0400 Subject: [PATCH 32/51] Updated EOS EVM protocol and block_type as it is an EVM chain --- data/chains/V2/chains.json | 6 +++--- data/chains/V2/eos/evms/eosevm/meta.ts | 6 +++--- data/index.config.ts | 2 +- types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/data/chains/V2/chains.json b/data/chains/V2/chains.json index 53a12db..2dd6612 100644 --- a/data/chains/V2/chains.json +++ b/data/chains/V2/chains.json @@ -1152,10 +1152,10 @@ "graph_id": null, "name": "EOS EVM", "alt_names": [], - "standard": "antelope", + "standard": "erc20", "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { "firehose": { diff --git a/data/chains/V2/eos/evms/eosevm/meta.ts b/data/chains/V2/eos/evms/eosevm/meta.ts index fb1717d..759d7b9 100644 --- a/data/chains/V2/eos/evms/eosevm/meta.ts +++ b/data/chains/V2/eos/evms/eosevm/meta.ts @@ -5,10 +5,10 @@ const meta: EVM = { graph_id: null, name: 'EOS EVM', alt_names: [], - standard: 'antelope', + standard: 'erc20', block_type: { - label: 'sf.antelope.type.v1.Block', - url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { firehose: { diff --git a/data/index.config.ts b/data/index.config.ts index 6014b7b..589aac5 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 5/10/2024, 5:30:16 PM. +// Last generation on 5/10/2024, 5:37:55 PM. export default { ordered: { diff --git a/types/graph.types.ts b/types/graph.types.ts index b499e20..ac73202 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/10/2024, 5:30:17 PM. +// Last generation on 5/10/2024, 5:37:56 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 6eebba6..9df8ebd 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/10/2024, 5:30:17 PM. +// Last generation on 5/10/2024, 5:37:56 PM. export type PinaxID = | 'arbone' | 'arbgoerli' From 0524dab27f371ae2ae36a6168ad30c32fc208899 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 15 May 2024 18:13:13 -0400 Subject: [PATCH 33/51] Added chain filter/sort utils, added tests, added copy icon script, added missing beta chains --- data/chains/V2/arbone/arbone.dark.svg | 6 + data/chains/V2/arbone/arbone.light.svg | 6 + data/chains/V2/arbone/arbone.mono.svg | 6 - data/chains/V2/arbone/meta.ts | 30 +- .../V2/arbone/testnets/arbgoerli/meta.ts | 30 +- .../V2/arbone/testnets/arbsepolia/meta.ts | 30 +- data/chains/V2/arweave/arweave.dark.svg | 4 + data/chains/V2/arweave/arweave.light.svg | 4 + data/chains/V2/arweave/arweave.mono.svg | 4 - data/chains/V2/arweave/meta.ts | 31 +- data/chains/V2/avalanche/avalanche.dark.svg | 3 + data/chains/V2/avalanche/avalanche.light.svg | 3 + data/chains/V2/avalanche/avalanche.mono.svg | 3 - data/chains/V2/avalanche/meta.ts | 30 +- data/chains/V2/base/base.dark.svg | 3 + data/chains/V2/base/base.light.svg | 3 + data/chains/V2/base/base.mono.svg | 3 - data/chains/V2/base/meta.ts | 30 +- data/chains/V2/bitcoin/bitcoin.dark.svg | 3 + data/chains/V2/bitcoin/bitcoin.light.svg | 3 + data/chains/V2/bitcoin/bitcoin.mono.svg | 3 - data/chains/V2/bitcoin/meta.ts | 30 +- data/chains/V2/blast/blast.branded.svg | 4 + data/chains/V2/blast/blast.dark.svg | 4 + data/chains/V2/blast/blast.light.svg | 4 + data/chains/V2/blast/meta.ts | 59 + data/chains/V2/boba/boba.branded.svg | 5 + data/chains/V2/boba/boba.dark.svg | 5 + data/chains/V2/boba/boba.light.svg | 5 + data/chains/V2/boba/meta.ts | 58 + data/chains/V2/bsc/bsc.dark.svg | 3 + data/chains/V2/bsc/bsc.light.svg | 3 + data/chains/V2/bsc/bsc.mono.svg | 3 - data/chains/V2/bsc/meta.ts | 30 +- data/chains/V2/bsc/testnets/chapel/meta.ts | 30 +- .../V2/celo/{celo.mono.svg => celo.dark.svg} | 2 +- .../kava.mono.svg => celo/celo.light.svg} | 2 +- data/chains/V2/celo/meta.ts | 30 +- .../chains/V2/celo/testnets/alfajores/meta.ts | 30 +- data/chains/V2/chains.json | 1976 ++++++++++++++--- data/chains/V2/cosmoshub/cosmoshub.dark.svg | 3 + data/chains/V2/cosmoshub/cosmoshub.light.svg | 3 + data/chains/V2/cosmoshub/cosmoshub.mono.svg | 3 - data/chains/V2/cosmoshub/meta.ts | 30 +- .../chains/V2/cosmoshub/testnets/juno/meta.ts | 30 +- .../V2/cosmoshub/testnets/theta/meta.ts | 30 +- data/chains/V2/cronos/cronos.branded.svg | 4 + data/chains/V2/cronos/cronos.dark.svg | 4 + data/chains/V2/cronos/cronos.light.svg | 4 + data/chains/V2/cronos/meta.ts | 56 + data/chains/V2/decimal/decimal.dark.svg | 3 + data/chains/V2/decimal/decimal.light.svg | 3 + data/chains/V2/decimal/decimal.mono.svg | 3 - data/chains/V2/decimal/meta.ts | 30 +- data/chains/V2/eos/eos.dark.svg | 3 + data/chains/V2/eos/eos.light.svg | 3 + data/chains/V2/eos/eos.mono.svg | 3 - data/chains/V2/eos/evms/eosevm/meta.ts | 30 +- data/chains/V2/eos/meta.ts | 30 +- data/chains/V2/eos/testnets/jungle4/meta.ts | 30 +- data/chains/V2/eos/testnets/kylin/meta.ts | 30 +- data/chains/V2/eth/consensus/eth-cl/meta.ts | 20 +- .../chains/V2/eth/consensus/goerli-cl/meta.ts | 20 +- .../V2/eth/consensus/holesky-cl/meta.ts | 20 +- .../V2/eth/consensus/sepolia-cl/meta.ts | 20 +- data/chains/V2/eth/eth.dark.svg | 6 + data/chains/V2/eth/eth.light.svg | 6 + data/chains/V2/eth/eth.mono.svg | 6 - data/chains/V2/eth/meta.ts | 30 +- data/chains/V2/eth/testnets/goerli/meta.ts | 30 +- data/chains/V2/eth/testnets/holesky/meta.ts | 30 +- data/chains/V2/eth/testnets/sepolia/meta.ts | 30 +- data/chains/V2/fantom/fantom.dark.svg | 4 + data/chains/V2/fantom/fantom.light.svg | 4 + data/chains/V2/fantom/fantom.mono.svg | 4 - data/chains/V2/fantom/meta.ts | 30 +- data/chains/V2/fuse/fuse.branded.svg | 3 + data/chains/V2/fuse/fuse.dark.svg | 3 + data/chains/V2/fuse/fuse.light.svg | 3 + data/chains/V2/fuse/meta.ts | 58 + .../V2/gnosis/consensus/chiado-cl/meta.ts | 20 +- .../V2/gnosis/consensus/gnosis-cl/meta.ts | 20 +- data/chains/V2/gnosis/gnosis.dark.svg | 3 + data/chains/V2/gnosis/gnosis.light.svg | 3 + data/chains/V2/gnosis/gnosis.mono.svg | 3 - data/chains/V2/gnosis/meta.ts | 30 +- data/chains/V2/gnosis/testnets/chiado/meta.ts | 30 +- data/chains/V2/index.ts | 11 + data/chains/V2/kava/kava.dark.svg | 3 + data/chains/V2/kava/kava.light.svg | 3 + data/chains/V2/kava/meta.ts | 30 +- data/chains/V2/linea/linea.branded.svg | 3 + data/chains/V2/linea/linea.dark.svg | 3 + data/chains/V2/linea/linea.light.svg | 3 + data/chains/V2/linea/meta.ts | 56 + data/chains/V2/litecoin/litecoin.branded.svg | 3 + data/chains/V2/litecoin/litecoin.dark.svg | 3 + data/chains/V2/litecoin/litecoin.light.svg | 3 + data/chains/V2/litecoin/meta.ts | 58 + data/chains/V2/mode/meta.ts | 58 + data/chains/V2/mode/mode.branded.svg | 3 + data/chains/V2/mode/mode.dark.svg | 3 + data/chains/V2/mode/mode.light.svg | 3 + data/chains/V2/moonbeam/meta.ts | 30 +- data/chains/V2/moonbeam/moonbeam.dark.svg | 3 + data/chains/V2/moonbeam/moonbeam.light.svg | 3 + data/chains/V2/moonbeam/moonbeam.mono.svg | 3 - data/chains/V2/near/meta.ts | 30 +- data/chains/V2/near/near.dark.svg | 3 + data/chains/V2/near/near.light.svg | 3 + data/chains/V2/near/near.mono.svg | 3 - data/chains/V2/near/testnets/neartest/meta.ts | 30 +- data/chains/V2/optimism/meta.ts | 30 +- data/chains/V2/optimism/optimism.dark.svg | 3 + data/chains/V2/optimism/optimism.light.svg | 3 + data/chains/V2/optimism/optimism.mono.svg | 3 - data/chains/V2/osmosis/meta.ts | 30 +- data/chains/V2/osmosis/osmosis.dark.svg | 6 + data/chains/V2/osmosis/osmosis.light.svg | 6 + data/chains/V2/osmosis/osmosis.mono.svg | 6 - data/chains/V2/polygon/meta.ts | 30 +- data/chains/V2/polygon/polygon.dark.svg | 3 + data/chains/V2/polygon/polygon.light.svg | 3 + data/chains/V2/polygon/polygon.mono.svg | 3 - data/chains/V2/polygon/testnets/amoy/meta.ts | 30 +- .../chains/V2/polygon/testnets/mumbai/meta.ts | 30 +- data/chains/V2/scroll/meta.ts | 30 +- data/chains/V2/scroll/scroll.dark.svg | 5 + data/chains/V2/scroll/scroll.light.svg | 5 + data/chains/V2/scroll/scroll.mono.svg | 5 - data/chains/V2/starknet/meta.ts | 30 +- data/chains/V2/starknet/starknet.dark.svg | 3 + data/chains/V2/starknet/starknet.light.svg | 3 + data/chains/V2/starknet/starknet.mono.svg | 3 - data/chains/V2/telos/meta.ts | 30 +- data/chains/V2/telos/telos.dark.svg | 3 + data/chains/V2/telos/telos.light.svg | 3 + data/chains/V2/telos/telos.mono.svg | 3 - .../V2/telos/testnets/telostest/meta.ts | 30 +- data/chains/V2/wax/meta.ts | 30 +- data/chains/V2/wax/testnets/waxtest/meta.ts | 30 +- data/chains/V2/wax/wax.dark.svg | 3 + data/chains/V2/wax/wax.light.svg | 3 + data/chains/V2/wax/wax.mono.svg | 3 - data/chains/V2/xai/meta.ts | 56 + data/chains/V2/zkevm/meta.ts | 58 + data/chains/V2/zkevm/testnets/zkyoto/meta.ts | 47 + data/chains/V2/zkevm/zkevm.branded.svg | 106 + data/chains/V2/zkevm/zkevm.dark.svg | 9 + data/chains/V2/zkevm/zkevm.light.svg | 9 + data/chains/V2/zora/meta.ts | 58 + data/index.config.ts | 12 +- package-lock.json | 136 +- package.json | 4 +- scripts/generate/V2/copy_token_icons.ts | 20 +- tests/assert_chain_data_format.test.ts | 0 tests/assert_deprecated_filter.test.ts | 1 + .../assert_flatten_filter_sort_chain.test.ts | 107 + .../assert_no_substreams_wo_firehose.test.ts | 2 + tests/assert_supported_utils.test.ts | 4 + tests/assert_unexported_chains.test.ts | 2 + tests/assert_unique_index.test.ts | 1 + tests/assert_valid_icons.test.ts | 2 + tests/no_substreams_wo_firehose.test.ts | 0 types/graph.types.ts | 2 +- types/pinax.types.ts | 15 +- types/service.types.ts | 10 +- types/standard.types.ts | 1 + utils/chains.ts | 159 +- 169 files changed, 4216 insertions(+), 659 deletions(-) create mode 100644 data/chains/V2/arbone/arbone.dark.svg create mode 100644 data/chains/V2/arbone/arbone.light.svg delete mode 100644 data/chains/V2/arbone/arbone.mono.svg create mode 100644 data/chains/V2/arweave/arweave.dark.svg create mode 100644 data/chains/V2/arweave/arweave.light.svg delete mode 100644 data/chains/V2/arweave/arweave.mono.svg create mode 100644 data/chains/V2/avalanche/avalanche.dark.svg create mode 100644 data/chains/V2/avalanche/avalanche.light.svg delete mode 100644 data/chains/V2/avalanche/avalanche.mono.svg create mode 100644 data/chains/V2/base/base.dark.svg create mode 100644 data/chains/V2/base/base.light.svg delete mode 100644 data/chains/V2/base/base.mono.svg create mode 100644 data/chains/V2/bitcoin/bitcoin.dark.svg create mode 100644 data/chains/V2/bitcoin/bitcoin.light.svg delete mode 100644 data/chains/V2/bitcoin/bitcoin.mono.svg create mode 100644 data/chains/V2/blast/blast.branded.svg create mode 100644 data/chains/V2/blast/blast.dark.svg create mode 100644 data/chains/V2/blast/blast.light.svg create mode 100644 data/chains/V2/blast/meta.ts create mode 100644 data/chains/V2/boba/boba.branded.svg create mode 100644 data/chains/V2/boba/boba.dark.svg create mode 100644 data/chains/V2/boba/boba.light.svg create mode 100644 data/chains/V2/boba/meta.ts create mode 100644 data/chains/V2/bsc/bsc.dark.svg create mode 100644 data/chains/V2/bsc/bsc.light.svg delete mode 100644 data/chains/V2/bsc/bsc.mono.svg rename data/chains/V2/celo/{celo.mono.svg => celo.dark.svg} (54%) rename data/chains/V2/{kava/kava.mono.svg => celo/celo.light.svg} (51%) create mode 100644 data/chains/V2/cosmoshub/cosmoshub.dark.svg create mode 100644 data/chains/V2/cosmoshub/cosmoshub.light.svg delete mode 100644 data/chains/V2/cosmoshub/cosmoshub.mono.svg create mode 100644 data/chains/V2/cronos/cronos.branded.svg create mode 100644 data/chains/V2/cronos/cronos.dark.svg create mode 100644 data/chains/V2/cronos/cronos.light.svg create mode 100644 data/chains/V2/cronos/meta.ts create mode 100644 data/chains/V2/decimal/decimal.dark.svg create mode 100644 data/chains/V2/decimal/decimal.light.svg delete mode 100644 data/chains/V2/decimal/decimal.mono.svg create mode 100644 data/chains/V2/eos/eos.dark.svg create mode 100644 data/chains/V2/eos/eos.light.svg delete mode 100644 data/chains/V2/eos/eos.mono.svg create mode 100644 data/chains/V2/eth/eth.dark.svg create mode 100644 data/chains/V2/eth/eth.light.svg delete mode 100644 data/chains/V2/eth/eth.mono.svg create mode 100644 data/chains/V2/fantom/fantom.dark.svg create mode 100644 data/chains/V2/fantom/fantom.light.svg delete mode 100644 data/chains/V2/fantom/fantom.mono.svg create mode 100644 data/chains/V2/fuse/fuse.branded.svg create mode 100644 data/chains/V2/fuse/fuse.dark.svg create mode 100644 data/chains/V2/fuse/fuse.light.svg create mode 100644 data/chains/V2/fuse/meta.ts create mode 100644 data/chains/V2/gnosis/gnosis.dark.svg create mode 100644 data/chains/V2/gnosis/gnosis.light.svg delete mode 100644 data/chains/V2/gnosis/gnosis.mono.svg create mode 100644 data/chains/V2/kava/kava.dark.svg create mode 100644 data/chains/V2/kava/kava.light.svg create mode 100644 data/chains/V2/linea/linea.branded.svg create mode 100644 data/chains/V2/linea/linea.dark.svg create mode 100644 data/chains/V2/linea/linea.light.svg create mode 100644 data/chains/V2/linea/meta.ts create mode 100644 data/chains/V2/litecoin/litecoin.branded.svg create mode 100644 data/chains/V2/litecoin/litecoin.dark.svg create mode 100644 data/chains/V2/litecoin/litecoin.light.svg create mode 100644 data/chains/V2/litecoin/meta.ts create mode 100644 data/chains/V2/mode/meta.ts create mode 100644 data/chains/V2/mode/mode.branded.svg create mode 100644 data/chains/V2/mode/mode.dark.svg create mode 100644 data/chains/V2/mode/mode.light.svg create mode 100644 data/chains/V2/moonbeam/moonbeam.dark.svg create mode 100644 data/chains/V2/moonbeam/moonbeam.light.svg delete mode 100644 data/chains/V2/moonbeam/moonbeam.mono.svg create mode 100644 data/chains/V2/near/near.dark.svg create mode 100644 data/chains/V2/near/near.light.svg delete mode 100644 data/chains/V2/near/near.mono.svg create mode 100644 data/chains/V2/optimism/optimism.dark.svg create mode 100644 data/chains/V2/optimism/optimism.light.svg delete mode 100644 data/chains/V2/optimism/optimism.mono.svg create mode 100644 data/chains/V2/osmosis/osmosis.dark.svg create mode 100644 data/chains/V2/osmosis/osmosis.light.svg delete mode 100644 data/chains/V2/osmosis/osmosis.mono.svg create mode 100644 data/chains/V2/polygon/polygon.dark.svg create mode 100644 data/chains/V2/polygon/polygon.light.svg delete mode 100644 data/chains/V2/polygon/polygon.mono.svg create mode 100644 data/chains/V2/scroll/scroll.dark.svg create mode 100644 data/chains/V2/scroll/scroll.light.svg delete mode 100644 data/chains/V2/scroll/scroll.mono.svg create mode 100644 data/chains/V2/starknet/starknet.dark.svg create mode 100644 data/chains/V2/starknet/starknet.light.svg delete mode 100644 data/chains/V2/starknet/starknet.mono.svg create mode 100644 data/chains/V2/telos/telos.dark.svg create mode 100644 data/chains/V2/telos/telos.light.svg delete mode 100644 data/chains/V2/telos/telos.mono.svg create mode 100644 data/chains/V2/wax/wax.dark.svg create mode 100644 data/chains/V2/wax/wax.light.svg delete mode 100644 data/chains/V2/wax/wax.mono.svg create mode 100644 data/chains/V2/xai/meta.ts create mode 100644 data/chains/V2/zkevm/meta.ts create mode 100644 data/chains/V2/zkevm/testnets/zkyoto/meta.ts create mode 100644 data/chains/V2/zkevm/zkevm.branded.svg create mode 100644 data/chains/V2/zkevm/zkevm.dark.svg create mode 100644 data/chains/V2/zkevm/zkevm.light.svg create mode 100644 data/chains/V2/zora/meta.ts delete mode 100644 tests/assert_chain_data_format.test.ts create mode 100644 tests/assert_deprecated_filter.test.ts create mode 100644 tests/assert_flatten_filter_sort_chain.test.ts create mode 100644 tests/assert_no_substreams_wo_firehose.test.ts create mode 100644 tests/assert_supported_utils.test.ts delete mode 100644 tests/no_substreams_wo_firehose.test.ts diff --git a/data/chains/V2/arbone/arbone.dark.svg b/data/chains/V2/arbone/arbone.dark.svg new file mode 100644 index 0000000..09bd877 --- /dev/null +++ b/data/chains/V2/arbone/arbone.dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/data/chains/V2/arbone/arbone.light.svg b/data/chains/V2/arbone/arbone.light.svg new file mode 100644 index 0000000..3e47213 --- /dev/null +++ b/data/chains/V2/arbone/arbone.light.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/data/chains/V2/arbone/arbone.mono.svg b/data/chains/V2/arbone/arbone.mono.svg deleted file mode 100644 index 7da8405..0000000 --- a/data/chains/V2/arbone/arbone.mono.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/data/chains/V2/arbone/meta.ts b/data/chains/V2/arbone/meta.ts index 9cfa58f..4ae2c50 100644 --- a/data/chains/V2/arbone/meta.ts +++ b/data/chains/V2/arbone/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/arbone/testnets/arbgoerli/meta.ts b/data/chains/V2/arbone/testnets/arbgoerli/meta.ts index 6ed7227..210bb75 100644 --- a/data/chains/V2/arbone/testnets/arbgoerli/meta.ts +++ b/data/chains/V2/arbone/testnets/arbgoerli/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/arbone/testnets/arbsepolia/meta.ts b/data/chains/V2/arbone/testnets/arbsepolia/meta.ts index a6dc0be..7220ed5 100644 --- a/data/chains/V2/arbone/testnets/arbsepolia/meta.ts +++ b/data/chains/V2/arbone/testnets/arbsepolia/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: '2024-05-03T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2024-05-03T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2024-05-03T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2024-05-03T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2024-05-03T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2024-05-03T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: '2024-05-03T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2024-05-03T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2024-05-03T00:00:00.000Z', + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/arweave/arweave.dark.svg b/data/chains/V2/arweave/arweave.dark.svg new file mode 100644 index 0000000..03bce8a --- /dev/null +++ b/data/chains/V2/arweave/arweave.dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/arweave/arweave.light.svg b/data/chains/V2/arweave/arweave.light.svg new file mode 100644 index 0000000..2da0ee1 --- /dev/null +++ b/data/chains/V2/arweave/arweave.light.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/arweave/arweave.mono.svg b/data/chains/V2/arweave/arweave.mono.svg deleted file mode 100644 index cfc6fac..0000000 --- a/data/chains/V2/arweave/arweave.mono.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/data/chains/V2/arweave/meta.ts b/data/chains/V2/arweave/meta.ts index 13fca78..b954a06 100644 --- a/data/chains/V2/arweave/meta.ts +++ b/data/chains/V2/arweave/meta.ts @@ -13,19 +13,38 @@ const meta: Chain = { icon: { id: 'tokens/ar', brand_theme: 'dark', + variants: ['branded', 'mono'], }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2024-03-03T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2024-03-03T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2024-03-03T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/avalanche/avalanche.dark.svg b/data/chains/V2/avalanche/avalanche.dark.svg new file mode 100644 index 0000000..054f391 --- /dev/null +++ b/data/chains/V2/avalanche/avalanche.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/avalanche/avalanche.light.svg b/data/chains/V2/avalanche/avalanche.light.svg new file mode 100644 index 0000000..21423e7 --- /dev/null +++ b/data/chains/V2/avalanche/avalanche.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/avalanche/avalanche.mono.svg b/data/chains/V2/avalanche/avalanche.mono.svg deleted file mode 100644 index c3d0cc4..0000000 --- a/data/chains/V2/avalanche/avalanche.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/avalanche/meta.ts b/data/chains/V2/avalanche/meta.ts index 04e36f3..01554ba 100644 --- a/data/chains/V2/avalanche/meta.ts +++ b/data/chains/V2/avalanche/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/base/base.dark.svg b/data/chains/V2/base/base.dark.svg new file mode 100644 index 0000000..a5161a5 --- /dev/null +++ b/data/chains/V2/base/base.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/base/base.light.svg b/data/chains/V2/base/base.light.svg new file mode 100644 index 0000000..3e6c6ea --- /dev/null +++ b/data/chains/V2/base/base.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/base/base.mono.svg b/data/chains/V2/base/base.mono.svg deleted file mode 100644 index 7da8b77..0000000 --- a/data/chains/V2/base/base.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/base/meta.ts b/data/chains/V2/base/meta.ts index c3d5857..daea7bb 100644 --- a/data/chains/V2/base/meta.ts +++ b/data/chains/V2/base/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: '2024-03-06T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2024-03-06T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2024-03-06T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2024-03-06T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2024-03-06T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2024-03-06T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/bitcoin/bitcoin.dark.svg b/data/chains/V2/bitcoin/bitcoin.dark.svg new file mode 100644 index 0000000..f15fbd1 --- /dev/null +++ b/data/chains/V2/bitcoin/bitcoin.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/bitcoin/bitcoin.light.svg b/data/chains/V2/bitcoin/bitcoin.light.svg new file mode 100644 index 0000000..96bfca6 --- /dev/null +++ b/data/chains/V2/bitcoin/bitcoin.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/bitcoin/bitcoin.mono.svg b/data/chains/V2/bitcoin/bitcoin.mono.svg deleted file mode 100644 index 079304b..0000000 --- a/data/chains/V2/bitcoin/bitcoin.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/bitcoin/meta.ts b/data/chains/V2/bitcoin/meta.ts index 74c0af4..e3570c2 100644 --- a/data/chains/V2/bitcoin/meta.ts +++ b/data/chains/V2/bitcoin/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: '2023-12-21T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-21T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-21T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-21T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-21T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-21T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/blast/blast.branded.svg b/data/chains/V2/blast/blast.branded.svg new file mode 100644 index 0000000..6bf9065 --- /dev/null +++ b/data/chains/V2/blast/blast.branded.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/blast/blast.dark.svg b/data/chains/V2/blast/blast.dark.svg new file mode 100644 index 0000000..a15e308 --- /dev/null +++ b/data/chains/V2/blast/blast.dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/blast/blast.light.svg b/data/chains/V2/blast/blast.light.svg new file mode 100644 index 0000000..611035c --- /dev/null +++ b/data/chains/V2/blast/blast.light.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/blast/meta.ts b/data/chains/V2/blast/meta.ts new file mode 100644 index 0000000..290034c --- /dev/null +++ b/data/chains/V2/blast/meta.ts @@ -0,0 +1,59 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'blast', + name: 'Blast Network', + alt_names: [], + graph_id: 'blast-mainnet', + index: 0, + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/blast', + brand_theme: 'light', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + firehose: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + substreams: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + }, + testnets: [], + consensus: [], + evms: [], + metadata: { + layer: 'L2', + }, +}; + +export default meta; diff --git a/data/chains/V2/boba/boba.branded.svg b/data/chains/V2/boba/boba.branded.svg new file mode 100644 index 0000000..34cdfb1 --- /dev/null +++ b/data/chains/V2/boba/boba.branded.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/data/chains/V2/boba/boba.dark.svg b/data/chains/V2/boba/boba.dark.svg new file mode 100644 index 0000000..c0ffaa5 --- /dev/null +++ b/data/chains/V2/boba/boba.dark.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/data/chains/V2/boba/boba.light.svg b/data/chains/V2/boba/boba.light.svg new file mode 100644 index 0000000..5f2dfdd --- /dev/null +++ b/data/chains/V2/boba/boba.light.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/data/chains/V2/boba/meta.ts b/data/chains/V2/boba/meta.ts new file mode 100644 index 0000000..f71ebd5 --- /dev/null +++ b/data/chains/V2/boba/meta.ts @@ -0,0 +1,58 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'boba', + name: 'Boba Network', + alt_names: [], + graph_id: 'boba', + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'tokens/boba', + brand_theme: 'both', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + firehose: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + substreams: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + }, + testnets: [], + consensus: [], + evms: [], + metadata: { + layer: 'L2', + }, +}; + +export default meta; diff --git a/data/chains/V2/bsc/bsc.dark.svg b/data/chains/V2/bsc/bsc.dark.svg new file mode 100644 index 0000000..220e4e3 --- /dev/null +++ b/data/chains/V2/bsc/bsc.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/bsc/bsc.light.svg b/data/chains/V2/bsc/bsc.light.svg new file mode 100644 index 0000000..f8c0b79 --- /dev/null +++ b/data/chains/V2/bsc/bsc.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/bsc/bsc.mono.svg b/data/chains/V2/bsc/bsc.mono.svg deleted file mode 100644 index 745075c..0000000 --- a/data/chains/V2/bsc/bsc.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/bsc/meta.ts b/data/chains/V2/bsc/meta.ts index 5df718d..0983c15 100644 --- a/data/chains/V2/bsc/meta.ts +++ b/data/chains/V2/bsc/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/bsc/testnets/chapel/meta.ts b/data/chains/V2/bsc/testnets/chapel/meta.ts index db7c725..424aca2 100644 --- a/data/chains/V2/bsc/testnets/chapel/meta.ts +++ b/data/chains/V2/bsc/testnets/chapel/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/celo/celo.mono.svg b/data/chains/V2/celo/celo.dark.svg similarity index 54% rename from data/chains/V2/celo/celo.mono.svg rename to data/chains/V2/celo/celo.dark.svg index 32edcd7..2b01dc8 100644 --- a/data/chains/V2/celo/celo.mono.svg +++ b/data/chains/V2/celo/celo.dark.svg @@ -1,3 +1,3 @@ - + diff --git a/data/chains/V2/kava/kava.mono.svg b/data/chains/V2/celo/celo.light.svg similarity index 51% rename from data/chains/V2/kava/kava.mono.svg rename to data/chains/V2/celo/celo.light.svg index fb40b57..b03cddc 100644 --- a/data/chains/V2/kava/kava.mono.svg +++ b/data/chains/V2/celo/celo.light.svg @@ -1,3 +1,3 @@ - + diff --git a/data/chains/V2/celo/meta.ts b/data/chains/V2/celo/meta.ts index 5663656..7152b66 100644 --- a/data/chains/V2/celo/meta.ts +++ b/data/chains/V2/celo/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/celo/testnets/alfajores/meta.ts b/data/chains/V2/celo/testnets/alfajores/meta.ts index 171b785..a200c8f 100644 --- a/data/chains/V2/celo/testnets/alfajores/meta.ts +++ b/data/chains/V2/celo/testnets/alfajores/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/chains.json b/data/chains/V2/chains.json index 2dd6612..491b159 100644 --- a/data/chains/V2/chains.json +++ b/data/chains/V2/chains.json @@ -19,16 +19,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } } }, "index": 0, @@ -45,16 +63,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } } }, "index": 1 @@ -71,16 +107,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } } }, "index": 2 @@ -97,16 +151,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-03-21T00:00:00.000Z" + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-03-21T00:00:00.000Z" + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } }, "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-03-21T00:00:00.000Z" + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } } }, "index": 6 @@ -125,12 +197,24 @@ }, "supported_services": { "firehose": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } } }, "index": 3 @@ -147,12 +231,24 @@ }, "supported_services": { "firehose": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } } }, "index": 4 @@ -169,12 +265,24 @@ }, "supported_services": { "firehose": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } } }, "index": 5 @@ -191,12 +299,24 @@ }, "supported_services": { "firehose": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-08T00:00:00.000Z" + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } }, "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } } }, "index": 7 @@ -221,16 +341,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-21T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-21T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-21T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-21T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-21T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-21T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 8 @@ -253,16 +391,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } } }, "index": 9, @@ -279,16 +435,34 @@ }, "supported_services": { "firehose": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + } } }, "index": 10 @@ -305,16 +479,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + } }, "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + } } }, "index": 11 @@ -344,16 +536,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } } }, "index": 12, @@ -370,16 +580,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } } }, "index": 13 @@ -402,16 +630,34 @@ }, "supported_services": { "firehose": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 14, @@ -428,16 +674,34 @@ }, "supported_services": { "firehose": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 15 @@ -454,16 +718,34 @@ }, "supported_services": { "firehose": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + } } }, "index": 16 @@ -480,16 +762,34 @@ }, "supported_services": { "firehose": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 18 @@ -508,12 +808,24 @@ }, "supported_services": { "firehose": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } } }, "index": 17 @@ -540,16 +852,34 @@ }, "supported_services": { "firehose": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 19 @@ -570,16 +900,34 @@ }, "supported_services": { "firehose": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 20 @@ -604,16 +952,34 @@ }, "supported_services": { "firehose": { - "released_at": "2024-03-06T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2024-03-06T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 21 @@ -634,16 +1000,34 @@ }, "supported_services": { "firehose": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 22 @@ -664,16 +1048,34 @@ }, "supported_services": { "firehose": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 23, @@ -690,12 +1092,24 @@ }, "supported_services": { "firehose": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } } }, "index": 24 @@ -722,16 +1136,34 @@ }, "supported_services": { "firehose": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 25 @@ -756,16 +1188,34 @@ }, "supported_services": { "firehose": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 26, @@ -782,16 +1232,34 @@ }, "supported_services": { "firehose": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 27 @@ -818,16 +1286,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 28, @@ -844,16 +1330,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 29 @@ -872,20 +1376,42 @@ }, "icon": { "id": "tokens/ar", - "brand_theme": "dark" + "brand_theme": "dark", + "variants": [ + "branded", + "mono" + ] }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2024-03-03T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2024-03-03T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-03-03T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 30 @@ -910,16 +1436,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 31, @@ -936,16 +1480,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 32 @@ -962,16 +1524,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 33 @@ -998,16 +1578,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 34 @@ -1032,16 +1630,34 @@ }, "supported_services": { "firehose": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 35 @@ -1066,16 +1682,34 @@ }, "supported_services": { "firehose": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 36 @@ -1100,16 +1734,34 @@ }, "supported_services": { "firehose": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 37 @@ -1133,16 +1785,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 38, @@ -1159,16 +1829,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 39 @@ -1187,16 +1875,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } } }, "index": 40 @@ -1213,16 +1919,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 41 @@ -1245,16 +1969,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 42, @@ -1271,16 +2013,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 43 @@ -1307,16 +2067,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 44, @@ -1333,16 +2111,34 @@ }, "supported_services": { "firehose": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "substreams": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 45 @@ -1369,18 +2165,656 @@ }, "supported_services": { "firehose": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "substreams": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } }, "rpc": { - "released_at": null, - "deprecated_at": null + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } } }, "index": 46 + }, + { + "id": "blast", + "name": "Blast Network", + "alt_names": [], + "graph_id": "blast-mainnet", + "index": 47, + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/blast", + "brand_theme": "light", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2" + } + }, + { + "id": "boba", + "name": "Boba Network", + "alt_names": [], + "graph_id": "boba", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/boba", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2" + }, + "index": 48 + }, + { + "id": "cronos", + "name": "Cronos", + "alt_names": [], + "graph_id": null, + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/cronos", + "brand_theme": "dark", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": {}, + "index": 49 + }, + { + "id": "fuse", + "name": "Fuse", + "alt_names": [], + "graph_id": "fuse", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/fuse", + "brand_theme": "light", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L1" + }, + "index": 50 + }, + { + "id": "linea", + "name": "Linea", + "alt_names": [], + "graph_id": "linea", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/linea", + "brand_theme": "dark", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": {}, + "index": 51 + }, + { + "id": "litecoin", + "name": "Litecoin", + "alt_names": [ + "LTC" + ], + "graph_id": null, + "standard": "ltc20", + "block_type": { + "label": "sf.litecoin.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-litecoin/docs/main:sf.litecoin.type.v1" + }, + "icon": { + "id": "tokens/ltc", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L1" + }, + "index": 52 + }, + { + "id": "mode", + "name": "Mode Network", + "alt_names": [], + "graph_id": "mode-mainnet", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/mode", + "brand_theme": "light", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2" + }, + "index": 53 + }, + { + "id": "xai", + "name": "XAI", + "alt_names": [], + "graph_id": null, + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/xai", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": {}, + "index": 54 + }, + { + "id": "zkevm", + "name": "Astar zkEVM", + "alt_names": [], + "graph_id": null, + "standard": "erc20", + "block_type": { + "label": "sf.zkevm.type.v1.Block", + "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" + }, + "icon": { + "id": "networks/astar", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [ + { + "id": "zkyoto", + "name": "Astar zKyoto", + "alt_names": [], + "graph_id": "zkyoto-testnet", + "standard": "erc20", + "block_type": { + "label": "sf.zkevm.type.v1.Block", + "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "index": 56 + } + ], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2" + }, + "index": 55 + }, + { + "id": "zora", + "name": "Zora Network", + "alt_names": [], + "graph_id": null, + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/zora", + "brand_theme": "both", + "variants": [ + "branded" + ] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2" + }, + "index": 57 } ] \ No newline at end of file diff --git a/data/chains/V2/cosmoshub/cosmoshub.dark.svg b/data/chains/V2/cosmoshub/cosmoshub.dark.svg new file mode 100644 index 0000000..250f661 --- /dev/null +++ b/data/chains/V2/cosmoshub/cosmoshub.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/cosmoshub/cosmoshub.light.svg b/data/chains/V2/cosmoshub/cosmoshub.light.svg new file mode 100644 index 0000000..4945283 --- /dev/null +++ b/data/chains/V2/cosmoshub/cosmoshub.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/cosmoshub/cosmoshub.mono.svg b/data/chains/V2/cosmoshub/cosmoshub.mono.svg deleted file mode 100644 index 1677ec5..0000000 --- a/data/chains/V2/cosmoshub/cosmoshub.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/cosmoshub/meta.ts b/data/chains/V2/cosmoshub/meta.ts index 92b9430..22d2755 100644 --- a/data/chains/V2/cosmoshub/meta.ts +++ b/data/chains/V2/cosmoshub/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/cosmoshub/testnets/juno/meta.ts b/data/chains/V2/cosmoshub/testnets/juno/meta.ts index 0a46223..13fccd0 100644 --- a/data/chains/V2/cosmoshub/testnets/juno/meta.ts +++ b/data/chains/V2/cosmoshub/testnets/juno/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-01-15T00:00:00.000Z', + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-01-15T00:00:00.000Z', + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-01-15T00:00:00.000Z', + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/cosmoshub/testnets/theta/meta.ts b/data/chains/V2/cosmoshub/testnets/theta/meta.ts index ef65e04..3337a9f 100644 --- a/data/chains/V2/cosmoshub/testnets/theta/meta.ts +++ b/data/chains/V2/cosmoshub/testnets/theta/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/cronos/cronos.branded.svg b/data/chains/V2/cronos/cronos.branded.svg new file mode 100644 index 0000000..3e465d2 --- /dev/null +++ b/data/chains/V2/cronos/cronos.branded.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/cronos/cronos.dark.svg b/data/chains/V2/cronos/cronos.dark.svg new file mode 100644 index 0000000..8276f3f --- /dev/null +++ b/data/chains/V2/cronos/cronos.dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/cronos/cronos.light.svg b/data/chains/V2/cronos/cronos.light.svg new file mode 100644 index 0000000..7374bc5 --- /dev/null +++ b/data/chains/V2/cronos/cronos.light.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/cronos/meta.ts b/data/chains/V2/cronos/meta.ts new file mode 100644 index 0000000..3538f92 --- /dev/null +++ b/data/chains/V2/cronos/meta.ts @@ -0,0 +1,56 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'cronos', + name: 'Cronos', + alt_names: [], + graph_id: null, + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/cronos', + brand_theme: 'dark', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + firehose: { + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + substreams: { + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + }, + testnets: [], + consensus: [], + evms: [], + metadata: {}, +}; + +export default meta; diff --git a/data/chains/V2/decimal/decimal.dark.svg b/data/chains/V2/decimal/decimal.dark.svg new file mode 100644 index 0000000..ff1e411 --- /dev/null +++ b/data/chains/V2/decimal/decimal.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/decimal/decimal.light.svg b/data/chains/V2/decimal/decimal.light.svg new file mode 100644 index 0000000..f274534 --- /dev/null +++ b/data/chains/V2/decimal/decimal.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/decimal/decimal.mono.svg b/data/chains/V2/decimal/decimal.mono.svg deleted file mode 100644 index 096354b..0000000 --- a/data/chains/V2/decimal/decimal.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/decimal/meta.ts b/data/chains/V2/decimal/meta.ts index fe0d5dc..be5e4b4 100644 --- a/data/chains/V2/decimal/meta.ts +++ b/data/chains/V2/decimal/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/eos/eos.dark.svg b/data/chains/V2/eos/eos.dark.svg new file mode 100644 index 0000000..52d7f85 --- /dev/null +++ b/data/chains/V2/eos/eos.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/eos/eos.light.svg b/data/chains/V2/eos/eos.light.svg new file mode 100644 index 0000000..6f047b1 --- /dev/null +++ b/data/chains/V2/eos/eos.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/eos/eos.mono.svg b/data/chains/V2/eos/eos.mono.svg deleted file mode 100644 index 9bab1d9..0000000 --- a/data/chains/V2/eos/eos.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/eos/evms/eosevm/meta.ts b/data/chains/V2/eos/evms/eosevm/meta.ts index 759d7b9..03af131 100644 --- a/data/chains/V2/eos/evms/eosevm/meta.ts +++ b/data/chains/V2/eos/evms/eosevm/meta.ts @@ -12,16 +12,34 @@ const meta: EVM = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/eos/meta.ts b/data/chains/V2/eos/meta.ts index c173593..473604d 100644 --- a/data/chains/V2/eos/meta.ts +++ b/data/chains/V2/eos/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/eos/testnets/jungle4/meta.ts b/data/chains/V2/eos/testnets/jungle4/meta.ts index edefd1b..a11a2bb 100644 --- a/data/chains/V2/eos/testnets/jungle4/meta.ts +++ b/data/chains/V2/eos/testnets/jungle4/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/eos/testnets/kylin/meta.ts b/data/chains/V2/eos/testnets/kylin/meta.ts index feeb480..f733ee2 100644 --- a/data/chains/V2/eos/testnets/kylin/meta.ts +++ b/data/chains/V2/eos/testnets/kylin/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/eth/consensus/eth-cl/meta.ts b/data/chains/V2/eth/consensus/eth-cl/meta.ts index b735f75..05383fe 100644 --- a/data/chains/V2/eth/consensus/eth-cl/meta.ts +++ b/data/chains/V2/eth/consensus/eth-cl/meta.ts @@ -12,12 +12,24 @@ const meta: ConsensusLayer = { }, supported_services: { firehose: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/eth/consensus/goerli-cl/meta.ts b/data/chains/V2/eth/consensus/goerli-cl/meta.ts index 1b34cb0..805948d 100644 --- a/data/chains/V2/eth/consensus/goerli-cl/meta.ts +++ b/data/chains/V2/eth/consensus/goerli-cl/meta.ts @@ -12,12 +12,24 @@ const meta: ConsensusLayer = { }, supported_services: { firehose: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: '2023-03-08T00:00:00.000Z', + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, }, substreams: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: '2023-03-21T00:00:00.000Z', + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, }, }, }; diff --git a/data/chains/V2/eth/consensus/holesky-cl/meta.ts b/data/chains/V2/eth/consensus/holesky-cl/meta.ts index c49233c..1991eba 100644 --- a/data/chains/V2/eth/consensus/holesky-cl/meta.ts +++ b/data/chains/V2/eth/consensus/holesky-cl/meta.ts @@ -12,12 +12,24 @@ const meta: ConsensusLayer = { }, supported_services: { firehose: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/eth/consensus/sepolia-cl/meta.ts b/data/chains/V2/eth/consensus/sepolia-cl/meta.ts index 4b9880e..64af0c7 100644 --- a/data/chains/V2/eth/consensus/sepolia-cl/meta.ts +++ b/data/chains/V2/eth/consensus/sepolia-cl/meta.ts @@ -12,12 +12,24 @@ const meta: ConsensusLayer = { }, supported_services: { firehose: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/eth/eth.dark.svg b/data/chains/V2/eth/eth.dark.svg new file mode 100644 index 0000000..2b0e08b --- /dev/null +++ b/data/chains/V2/eth/eth.dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/data/chains/V2/eth/eth.light.svg b/data/chains/V2/eth/eth.light.svg new file mode 100644 index 0000000..6a5e837 --- /dev/null +++ b/data/chains/V2/eth/eth.light.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/data/chains/V2/eth/eth.mono.svg b/data/chains/V2/eth/eth.mono.svg deleted file mode 100644 index 9cf9d33..0000000 --- a/data/chains/V2/eth/eth.mono.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/data/chains/V2/eth/meta.ts b/data/chains/V2/eth/meta.ts index bd5b8ca..3942c17 100644 --- a/data/chains/V2/eth/meta.ts +++ b/data/chains/V2/eth/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/eth/testnets/goerli/meta.ts b/data/chains/V2/eth/testnets/goerli/meta.ts index aba0008..cc63d2d 100644 --- a/data/chains/V2/eth/testnets/goerli/meta.ts +++ b/data/chains/V2/eth/testnets/goerli/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-03-21T00:00:00.000Z', + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-03-21T00:00:00.000Z', + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, }, rpc: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-03-21T00:00:00.000Z', + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, }, }, }; diff --git a/data/chains/V2/eth/testnets/holesky/meta.ts b/data/chains/V2/eth/testnets/holesky/meta.ts index ae250e1..164590f 100644 --- a/data/chains/V2/eth/testnets/holesky/meta.ts +++ b/data/chains/V2/eth/testnets/holesky/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/eth/testnets/sepolia/meta.ts b/data/chains/V2/eth/testnets/sepolia/meta.ts index 159431b..61723b5 100644 --- a/data/chains/V2/eth/testnets/sepolia/meta.ts +++ b/data/chains/V2/eth/testnets/sepolia/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/fantom/fantom.dark.svg b/data/chains/V2/fantom/fantom.dark.svg new file mode 100644 index 0000000..4659047 --- /dev/null +++ b/data/chains/V2/fantom/fantom.dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/fantom/fantom.light.svg b/data/chains/V2/fantom/fantom.light.svg new file mode 100644 index 0000000..155591d --- /dev/null +++ b/data/chains/V2/fantom/fantom.light.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/fantom/fantom.mono.svg b/data/chains/V2/fantom/fantom.mono.svg deleted file mode 100644 index 9c649c2..0000000 --- a/data/chains/V2/fantom/fantom.mono.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/data/chains/V2/fantom/meta.ts b/data/chains/V2/fantom/meta.ts index d803b13..03ea9c0 100644 --- a/data/chains/V2/fantom/meta.ts +++ b/data/chains/V2/fantom/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/fuse/fuse.branded.svg b/data/chains/V2/fuse/fuse.branded.svg new file mode 100644 index 0000000..91884b7 --- /dev/null +++ b/data/chains/V2/fuse/fuse.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/fuse/fuse.dark.svg b/data/chains/V2/fuse/fuse.dark.svg new file mode 100644 index 0000000..e046980 --- /dev/null +++ b/data/chains/V2/fuse/fuse.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/fuse/fuse.light.svg b/data/chains/V2/fuse/fuse.light.svg new file mode 100644 index 0000000..9e41934 --- /dev/null +++ b/data/chains/V2/fuse/fuse.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/fuse/meta.ts b/data/chains/V2/fuse/meta.ts new file mode 100644 index 0000000..6ea80a9 --- /dev/null +++ b/data/chains/V2/fuse/meta.ts @@ -0,0 +1,58 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'fuse', + name: 'Fuse', + alt_names: [], + graph_id: 'fuse', + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'tokens/fuse', + brand_theme: 'light', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + firehose: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + substreams: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + }, + testnets: [], + consensus: [], + evms: [], + metadata: { + layer: 'L1', + }, +}; + +export default meta; diff --git a/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts b/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts index c455649..ba9fcb4 100644 --- a/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts +++ b/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts @@ -12,12 +12,24 @@ const meta: ConsensusLayer = { }, supported_services: { firehose: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts b/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts index e3c1fa1..2eb19ee 100644 --- a/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts +++ b/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts @@ -12,12 +12,24 @@ const meta: ConsensusLayer = { }, supported_services: { firehose: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/gnosis/gnosis.dark.svg b/data/chains/V2/gnosis/gnosis.dark.svg new file mode 100644 index 0000000..68d09cc --- /dev/null +++ b/data/chains/V2/gnosis/gnosis.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/gnosis/gnosis.light.svg b/data/chains/V2/gnosis/gnosis.light.svg new file mode 100644 index 0000000..2a92e2c --- /dev/null +++ b/data/chains/V2/gnosis/gnosis.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/gnosis/gnosis.mono.svg b/data/chains/V2/gnosis/gnosis.mono.svg deleted file mode 100644 index df70c2b..0000000 --- a/data/chains/V2/gnosis/gnosis.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/gnosis/meta.ts b/data/chains/V2/gnosis/meta.ts index 88ab003..2628e4c 100644 --- a/data/chains/V2/gnosis/meta.ts +++ b/data/chains/V2/gnosis/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/gnosis/testnets/chiado/meta.ts b/data/chains/V2/gnosis/testnets/chiado/meta.ts index 8c78003..0aafedd 100644 --- a/data/chains/V2/gnosis/testnets/chiado/meta.ts +++ b/data/chains/V2/gnosis/testnets/chiado/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/index.ts b/data/chains/V2/index.ts index dddd044..1037b26 100644 --- a/data/chains/V2/index.ts +++ b/data/chains/V2/index.ts @@ -5,6 +5,8 @@ export { default as arweave } from './arweave/meta'; export { default as avalanche } from './avalanche/meta'; export { default as base } from './base/meta'; export { default as bitcoin } from './bitcoin/meta'; +export { default as blast } from './blast/meta'; +export { default as boba } from './boba/meta'; export { default as bsc } from './bsc/meta'; export { default as chapel } from './bsc/testnets/chapel/meta'; export { default as celo } from './celo/meta'; @@ -12,6 +14,7 @@ export { default as alfajores } from './celo/testnets/alfajores/meta'; export { default as cosmoshub } from './cosmoshub/meta'; export { default as juno } from './cosmoshub/testnets/juno/meta'; export { default as theta } from './cosmoshub/testnets/theta/meta'; +export { default as cronos } from './cronos/meta'; export { default as decimal } from './decimal/meta'; export { default as eos } from './eos/meta'; export { default as jungle4 } from './eos/testnets/jungle4/meta'; @@ -26,11 +29,15 @@ export { default as goerliCl } from './eth/consensus/goerli-cl/meta'; export { default as holeskyCl } from './eth/consensus/holesky-cl/meta'; export { default as sepoliaCl } from './eth/consensus/sepolia-cl/meta'; export { default as fantom } from './fantom/meta'; +export { default as fuse } from './fuse/meta'; export { default as gnosis } from './gnosis/meta'; export { default as chiado } from './gnosis/testnets/chiado/meta'; export { default as chiadoCl } from './gnosis/consensus/chiado-cl/meta'; export { default as gnosisCl } from './gnosis/consensus/gnosis-cl/meta'; export { default as kava } from './kava/meta'; +export { default as linea } from './linea/meta'; +export { default as litecoin } from './litecoin/meta'; +export { default as mode } from './mode/meta'; export { default as moonbeam } from './moonbeam/meta'; export { default as near } from './near/meta'; export { default as neartest } from './near/testnets/neartest/meta'; @@ -45,3 +52,7 @@ export { default as telos } from './telos/meta'; export { default as telostest } from './telos/testnets/telostest/meta'; export { default as wax } from './wax/meta'; export { default as waxtest } from './wax/testnets/waxtest/meta'; +export { default as xai } from './xai/meta'; +export { default as zkevm } from './zkevm/meta'; +export { default as zkyoto } from './zkevm/testnets/zkyoto/meta'; +export { default as zora } from './zora/meta'; diff --git a/data/chains/V2/kava/kava.dark.svg b/data/chains/V2/kava/kava.dark.svg new file mode 100644 index 0000000..15d7eb4 --- /dev/null +++ b/data/chains/V2/kava/kava.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/kava/kava.light.svg b/data/chains/V2/kava/kava.light.svg new file mode 100644 index 0000000..3ef7c2c --- /dev/null +++ b/data/chains/V2/kava/kava.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/kava/meta.ts b/data/chains/V2/kava/meta.ts index e32021f..709c96c 100644 --- a/data/chains/V2/kava/meta.ts +++ b/data/chains/V2/kava/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/linea/linea.branded.svg b/data/chains/V2/linea/linea.branded.svg new file mode 100644 index 0000000..1fcdd17 --- /dev/null +++ b/data/chains/V2/linea/linea.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/linea/linea.dark.svg b/data/chains/V2/linea/linea.dark.svg new file mode 100644 index 0000000..b70101f --- /dev/null +++ b/data/chains/V2/linea/linea.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/linea/linea.light.svg b/data/chains/V2/linea/linea.light.svg new file mode 100644 index 0000000..36b185a --- /dev/null +++ b/data/chains/V2/linea/linea.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/linea/meta.ts b/data/chains/V2/linea/meta.ts new file mode 100644 index 0000000..c627302 --- /dev/null +++ b/data/chains/V2/linea/meta.ts @@ -0,0 +1,56 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'linea', + name: 'Linea', + alt_names: [], + graph_id: 'linea', + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/linea', + brand_theme: 'dark', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + firehose: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + substreams: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + }, + testnets: [], + consensus: [], + evms: [], + metadata: {}, +}; + +export default meta; diff --git a/data/chains/V2/litecoin/litecoin.branded.svg b/data/chains/V2/litecoin/litecoin.branded.svg new file mode 100644 index 0000000..e83c952 --- /dev/null +++ b/data/chains/V2/litecoin/litecoin.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/litecoin/litecoin.dark.svg b/data/chains/V2/litecoin/litecoin.dark.svg new file mode 100644 index 0000000..f624524 --- /dev/null +++ b/data/chains/V2/litecoin/litecoin.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/litecoin/litecoin.light.svg b/data/chains/V2/litecoin/litecoin.light.svg new file mode 100644 index 0000000..96533f2 --- /dev/null +++ b/data/chains/V2/litecoin/litecoin.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/litecoin/meta.ts b/data/chains/V2/litecoin/meta.ts new file mode 100644 index 0000000..3fa44af --- /dev/null +++ b/data/chains/V2/litecoin/meta.ts @@ -0,0 +1,58 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'litecoin', + name: 'Litecoin', + alt_names: ['LTC'], + graph_id: null, + standard: 'ltc20', + block_type: { + label: 'sf.litecoin.type.v1.Block', + url: 'https://buf.build/streamingfast/firehose-litecoin/docs/main:sf.litecoin.type.v1', + }, + icon: { + id: 'tokens/ltc', + brand_theme: 'both', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: { + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + firehose: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + substreams: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + }, + testnets: [], + consensus: [], + evms: [], + metadata: { + layer: 'L1', + }, +}; + +export default meta; diff --git a/data/chains/V2/mode/meta.ts b/data/chains/V2/mode/meta.ts new file mode 100644 index 0000000..e954663 --- /dev/null +++ b/data/chains/V2/mode/meta.ts @@ -0,0 +1,58 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'mode', + name: 'Mode Network', + alt_names: [], + graph_id: 'mode-mainnet', + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/mode', + brand_theme: 'light', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + firehose: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + substreams: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + }, + testnets: [], + consensus: [], + evms: [], + metadata: { + layer: 'L2', + }, +}; + +export default meta; diff --git a/data/chains/V2/mode/mode.branded.svg b/data/chains/V2/mode/mode.branded.svg new file mode 100644 index 0000000..88a614e --- /dev/null +++ b/data/chains/V2/mode/mode.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/mode/mode.dark.svg b/data/chains/V2/mode/mode.dark.svg new file mode 100644 index 0000000..89e0103 --- /dev/null +++ b/data/chains/V2/mode/mode.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/mode/mode.light.svg b/data/chains/V2/mode/mode.light.svg new file mode 100644 index 0000000..47ada5b --- /dev/null +++ b/data/chains/V2/mode/mode.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/moonbeam/meta.ts b/data/chains/V2/moonbeam/meta.ts index 0ff37ba..5762e71 100644 --- a/data/chains/V2/moonbeam/meta.ts +++ b/data/chains/V2/moonbeam/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/moonbeam/moonbeam.dark.svg b/data/chains/V2/moonbeam/moonbeam.dark.svg new file mode 100644 index 0000000..35d39e9 --- /dev/null +++ b/data/chains/V2/moonbeam/moonbeam.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/moonbeam/moonbeam.light.svg b/data/chains/V2/moonbeam/moonbeam.light.svg new file mode 100644 index 0000000..eb76348 --- /dev/null +++ b/data/chains/V2/moonbeam/moonbeam.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/moonbeam/moonbeam.mono.svg b/data/chains/V2/moonbeam/moonbeam.mono.svg deleted file mode 100644 index a10f1b8..0000000 --- a/data/chains/V2/moonbeam/moonbeam.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/near/meta.ts b/data/chains/V2/near/meta.ts index 8451d74..a614552 100644 --- a/data/chains/V2/near/meta.ts +++ b/data/chains/V2/near/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/near/near.dark.svg b/data/chains/V2/near/near.dark.svg new file mode 100644 index 0000000..0f25eda --- /dev/null +++ b/data/chains/V2/near/near.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/near/near.light.svg b/data/chains/V2/near/near.light.svg new file mode 100644 index 0000000..876f1d4 --- /dev/null +++ b/data/chains/V2/near/near.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/near/near.mono.svg b/data/chains/V2/near/near.mono.svg deleted file mode 100644 index 56a8fef..0000000 --- a/data/chains/V2/near/near.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/near/testnets/neartest/meta.ts b/data/chains/V2/near/testnets/neartest/meta.ts index e1470bb..c10dc17 100644 --- a/data/chains/V2/near/testnets/neartest/meta.ts +++ b/data/chains/V2/near/testnets/neartest/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/optimism/meta.ts b/data/chains/V2/optimism/meta.ts index f972e29..169adef 100644 --- a/data/chains/V2/optimism/meta.ts +++ b/data/chains/V2/optimism/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: '2024-01-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2024-01-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2024-01-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2024-01-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2024-01-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2024-01-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/optimism/optimism.dark.svg b/data/chains/V2/optimism/optimism.dark.svg new file mode 100644 index 0000000..a115182 --- /dev/null +++ b/data/chains/V2/optimism/optimism.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/optimism/optimism.light.svg b/data/chains/V2/optimism/optimism.light.svg new file mode 100644 index 0000000..708b411 --- /dev/null +++ b/data/chains/V2/optimism/optimism.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/optimism/optimism.mono.svg b/data/chains/V2/optimism/optimism.mono.svg deleted file mode 100644 index f1635fd..0000000 --- a/data/chains/V2/optimism/optimism.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/osmosis/meta.ts b/data/chains/V2/osmosis/meta.ts index 55152ff..79f9cf9 100644 --- a/data/chains/V2/osmosis/meta.ts +++ b/data/chains/V2/osmosis/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2024-01-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2024-01-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/osmosis/osmosis.dark.svg b/data/chains/V2/osmosis/osmosis.dark.svg new file mode 100644 index 0000000..be66e06 --- /dev/null +++ b/data/chains/V2/osmosis/osmosis.dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/data/chains/V2/osmosis/osmosis.light.svg b/data/chains/V2/osmosis/osmosis.light.svg new file mode 100644 index 0000000..dce9e92 --- /dev/null +++ b/data/chains/V2/osmosis/osmosis.light.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/data/chains/V2/osmosis/osmosis.mono.svg b/data/chains/V2/osmosis/osmosis.mono.svg deleted file mode 100644 index 5d9d59e..0000000 --- a/data/chains/V2/osmosis/osmosis.mono.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/data/chains/V2/polygon/meta.ts b/data/chains/V2/polygon/meta.ts index 0dc0474..8e4fcdb 100644 --- a/data/chains/V2/polygon/meta.ts +++ b/data/chains/V2/polygon/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/polygon/polygon.dark.svg b/data/chains/V2/polygon/polygon.dark.svg new file mode 100644 index 0000000..dda426c --- /dev/null +++ b/data/chains/V2/polygon/polygon.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/polygon/polygon.light.svg b/data/chains/V2/polygon/polygon.light.svg new file mode 100644 index 0000000..7236412 --- /dev/null +++ b/data/chains/V2/polygon/polygon.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/polygon/polygon.mono.svg b/data/chains/V2/polygon/polygon.mono.svg deleted file mode 100644 index f42be5f..0000000 --- a/data/chains/V2/polygon/polygon.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/polygon/testnets/amoy/meta.ts b/data/chains/V2/polygon/testnets/amoy/meta.ts index 32723cc..89d4fc6 100644 --- a/data/chains/V2/polygon/testnets/amoy/meta.ts +++ b/data/chains/V2/polygon/testnets/amoy/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: '2024-04-12T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2024-04-12T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2024-04-12T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2024-04-12T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2024-04-12T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2024-04-12T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: '2024-04-12T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2024-04-12T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2024-04-12T00:00:00.000Z', + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/polygon/testnets/mumbai/meta.ts b/data/chains/V2/polygon/testnets/mumbai/meta.ts index 0d0c62d..9633518 100644 --- a/data/chains/V2/polygon/testnets/mumbai/meta.ts +++ b/data/chains/V2/polygon/testnets/mumbai/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-04-12T00:00:00.000Z', + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-04-12T00:00:00.000Z', + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-04-12T00:00:00.000Z', + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-04-12T00:00:00.000Z', + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-04-12T00:00:00.000Z', + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-04-12T00:00:00.000Z', + }, }, rpc: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-04-12T00:00:00.000Z', + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-04-12T00:00:00.000Z', + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-04-12T00:00:00.000Z', + }, }, }, }; diff --git a/data/chains/V2/scroll/meta.ts b/data/chains/V2/scroll/meta.ts index 919bd86..ff95d73 100644 --- a/data/chains/V2/scroll/meta.ts +++ b/data/chains/V2/scroll/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/scroll/scroll.dark.svg b/data/chains/V2/scroll/scroll.dark.svg new file mode 100644 index 0000000..9623b5c --- /dev/null +++ b/data/chains/V2/scroll/scroll.dark.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/data/chains/V2/scroll/scroll.light.svg b/data/chains/V2/scroll/scroll.light.svg new file mode 100644 index 0000000..bbdf115 --- /dev/null +++ b/data/chains/V2/scroll/scroll.light.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/data/chains/V2/scroll/scroll.mono.svg b/data/chains/V2/scroll/scroll.mono.svg deleted file mode 100644 index 2f277fb..0000000 --- a/data/chains/V2/scroll/scroll.mono.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/data/chains/V2/starknet/meta.ts b/data/chains/V2/starknet/meta.ts index cd81d86..494cac4 100644 --- a/data/chains/V2/starknet/meta.ts +++ b/data/chains/V2/starknet/meta.ts @@ -18,16 +18,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, substreams: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/starknet/starknet.dark.svg b/data/chains/V2/starknet/starknet.dark.svg new file mode 100644 index 0000000..64de940 --- /dev/null +++ b/data/chains/V2/starknet/starknet.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/starknet/starknet.light.svg b/data/chains/V2/starknet/starknet.light.svg new file mode 100644 index 0000000..55452c8 --- /dev/null +++ b/data/chains/V2/starknet/starknet.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/starknet/starknet.mono.svg b/data/chains/V2/starknet/starknet.mono.svg deleted file mode 100644 index 6c69e2a..0000000 --- a/data/chains/V2/starknet/starknet.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/telos/meta.ts b/data/chains/V2/telos/meta.ts index 278605f..60260d8 100644 --- a/data/chains/V2/telos/meta.ts +++ b/data/chains/V2/telos/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/telos/telos.dark.svg b/data/chains/V2/telos/telos.dark.svg new file mode 100644 index 0000000..31640b2 --- /dev/null +++ b/data/chains/V2/telos/telos.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/telos/telos.light.svg b/data/chains/V2/telos/telos.light.svg new file mode 100644 index 0000000..7c8daf3 --- /dev/null +++ b/data/chains/V2/telos/telos.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/telos/telos.mono.svg b/data/chains/V2/telos/telos.mono.svg deleted file mode 100644 index 9aa4743..0000000 --- a/data/chains/V2/telos/telos.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/telos/testnets/telostest/meta.ts b/data/chains/V2/telos/testnets/telostest/meta.ts index c201bd6..23a5d16 100644 --- a/data/chains/V2/telos/testnets/telostest/meta.ts +++ b/data/chains/V2/telos/testnets/telostest/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/wax/meta.ts b/data/chains/V2/wax/meta.ts index 9ea45e3..534b45f 100644 --- a/data/chains/V2/wax/meta.ts +++ b/data/chains/V2/wax/meta.ts @@ -16,16 +16,34 @@ const meta: Chain = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/wax/testnets/waxtest/meta.ts b/data/chains/V2/wax/testnets/waxtest/meta.ts index c0b4812..56e4b69 100644 --- a/data/chains/V2/wax/testnets/waxtest/meta.ts +++ b/data/chains/V2/wax/testnets/waxtest/meta.ts @@ -12,16 +12,34 @@ const meta: Testnet = { }, supported_services: { firehose: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, substreams: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, + beta: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + full: { + released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, rpc: { - released_at: null, - deprecated_at: null, + beta: { + released_at: null, + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, }, }, }; diff --git a/data/chains/V2/wax/wax.dark.svg b/data/chains/V2/wax/wax.dark.svg new file mode 100644 index 0000000..dad28e1 --- /dev/null +++ b/data/chains/V2/wax/wax.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/wax/wax.light.svg b/data/chains/V2/wax/wax.light.svg new file mode 100644 index 0000000..20804b0 --- /dev/null +++ b/data/chains/V2/wax/wax.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/wax/wax.mono.svg b/data/chains/V2/wax/wax.mono.svg deleted file mode 100644 index 080cdc1..0000000 --- a/data/chains/V2/wax/wax.mono.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/chains/V2/xai/meta.ts b/data/chains/V2/xai/meta.ts new file mode 100644 index 0000000..e2d7251 --- /dev/null +++ b/data/chains/V2/xai/meta.ts @@ -0,0 +1,56 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'xai', + name: 'XAI', + alt_names: [], + graph_id: null, + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/xai', + brand_theme: 'both', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + firehose: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + substreams: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + }, + testnets: [], + consensus: [], + evms: [], + metadata: {}, +}; + +export default meta; diff --git a/data/chains/V2/zkevm/meta.ts b/data/chains/V2/zkevm/meta.ts new file mode 100644 index 0000000..bed8dad --- /dev/null +++ b/data/chains/V2/zkevm/meta.ts @@ -0,0 +1,58 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'zkevm', + name: 'Astar zkEVM', + alt_names: [], + graph_id: null, + standard: 'erc20', + block_type: { + label: 'sf.zkevm.type.v1.Block', + url: 'https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1', + }, + icon: { + id: 'networks/astar', + brand_theme: 'both', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + firehose: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + substreams: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + }, + testnets: [], + consensus: [], + evms: [], + metadata: { + layer: 'L2', + }, +}; + +export default meta; diff --git a/data/chains/V2/zkevm/testnets/zkyoto/meta.ts b/data/chains/V2/zkevm/testnets/zkyoto/meta.ts new file mode 100644 index 0000000..ca93749 --- /dev/null +++ b/data/chains/V2/zkevm/testnets/zkyoto/meta.ts @@ -0,0 +1,47 @@ +import { Testnet } from '../../../../../../types/chain.types'; + +const meta: Testnet = { + id: 'zkyoto', + name: 'Astar zKyoto', + alt_names: [], + graph_id: 'zkyoto-testnet', + standard: 'erc20', + block_type: { + label: 'sf.zkevm.type.v1.Block', + url: 'https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1', + }, + supported_services: { + rpc: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + firehose: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + substreams: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + }, +}; + +export default meta; diff --git a/data/chains/V2/zkevm/zkevm.branded.svg b/data/chains/V2/zkevm/zkevm.branded.svg new file mode 100644 index 0000000..13ce8c8 --- /dev/null +++ b/data/chains/V2/zkevm/zkevm.branded.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/chains/V2/zkevm/zkevm.dark.svg b/data/chains/V2/zkevm/zkevm.dark.svg new file mode 100644 index 0000000..799c7aa --- /dev/null +++ b/data/chains/V2/zkevm/zkevm.dark.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/data/chains/V2/zkevm/zkevm.light.svg b/data/chains/V2/zkevm/zkevm.light.svg new file mode 100644 index 0000000..0cec748 --- /dev/null +++ b/data/chains/V2/zkevm/zkevm.light.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/data/chains/V2/zora/meta.ts b/data/chains/V2/zora/meta.ts new file mode 100644 index 0000000..b840617 --- /dev/null +++ b/data/chains/V2/zora/meta.ts @@ -0,0 +1,58 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'zora', + name: 'Zora Network', + alt_names: [], + graph_id: null, + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/zora', + brand_theme: 'both', + variants: ['branded'], + }, + supported_services: { + rpc: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + firehose: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + substreams: { + beta: { + released_at: '2024-05-14T00:00:00Z', + deprecated_at: null, + }, + full: { + released_at: null, + deprecated_at: null, + }, + }, + }, + testnets: [], + consensus: [], + evms: [], + metadata: { + layer: 'L2', + }, +}; + +export default meta; diff --git a/data/index.config.ts b/data/index.config.ts index 589aac5..2d973f4 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 5/10/2024, 5:37:55 PM. +// Last generation on 5/15/2024, 6:13:13 PM. export default { ordered: { @@ -37,6 +37,16 @@ export default { wax: ['waxtest'], telos: ['telostest'], kava: [], + blast: [], + boba: [], + cronos: [], + fuse: [], + linea: [], + litecoin: [], + mode: [], + xai: [], + zkevm: ['zkyoto'], + zora: [], }, missing: [], }; diff --git a/package-lock.json b/package-lock.json index 9d58112..606a6e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,29 +1,66 @@ { "name": "@pinax/chains", - "version": "2.0.0-next.0", + "version": "2.0.5-rc1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@pinax/chains", - "version": "2.0.0-next.0", - "bundleDependencies": [ - "@token-icons/core" - ], + "version": "2.0.5-rc1", "devDependencies": { - "@token-icons/core": "^2.1.0", + "@token-icons/core": "^2.6.1", + "@types/bun": "latest", "husky": "^9.0.11", "prettier": "^3.2.5" + }, + "peerDependencies": { + "typescript": "^5.4.4" } }, "node_modules/@token-icons/core": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.1.0.tgz", - "integrity": "sha512-V36Ijnq0mlpVx9NMZw99EV+4eY45r/k9+CuwMe8Q/4WR8JqbjK4WNrZtH5luA53IkjClVW45sdKAq1a8XZR+hQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.6.1.tgz", + "integrity": "sha512-+m4L13Tx3qfuN5GYKGvG772k+w3t/DP7tqrOQ/xPytrXIDMyfdX1OdLILGvr5iCRIQ2SC5h1SxIxK5j7zg+OSg==", "dev": true, - "inBundle": true, "peerDependencies": { - "typescript": "5.3.0" + "typescript": "^5.0.0" + } + }, + "node_modules/@types/bun": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.1.2.tgz", + "integrity": "sha512-pRBDD3EDqPf83qe95i3EpYu5G2J8bbb78a3736vnCm2K8YWtEE5cvJUq2jkKvJhW07YTfQtbImywIwRhWL8z3Q==", + "dev": true, + "dependencies": { + "bun-types": "1.1.8" + } + }, + "node_modules/@types/node": { + "version": "20.12.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", + "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/bun-types": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.1.8.tgz", + "integrity": "sha512-dwhfuUKSGK8hm5Llcvb5+ejRh+4mIt8ibObJVKhZBsi0ScpXmt+AlaS1eDW6uRXCHj084Qt0kIqAJ08/7ZGC9Q==", + "dev": true, + "dependencies": { + "@types/node": "~20.12.8", + "@types/ws": "~8.5.10" } }, "node_modules/husky": { @@ -53,14 +90,71 @@ "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" } + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true } }, "dependencies": { "@token-icons/core": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.1.0.tgz", - "integrity": "sha512-V36Ijnq0mlpVx9NMZw99EV+4eY45r/k9+CuwMe8Q/4WR8JqbjK4WNrZtH5luA53IkjClVW45sdKAq1a8XZR+hQ==", - "dev": true + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.6.1.tgz", + "integrity": "sha512-+m4L13Tx3qfuN5GYKGvG772k+w3t/DP7tqrOQ/xPytrXIDMyfdX1OdLILGvr5iCRIQ2SC5h1SxIxK5j7zg+OSg==", + "dev": true, + "requires": {} + }, + "@types/bun": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.1.2.tgz", + "integrity": "sha512-pRBDD3EDqPf83qe95i3EpYu5G2J8bbb78a3736vnCm2K8YWtEE5cvJUq2jkKvJhW07YTfQtbImywIwRhWL8z3Q==", + "dev": true, + "requires": { + "bun-types": "1.1.8" + } + }, + "@types/node": { + "version": "20.12.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", + "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "bun-types": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.1.8.tgz", + "integrity": "sha512-dwhfuUKSGK8hm5Llcvb5+ejRh+4mIt8ibObJVKhZBsi0ScpXmt+AlaS1eDW6uRXCHj084Qt0kIqAJ08/7ZGC9Q==", + "dev": true, + "requires": { + "@types/node": "~20.12.8", + "@types/ws": "~8.5.10" + } }, "husky": { "version": "9.0.11", @@ -69,6 +163,18 @@ "prettier": { "version": "3.2.5", "dev": true + }, + "typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "peer": true + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true } } } diff --git a/package.json b/package.json index 317f593..e1e9a50 100644 --- a/package.json +++ b/package.json @@ -36,11 +36,11 @@ "generate_v1:types": "npm run generate_v1:type_graphid && npm run generate_v1:type_pinaxid && npm run format", "generate_v1:type_graphid": "node ./scripts/generate/V1/type_graphid.js", "generate_v1:type_pinaxid": "node ./scripts/generate/V1/type_pinaxid.js", - "test": "echo \"Error: no test specified\" && exit 1", + "test": "bun test", "prepare": "husky" }, "devDependencies": { - "@token-icons/core": "^2.1.0", + "@token-icons/core": "^2.6.1", "husky": "^9.0.11", "prettier": "^3.2.5", "@types/bun": "latest" diff --git a/scripts/generate/V2/copy_token_icons.ts b/scripts/generate/V2/copy_token_icons.ts index ec172e5..436a408 100644 --- a/scripts/generate/V2/copy_token_icons.ts +++ b/scripts/generate/V2/copy_token_icons.ts @@ -39,6 +39,8 @@ for (const chain of chains) { destDir, `${chain.id}.branded.svg`, ); + const destLightIconPath: string = path.join(destDir, `${chain.id}.light.svg`); + const destDarkIconPath: string = path.join(destDir, `${chain.id}.dark.svg`); const destMonoIconPath: string = path.join(destDir, `${chain.id}.mono.svg`); // Copy the branded icon to the destination directory @@ -46,8 +48,22 @@ for (const chain of chains) { fs.copyFileSync(brandedIconPath, destBrandedIconPath); } - // Copy the mono icon to the destination directory + // Create the light icon by replacing '#fff' with '#fffffe' in the mono icon if (fs.existsSync(monoIconPath)) { - fs.copyFileSync(monoIconPath, destMonoIconPath); + let monoIconContent = fs.readFileSync(monoIconPath, 'utf-8'); + let lightIconContent = monoIconContent.replace(/#fff/g, '#fffffe'); + fs.writeFileSync(destLightIconPath, lightIconContent); + } + + // Create the dark icon by replacing '#fff' with '#000001' in the mono icon + if (fs.existsSync(monoIconPath)) { + let monoIconContent = fs.readFileSync(monoIconPath, 'utf-8'); + let darkIconContent = monoIconContent.replace(/#fff/g, '#000001'); + fs.writeFileSync(destDarkIconPath, darkIconContent); + } + + // Check if the mono icon exists in the destination directory, if it does, delete it + if (fs.existsSync(destMonoIconPath)) { + fs.unlinkSync(destMonoIconPath); } } diff --git a/tests/assert_chain_data_format.test.ts b/tests/assert_chain_data_format.test.ts deleted file mode 100644 index e69de29..0000000 diff --git a/tests/assert_deprecated_filter.test.ts b/tests/assert_deprecated_filter.test.ts new file mode 100644 index 0000000..28f0324 --- /dev/null +++ b/tests/assert_deprecated_filter.test.ts @@ -0,0 +1 @@ +// Test the noDeprecatedFilter function in the utils.ts file. diff --git a/tests/assert_flatten_filter_sort_chain.test.ts b/tests/assert_flatten_filter_sort_chain.test.ts new file mode 100644 index 0000000..5fbdb66 --- /dev/null +++ b/tests/assert_flatten_filter_sort_chain.test.ts @@ -0,0 +1,107 @@ +// Test the filterSortChain function in the utils.ts file. +import fs from 'fs'; +import { expect, test, describe, beforeEach } from 'bun:test'; +import { filterSortChains, isChainSupported } from '../utils/chains'; +import { Chain, ChainBase } from '../types'; + +// Read and parse the chains.json file +let chains = JSON.parse( + fs.readFileSync('./data/chains/V2/chains.json', 'utf-8'), +); + +describe('filterSortChain', () => { + beforeEach(() => { + // Reset the chains variable before each test + chains = JSON.parse( + fs.readFileSync('./data/chains/V2/chains.json', 'utf-8'), + ); + }); + + test('should return an empty array if no chains are provided', () => { + const result = filterSortChains([]); + + // fs.writeFileSync('./filterSortChain.1.json', JSON.stringify(result)); + + expect(result).toHaveLength(0); + }); + + test('should return all supported mainnets if a chains array is provided with no other params', () => { + const result = filterSortChains(chains); + + // fs.writeFileSync('./filterSortChain.2.json', JSON.stringify(result)); + + expect(result).toHaveLength( + chains.filter((chain: Chain) => isChainSupported(chain)).length, + ); + }); + + test('should filter the chains based on the provided filter function', () => { + // Define a filter function that only returns the eth chain + // Emulates a search for the ethereum chain + const filterFn = (chain: ChainBase) => + chain.name.toLocaleLowerCase().indexOf('eth') !== -1 || + chain.id.toLocaleLowerCase().indexOf('eth') !== -1 || + chain.alt_names.includes('eth'); + + const result = filterSortChains(chains, () => 0, filterFn); + + // fs.writeFileSync('./filterSortChain.3.json', JSON.stringify(result)); + + expect(result).toHaveLength(1); + }); + + test('should sort the chains based on the provided sort function', () => { + // Define a sort function that sorts the chains in reverse alphabetical order + const sortFn = (a: ChainBase, b: ChainBase) => b.name.localeCompare(a.name); + const result = filterSortChains(chains, sortFn); + + // fs.writeFileSync('./filterSortChain.4.json', JSON.stringify(result)); + + const sortedChains = chains + .filter((chain: Chain) => isChainSupported(chain)) + .sort((a: ChainBase, b: ChainBase) => b.name.localeCompare(a.name)); + expect(result).toEqual(sortedChains); + }); + + test('should include beta chains if includeBeta is true', () => { + const result = filterSortChains( + chains, + () => 0, + () => true, + true, + ); + + // fs.writeFileSync('./filterSortChain.5.json', JSON.stringify(result)); + + expect(result).toHaveLength( + chains.filter((chain: Chain) => isChainSupported(chain, true)).length, + ); + }); + + test('should include testnets if includeTestnet is true', () => { + const result = filterSortChains( + chains, + () => 0, + () => true, + false, + true, + ); + + fs.writeFileSync('./filterSortChain.6.json', JSON.stringify(result)); + + const eth = result.find((chain) => chain.id === 'eth') as Chain; + const ethTestnets = eth?.testnets?.length || 0; + + expect(ethTestnets).toBeGreaterThan(0); + }); + + // test('should include consensus layers if includeConsensusLayer is true', () => { + // // Fail First + // expect(true).toBe(false); + // }); + + // test('should include EVMs if includeEVM is true', () => { + // // Fail First + // expect(true).toBe(false); + // }); +}); diff --git a/tests/assert_no_substreams_wo_firehose.test.ts b/tests/assert_no_substreams_wo_firehose.test.ts new file mode 100644 index 0000000..bb85137 --- /dev/null +++ b/tests/assert_no_substreams_wo_firehose.test.ts @@ -0,0 +1,2 @@ +// Test to make sure that each chain that has a Substreams service +// also has a Firehose service (which it's dependent on). diff --git a/tests/assert_supported_utils.test.ts b/tests/assert_supported_utils.test.ts new file mode 100644 index 0000000..d28a14e --- /dev/null +++ b/tests/assert_supported_utils.test.ts @@ -0,0 +1,4 @@ +// Tests the supported util functions +// (isFirehoseSupported, isSubstreamsSupported, isRpcSupported, +// isChainSupported, wasFirehoseOnceSupported, wasSubstreamsOnceSupported, +// wasRpcOnceSupported) in utils/chains.ts diff --git a/tests/assert_unexported_chains.test.ts b/tests/assert_unexported_chains.test.ts index e69de29..3322c2c 100644 --- a/tests/assert_unexported_chains.test.ts +++ b/tests/assert_unexported_chains.test.ts @@ -0,0 +1,2 @@ +// Test to make sure that each chain is exported in the index.config.ts file +// and exists in the chains.json file. diff --git a/tests/assert_unique_index.test.ts b/tests/assert_unique_index.test.ts index e69de29..379cb85 100644 --- a/tests/assert_unique_index.test.ts +++ b/tests/assert_unique_index.test.ts @@ -0,0 +1 @@ +// Test that each chain has a unique index in the index.config.ts file diff --git a/tests/assert_valid_icons.test.ts b/tests/assert_valid_icons.test.ts index e69de29..75bd208 100644 --- a/tests/assert_valid_icons.test.ts +++ b/tests/assert_valid_icons.test.ts @@ -0,0 +1,2 @@ +// Test that each chain has a valid icon configuration in the meta.ts file +// and that the icon SVG available variants exists in the chain's directory. diff --git a/tests/no_substreams_wo_firehose.test.ts b/tests/no_substreams_wo_firehose.test.ts deleted file mode 100644 index e69de29..0000000 diff --git a/types/graph.types.ts b/types/graph.types.ts index ac73202..931be64 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/10/2024, 5:37:56 PM. +// Last generation on 5/15/2024, 6:13:14 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 9df8ebd..79ef92a 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/10/2024, 5:37:56 PM. +// Last generation on 5/15/2024, 6:13:14 PM. export type PinaxID = | 'arbone' | 'arbgoerli' @@ -9,6 +9,8 @@ export type PinaxID = | 'avalanche' | 'base' | 'bitcoin' + | 'blast' + | 'boba' | 'bsc' | 'chapel' | 'celo' @@ -16,6 +18,7 @@ export type PinaxID = | 'cosmoshub' | 'juno' | 'theta' + | 'cronos' | 'decimal' | 'eosevm' | 'eos' @@ -30,11 +33,15 @@ export type PinaxID = | 'holesky' | 'sepolia' | 'fantom' + | 'fuse' | 'chiado-cl' | 'gnosis-cl' | 'gnosis' | 'chiado' | 'kava' + | 'linea' + | 'litecoin' + | 'mode' | 'moonbeam' | 'near' | 'neartest' @@ -48,4 +55,8 @@ export type PinaxID = | 'telos' | 'telostest' | 'wax' - | 'waxtest'; + | 'waxtest' + | 'xai' + | 'zkevm' + | 'zkyoto' + | 'zora'; diff --git a/types/service.types.ts b/types/service.types.ts index a1bd86e..9051941 100644 --- a/types/service.types.ts +++ b/types/service.types.ts @@ -8,8 +8,14 @@ export type ServiceEndpoint = { }; export type ServiceEndpointStatus = { - released_at: string | null; - deprecated_at: string | null; + beta: { + released_at: string | null; + deprecated_at: string | null; + }; + full: { + released_at: string | null; + deprecated_at: string | null; + }; }; export type ConsensusLayerServices = { diff --git a/types/standard.types.ts b/types/standard.types.ts index 63d9a81..eb4aacb 100644 --- a/types/standard.types.ts +++ b/types/standard.types.ts @@ -4,4 +4,5 @@ export type Standard = | 'brc20' | 'cosmos' | 'erc20' + | 'ltc20' | 'near'; diff --git a/utils/chains.ts b/utils/chains.ts index 6254095..c550d32 100644 --- a/utils/chains.ts +++ b/utils/chains.ts @@ -1,58 +1,101 @@ -import { Chain, ConsensusLayer, Testnet } from '../types/chain.types'; +import { chains } from '.'; +import { + Chain, + ChainBase, + ConsensusLayer, + EVM, + Testnet, +} from '../types/chain.types'; const isFirehoseSupported = ( chain: Chain | Testnet | ConsensusLayer, + checkBeta: boolean = false, ): boolean => { + if (checkBeta) { + return ( + chain?.supported_services?.firehose?.beta.released_at !== null && + chain?.supported_services?.firehose?.beta.deprecated_at === null + ); + } return ( - chain?.supported_services?.firehose?.released_at !== null && - chain?.supported_services?.firehose?.deprecated_at === null + chain?.supported_services?.firehose?.full.released_at !== null && + chain?.supported_services?.firehose?.full.deprecated_at === null ); }; const isSubstreamsSupported = ( chain: Chain | Testnet | ConsensusLayer, + checkBeta: boolean = false, ): boolean => { + if (checkBeta) { + return ( + chain?.supported_services?.substreams?.beta.released_at !== null && + chain?.supported_services?.substreams?.beta.deprecated_at === null + ); + } return ( - chain?.supported_services?.substreams?.released_at !== null && - chain?.supported_services?.substreams?.deprecated_at === null + chain?.supported_services?.substreams?.full.released_at !== null && + chain?.supported_services?.substreams?.full.deprecated_at === null ); }; -const isRpcSupported = (chain: Chain | Testnet | ConsensusLayer): boolean => { +const isRpcSupported = ( + chain: Chain | Testnet | ConsensusLayer, + checkBeta: boolean = false, +): boolean => { // Can take a Consensus Layer as parameter but will always return false. const castedChain = chain as any; if (castedChain.supported_services.rpc === undefined) { return false; } + if (checkBeta) { + return ( + castedChain?.supported_services?.rpc?.beta.released_at !== null && + castedChain?.supported_services?.rpc?.beta.deprecated_at === null + ); + } + return ( castedChain?.supported_services?.rpc?.released_at !== null && castedChain?.supported_services?.rpc?.deprecated_at === null ); }; -const isChainSupported = (chain: Chain | Testnet | ConsensusLayer): boolean => { +const isChainSupported = ( + chain: Chain | Testnet | ConsensusLayer, + checkBeta: boolean = false, +): boolean => { return ( - isFirehoseSupported(chain) || - isSubstreamsSupported(chain) || - isRpcSupported(chain) + isFirehoseSupported(chain, checkBeta) || + isSubstreamsSupported(chain, checkBeta) || + isRpcSupported(chain, checkBeta) ); }; const wasFirehoseOnceSupported = ( chain: Chain | Testnet | ConsensusLayer, + checkBeta: boolean = false, ): boolean => { - return chain?.supported_services?.firehose?.released_at !== null; + if (checkBeta) { + return chain?.supported_services?.firehose?.beta.released_at !== null; + } + return chain?.supported_services?.firehose?.full.released_at !== null; }; const wasSubstreamsOnceSupported = ( chain: Chain | Testnet | ConsensusLayer, + checkBeta: boolean = false, ): boolean => { - return chain?.supported_services?.substreams?.released_at !== null; + if (checkBeta) { + return chain?.supported_services?.substreams?.beta.released_at !== null; + } + return chain?.supported_services?.substreams?.full.released_at !== null; }; const wasRpcOnceSupported = ( chain: Chain | Testnet | ConsensusLayer, + checkBeta: boolean = false, ): boolean => { // Can take a Consensus Layer as parameter but will always return false. const castedChain = chain as any; @@ -60,19 +103,104 @@ const wasRpcOnceSupported = ( return false; } + if (checkBeta) { + return castedChain?.supported_services?.rpc?.beta.released_at !== null; + } + return castedChain?.supported_services?.rpc?.released_at !== null; }; const wasChainOnceSupported = ( chain: Chain | Testnet | ConsensusLayer, + checkBeta: boolean = false, ): boolean => { return ( - wasFirehoseOnceSupported(chain) || - wasSubstreamsOnceSupported(chain) || - wasRpcOnceSupported(chain) + wasFirehoseOnceSupported(chain, checkBeta) || + wasSubstreamsOnceSupported(chain, checkBeta) || + wasRpcOnceSupported(chain, checkBeta) ); }; +/** + * This function takes an array of chains and returns a new array that includes the chains + * and their associated testnets, consensus layers, and EVMs, if the corresponding flags are set to true. + * The chains are first filtered based on a provided filter function and whether they are supported. + * Then they are sorted based on a provided sort function. + * + * Note that the sort function is applied at two levels: first to the chains, + * then to the testnets, consensus layers, and EVMs. This is so that the mainnets and + * their associated testnets, consensus layers, and EVMs remain grouped together in the final array. + * + * @param {Array} chains - The array of chains to be processed. + * @param {(a: ChainBase, b: ChainBase) => number} [sortFn=() => 0] - The function used to sort the chains. + * @param {(chain: ChainBase) => boolean} [filterFn=() => true] - The function used to filter the chains. + * @param {boolean} [includeBeta=false] - Whether to include chains that are in beta. + * @param {boolean} [includeTestnet=false] - Whether to include testnets associated with the chains. + * @param {boolean} [includeConsensusLayer=false] - Whether to include consensus layers associated with the chains. + * @param {boolean} [includeEVM=false] - Whether to include EVMs associated with the chains. + * + * @returns {Array} - The new array of chains, testnets, consensus layers, and EVMs. + */ +const filterSortChains = ( + chains: Array, + sortFn: (a: ChainBase, b: ChainBase) => number = () => 0, + filterFn: (chain: ChainBase) => boolean = () => true, + includeBeta: boolean = false, + includeTestnet: boolean = false, + includeConsensusLayer: boolean = false, + includeEVM: boolean = false, +): Array => { + const __internalFilterSortChains = ( + chains: Array, + ) => { + return ( + chains + // Further filter the chains based on support for Firehose, Substreams, and RPC + // Largest potential filter so we do this first + .filter((chain) => isChainSupported(chain as Chain, includeBeta)) + // First filter the chains based on the filter function (search, etc.) + .filter(filterFn) + // Then sort the chains based on the sort function + .sort(sortFn) + ); + }; + + // First filter-sort Mainnets + let filteredSortedChains = __internalFilterSortChains(chains); + + // Then for each Mainnet, include its testnets, consensus layers, and EVM + // if the flags are set to true + let newFilteredSortedChains: Array = + []; + filteredSortedChains.forEach((chain: any) => { + let modifiedChain = chain; + + if (includeTestnet && chain.testnets !== undefined) { + modifiedChain.testnets = __internalFilterSortChains(chain.testnets); + } else { + delete modifiedChain.testnets; + } + + if (includeConsensusLayer && chain.consensus !== undefined) { + modifiedChain.consensus = __internalFilterSortChains(chain.consensus); + } else { + delete modifiedChain.consensus; + } + + if (includeEVM && chain.evms !== undefined) { + modifiedChain.evms = __internalFilterSortChains(chain.evms); + } else { + delete modifiedChain.evms; + } + newFilteredSortedChains.push(modifiedChain); + }); + return newFilteredSortedChains; +}; + +const flattenChains = ( + chains: Array, +): Array => {}; + export { isFirehoseSupported, isSubstreamsSupported, @@ -82,4 +210,5 @@ export { wasSubstreamsOnceSupported, wasRpcOnceSupported, wasChainOnceSupported, + filterSortChains, }; From 88e4bd53d95c23ba69356372082e6da6f24997c2 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 15 May 2024 21:29:53 -0400 Subject: [PATCH 34/51] Added chain websites --- data/chains/V2/arbone/meta.ts | 3 + data/chains/V2/arweave/meta.ts | 3 + data/chains/V2/avalanche/meta.ts | 3 + data/chains/V2/base/meta.ts | 3 + data/chains/V2/bitcoin/meta.ts | 3 + data/chains/V2/blast/meta.ts | 1 + data/chains/V2/boba/meta.ts | 1 + data/chains/V2/bsc/meta.ts | 3 + data/chains/V2/celo/meta.ts | 3 + data/chains/V2/chains.json | 103 ++++++++++++++++++++++++++++--- data/chains/V2/cosmoshub/meta.ts | 3 + data/chains/V2/cronos/meta.ts | 4 +- data/chains/V2/decimal/meta.ts | 3 + data/chains/V2/eos/meta.ts | 3 + data/chains/V2/eth/meta.ts | 3 + data/chains/V2/fantom/meta.ts | 3 + data/chains/V2/fuse/meta.ts | 1 + data/chains/V2/gnosis/meta.ts | 3 + data/chains/V2/kava/meta.ts | 3 + data/chains/V2/linea/meta.ts | 4 +- data/chains/V2/litecoin/meta.ts | 1 + data/chains/V2/mode/meta.ts | 1 + data/chains/V2/moonbeam/meta.ts | 3 + data/chains/V2/near/meta.ts | 3 + data/chains/V2/optimism/meta.ts | 3 + data/chains/V2/osmosis/meta.ts | 3 + data/chains/V2/polygon/meta.ts | 3 + data/chains/V2/scroll/meta.ts | 3 + data/chains/V2/starknet/meta.ts | 3 + data/chains/V2/telos/meta.ts | 3 + data/chains/V2/wax/meta.ts | 3 + data/chains/V2/xai/meta.ts | 5 +- data/chains/V2/zkevm/meta.ts | 1 + data/chains/V2/zora/meta.ts | 1 + data/index.config.ts | 2 +- types/chain.types.ts | 3 + types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 38 files changed, 185 insertions(+), 16 deletions(-) diff --git a/data/chains/V2/arbone/meta.ts b/data/chains/V2/arbone/meta.ts index 4ae2c50..6bd4622 100644 --- a/data/chains/V2/arbone/meta.ts +++ b/data/chains/V2/arbone/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://arbitrum.io/', + }, }; export default meta; diff --git a/data/chains/V2/arweave/meta.ts b/data/chains/V2/arweave/meta.ts index b954a06..aadb4a2 100644 --- a/data/chains/V2/arweave/meta.ts +++ b/data/chains/V2/arweave/meta.ts @@ -47,6 +47,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://arweave.org/', + }, }; export default meta; diff --git a/data/chains/V2/avalanche/meta.ts b/data/chains/V2/avalanche/meta.ts index 01554ba..8b3f87d 100644 --- a/data/chains/V2/avalanche/meta.ts +++ b/data/chains/V2/avalanche/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://www.avax.network/', + }, }; export default meta; diff --git a/data/chains/V2/base/meta.ts b/data/chains/V2/base/meta.ts index daea7bb..5537ede 100644 --- a/data/chains/V2/base/meta.ts +++ b/data/chains/V2/base/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://www.base.org/', + }, }; export default meta; diff --git a/data/chains/V2/bitcoin/meta.ts b/data/chains/V2/bitcoin/meta.ts index e3570c2..b64e285 100644 --- a/data/chains/V2/bitcoin/meta.ts +++ b/data/chains/V2/bitcoin/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://bitcoin.org/', + }, }; export default meta; diff --git a/data/chains/V2/blast/meta.ts b/data/chains/V2/blast/meta.ts index 290034c..a68864e 100644 --- a/data/chains/V2/blast/meta.ts +++ b/data/chains/V2/blast/meta.ts @@ -53,6 +53,7 @@ const meta: Chain = { evms: [], metadata: { layer: 'L2', + website: 'https://blast.io/en', }, }; diff --git a/data/chains/V2/boba/meta.ts b/data/chains/V2/boba/meta.ts index f71ebd5..b31c06b 100644 --- a/data/chains/V2/boba/meta.ts +++ b/data/chains/V2/boba/meta.ts @@ -52,6 +52,7 @@ const meta: Chain = { evms: [], metadata: { layer: 'L2', + website: 'https://boba.network/', }, }; diff --git a/data/chains/V2/bsc/meta.ts b/data/chains/V2/bsc/meta.ts index 0983c15..5c27864 100644 --- a/data/chains/V2/bsc/meta.ts +++ b/data/chains/V2/bsc/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://www.bnbchain.org/en/bnb-smart-chain', + }, }; export default meta; diff --git a/data/chains/V2/celo/meta.ts b/data/chains/V2/celo/meta.ts index 7152b66..e60edd2 100644 --- a/data/chains/V2/celo/meta.ts +++ b/data/chains/V2/celo/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://celo.org/', + }, }; export default meta; diff --git a/data/chains/V2/chains.json b/data/chains/V2/chains.json index 491b159..4113ea6 100644 --- a/data/chains/V2/chains.json +++ b/data/chains/V2/chains.json @@ -49,6 +49,9 @@ } } }, + "metadata": { + "website": "https://ethereum.org/" + }, "index": 0, "testnets": [ { @@ -371,6 +374,9 @@ } } }, + "metadata": { + "website": "https://bitcoin.org/" + }, "index": 8 }, { @@ -421,6 +427,9 @@ } } }, + "metadata": { + "website": "https://polygon.technology/" + }, "index": 9, "testnets": [ { @@ -566,6 +575,9 @@ } } }, + "metadata": { + "website": "https://www.bnbchain.org/en/bnb-smart-chain" + }, "index": 12, "testnets": [ { @@ -660,6 +672,9 @@ } } }, + "metadata": { + "website": "https://arbitrum.io/" + }, "index": 14, "testnets": [ { @@ -882,6 +897,9 @@ } } }, + "metadata": { + "website": "https://www.avax.network/" + }, "index": 19 }, { @@ -930,6 +948,9 @@ } } }, + "metadata": { + "website": "https://optimism.io/" + }, "index": 20 }, { @@ -982,6 +1003,9 @@ } } }, + "metadata": { + "website": "https://www.base.org/" + }, "index": 21 }, { @@ -1030,6 +1054,9 @@ } } }, + "metadata": { + "website": "https://www.decimalchain.com/" + }, "index": 22 }, { @@ -1078,6 +1105,9 @@ } } }, + "metadata": { + "website": "https://gnosis.io/" + }, "index": 23, "consensus": [ { @@ -1166,6 +1196,9 @@ } } }, + "metadata": { + "website": "https://fantom.foundation/" + }, "index": 25 }, { @@ -1218,6 +1251,9 @@ } } }, + "metadata": { + "website": "https://celo.org/" + }, "index": 26, "testnets": [ { @@ -1316,6 +1352,9 @@ } } }, + "metadata": { + "website": "https://near.org/" + }, "index": 28, "testnets": [ { @@ -1414,6 +1453,9 @@ } } }, + "metadata": { + "website": "https://arweave.org/" + }, "index": 30 }, { @@ -1466,6 +1508,9 @@ } } }, + "metadata": { + "website": "https://cosmos.network/" + }, "index": 31, "testnets": [ { @@ -1608,6 +1653,9 @@ } } }, + "metadata": { + "website": "https://osmosis.zone/" + }, "index": 34 }, { @@ -1660,6 +1708,9 @@ } } }, + "metadata": { + "website": "https://moonbeam.network/" + }, "index": 35 }, { @@ -1712,6 +1763,9 @@ } } }, + "metadata": { + "website": "https://scroll.io/" + }, "index": 36 }, { @@ -1764,6 +1818,9 @@ } } }, + "metadata": { + "website": "https://www.starknet.io/" + }, "index": 37 }, { @@ -1815,6 +1872,9 @@ } } }, + "metadata": { + "website": "https://eosnetwork.com/" + }, "index": 38, "evms": [ { @@ -1999,6 +2059,9 @@ } } }, + "metadata": { + "website": "https://wax.io/" + }, "index": 42, "testnets": [ { @@ -2097,6 +2160,9 @@ } } }, + "metadata": { + "website": "https://telos.net/" + }, "index": 44, "testnets": [ { @@ -2195,6 +2261,9 @@ } } }, + "metadata": { + "website": "https://www.kava.io/" + }, "index": 46 }, { @@ -2252,7 +2321,8 @@ "consensus": [], "evms": [], "metadata": { - "layer": "L2" + "layer": "L2", + "website": "https://blast.io/en" } }, { @@ -2309,7 +2379,8 @@ "consensus": [], "evms": [], "metadata": { - "layer": "L2" + "layer": "L2", + "website": "https://boba.network/" }, "index": 48 }, @@ -2366,7 +2437,9 @@ "testnets": [], "consensus": [], "evms": [], - "metadata": {}, + "metadata": { + "website": "https://cronos.org/" + }, "index": 49 }, { @@ -2423,7 +2496,8 @@ "consensus": [], "evms": [], "metadata": { - "layer": "L1" + "layer": "L1", + "website": "https://fuse.io/" }, "index": 50 }, @@ -2480,7 +2554,9 @@ "testnets": [], "consensus": [], "evms": [], - "metadata": {}, + "metadata": { + "website": "https://linea.build/" + }, "index": 51 }, { @@ -2539,7 +2615,8 @@ "consensus": [], "evms": [], "metadata": { - "layer": "L1" + "layer": "L1", + "website": "https://litecoin.org/" }, "index": 52 }, @@ -2597,7 +2674,8 @@ "consensus": [], "evms": [], "metadata": { - "layer": "L2" + "layer": "L2", + "website": "https://www.mode.network/" }, "index": 53 }, @@ -2654,7 +2732,10 @@ "testnets": [], "consensus": [], "evms": [], - "metadata": {}, + "metadata": { + "layer": "L3", + "website": "https://xai.games/" + }, "index": 54 }, { @@ -2756,7 +2837,8 @@ "consensus": [], "evms": [], "metadata": { - "layer": "L2" + "layer": "L2", + "website": "https://astar.network/" }, "index": 55 }, @@ -2813,7 +2895,8 @@ "consensus": [], "evms": [], "metadata": { - "layer": "L2" + "layer": "L2", + "website": "https://zora.co/" }, "index": 57 } diff --git a/data/chains/V2/cosmoshub/meta.ts b/data/chains/V2/cosmoshub/meta.ts index 22d2755..9737c66 100644 --- a/data/chains/V2/cosmoshub/meta.ts +++ b/data/chains/V2/cosmoshub/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://cosmos.network/', + }, }; export default meta; diff --git a/data/chains/V2/cronos/meta.ts b/data/chains/V2/cronos/meta.ts index 3538f92..47d8e90 100644 --- a/data/chains/V2/cronos/meta.ts +++ b/data/chains/V2/cronos/meta.ts @@ -50,7 +50,9 @@ const meta: Chain = { testnets: [], consensus: [], evms: [], - metadata: {}, + metadata: { + website: 'https://cronos.org/', + }, }; export default meta; diff --git a/data/chains/V2/decimal/meta.ts b/data/chains/V2/decimal/meta.ts index be5e4b4..0435100 100644 --- a/data/chains/V2/decimal/meta.ts +++ b/data/chains/V2/decimal/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://www.decimalchain.com/', + }, }; export default meta; diff --git a/data/chains/V2/eos/meta.ts b/data/chains/V2/eos/meta.ts index 473604d..7fa1775 100644 --- a/data/chains/V2/eos/meta.ts +++ b/data/chains/V2/eos/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://eosnetwork.com/', + }, }; export default meta; diff --git a/data/chains/V2/eth/meta.ts b/data/chains/V2/eth/meta.ts index 3942c17..12d1801 100644 --- a/data/chains/V2/eth/meta.ts +++ b/data/chains/V2/eth/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://ethereum.org/', + }, }; export default meta; diff --git a/data/chains/V2/fantom/meta.ts b/data/chains/V2/fantom/meta.ts index 03ea9c0..3d9b494 100644 --- a/data/chains/V2/fantom/meta.ts +++ b/data/chains/V2/fantom/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://fantom.foundation/', + }, }; export default meta; diff --git a/data/chains/V2/fuse/meta.ts b/data/chains/V2/fuse/meta.ts index 6ea80a9..2d6cf00 100644 --- a/data/chains/V2/fuse/meta.ts +++ b/data/chains/V2/fuse/meta.ts @@ -52,6 +52,7 @@ const meta: Chain = { evms: [], metadata: { layer: 'L1', + website: 'https://fuse.io/', }, }; diff --git a/data/chains/V2/gnosis/meta.ts b/data/chains/V2/gnosis/meta.ts index 2628e4c..6ce8039 100644 --- a/data/chains/V2/gnosis/meta.ts +++ b/data/chains/V2/gnosis/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://gnosis.io/', + }, }; export default meta; diff --git a/data/chains/V2/kava/meta.ts b/data/chains/V2/kava/meta.ts index 709c96c..254f32b 100644 --- a/data/chains/V2/kava/meta.ts +++ b/data/chains/V2/kava/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://www.kava.io/', + }, }; export default meta; diff --git a/data/chains/V2/linea/meta.ts b/data/chains/V2/linea/meta.ts index c627302..76a5e70 100644 --- a/data/chains/V2/linea/meta.ts +++ b/data/chains/V2/linea/meta.ts @@ -50,7 +50,9 @@ const meta: Chain = { testnets: [], consensus: [], evms: [], - metadata: {}, + metadata: { + website: 'https://linea.build/', + }, }; export default meta; diff --git a/data/chains/V2/litecoin/meta.ts b/data/chains/V2/litecoin/meta.ts index 3fa44af..08d6af7 100644 --- a/data/chains/V2/litecoin/meta.ts +++ b/data/chains/V2/litecoin/meta.ts @@ -52,6 +52,7 @@ const meta: Chain = { evms: [], metadata: { layer: 'L1', + website: 'https://litecoin.org/', }, }; diff --git a/data/chains/V2/mode/meta.ts b/data/chains/V2/mode/meta.ts index e954663..b9d6db2 100644 --- a/data/chains/V2/mode/meta.ts +++ b/data/chains/V2/mode/meta.ts @@ -52,6 +52,7 @@ const meta: Chain = { evms: [], metadata: { layer: 'L2', + website: 'https://www.mode.network/', }, }; diff --git a/data/chains/V2/moonbeam/meta.ts b/data/chains/V2/moonbeam/meta.ts index 5762e71..5161037 100644 --- a/data/chains/V2/moonbeam/meta.ts +++ b/data/chains/V2/moonbeam/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://moonbeam.network/', + }, }; export default meta; diff --git a/data/chains/V2/near/meta.ts b/data/chains/V2/near/meta.ts index a614552..e16ccec 100644 --- a/data/chains/V2/near/meta.ts +++ b/data/chains/V2/near/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://near.org/', + }, }; export default meta; diff --git a/data/chains/V2/optimism/meta.ts b/data/chains/V2/optimism/meta.ts index 169adef..19bca68 100644 --- a/data/chains/V2/optimism/meta.ts +++ b/data/chains/V2/optimism/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://optimism.io/', + }, }; export default meta; diff --git a/data/chains/V2/osmosis/meta.ts b/data/chains/V2/osmosis/meta.ts index 79f9cf9..2918d76 100644 --- a/data/chains/V2/osmosis/meta.ts +++ b/data/chains/V2/osmosis/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://osmosis.zone/', + }, }; export default meta; diff --git a/data/chains/V2/polygon/meta.ts b/data/chains/V2/polygon/meta.ts index 8e4fcdb..24bd634 100644 --- a/data/chains/V2/polygon/meta.ts +++ b/data/chains/V2/polygon/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://polygon.technology/', + }, }; export default meta; diff --git a/data/chains/V2/scroll/meta.ts b/data/chains/V2/scroll/meta.ts index ff95d73..7a9e715 100644 --- a/data/chains/V2/scroll/meta.ts +++ b/data/chains/V2/scroll/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://scroll.io/', + }, }; export default meta; diff --git a/data/chains/V2/starknet/meta.ts b/data/chains/V2/starknet/meta.ts index 494cac4..22e5aee 100644 --- a/data/chains/V2/starknet/meta.ts +++ b/data/chains/V2/starknet/meta.ts @@ -48,6 +48,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://www.starknet.io/', + }, }; export default meta; diff --git a/data/chains/V2/telos/meta.ts b/data/chains/V2/telos/meta.ts index 60260d8..e96d288 100644 --- a/data/chains/V2/telos/meta.ts +++ b/data/chains/V2/telos/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://telos.net/', + }, }; export default meta; diff --git a/data/chains/V2/wax/meta.ts b/data/chains/V2/wax/meta.ts index 534b45f..1bae1ad 100644 --- a/data/chains/V2/wax/meta.ts +++ b/data/chains/V2/wax/meta.ts @@ -46,6 +46,9 @@ const meta: Chain = { }, }, }, + metadata: { + website: 'https://wax.io/', + }, }; export default meta; diff --git a/data/chains/V2/xai/meta.ts b/data/chains/V2/xai/meta.ts index e2d7251..67a12bd 100644 --- a/data/chains/V2/xai/meta.ts +++ b/data/chains/V2/xai/meta.ts @@ -50,7 +50,10 @@ const meta: Chain = { testnets: [], consensus: [], evms: [], - metadata: {}, + metadata: { + layer: 'L3', + website: 'https://xai.games/', + }, }; export default meta; diff --git a/data/chains/V2/zkevm/meta.ts b/data/chains/V2/zkevm/meta.ts index bed8dad..0ba6c89 100644 --- a/data/chains/V2/zkevm/meta.ts +++ b/data/chains/V2/zkevm/meta.ts @@ -52,6 +52,7 @@ const meta: Chain = { evms: [], metadata: { layer: 'L2', + website: 'https://astar.network/', }, }; diff --git a/data/chains/V2/zora/meta.ts b/data/chains/V2/zora/meta.ts index b840617..cd3dc74 100644 --- a/data/chains/V2/zora/meta.ts +++ b/data/chains/V2/zora/meta.ts @@ -52,6 +52,7 @@ const meta: Chain = { evms: [], metadata: { layer: 'L2', + website: 'https://zora.co/', }, }; diff --git a/data/index.config.ts b/data/index.config.ts index 2d973f4..9f931f6 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 5/15/2024, 6:13:13 PM. +// Last generation on 5/15/2024, 9:29:54 PM. export default { ordered: { diff --git a/types/chain.types.ts b/types/chain.types.ts index b80821e..d905b83 100644 --- a/types/chain.types.ts +++ b/types/chain.types.ts @@ -80,6 +80,9 @@ export interface Chain extends ChainBase { // Layer of the chain layer?: 'L0' | 'L1' | 'L2' | 'L3'; + // Website of the chain + website?: string; + // Mainchain ID, if the chain is a sidechain // Either a PinaxID or a string, as the mainchain may not be in the list of chains mainchain_id?: PinaxID | string; diff --git a/types/graph.types.ts b/types/graph.types.ts index 931be64..e8cc5da 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/15/2024, 6:13:14 PM. +// Last generation on 5/15/2024, 9:29:55 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 79ef92a..1a426bf 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/15/2024, 6:13:14 PM. +// Last generation on 5/15/2024, 9:29:55 PM. export type PinaxID = | 'arbone' | 'arbgoerli' From a2000490c23839bbd5219b18b068660247907adf Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 15 May 2024 21:36:50 -0400 Subject: [PATCH 35/51] Fix Tokens/icon check in data generation (works in icons_copy) --- data/chains/V2/chains.json | 46 +++++++++++++++++++++++++------- data/chains/V2/optimism/meta.ts | 2 +- data/chains/V2/polygon/meta.ts | 2 +- data/index.config.ts | 2 +- scripts/generate/V2/data_json.ts | 3 ++- types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 7 files changed, 44 insertions(+), 15 deletions(-) diff --git a/data/chains/V2/chains.json b/data/chains/V2/chains.json index 4113ea6..81b0cb8 100644 --- a/data/chains/V2/chains.json +++ b/data/chains/V2/chains.json @@ -340,7 +340,11 @@ }, "icon": { "id": "tokens/btc", - "brand_theme": "both" + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] }, "supported_services": { "firehose": { @@ -392,8 +396,12 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "icon": { - "id": "networks/polygon", - "brand_theme": "both" + "id": "networks/polygon-pos", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] }, "supported_services": { "firehose": { @@ -638,7 +646,11 @@ }, "icon": { "id": "tokens/arbi", - "brand_theme": "both" + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] }, "supported_services": { "firehose": { @@ -913,8 +925,12 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "icon": { - "id": "networks/optimism", - "brand_theme": "both" + "id": "networks/optimistic-ethereum", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] }, "supported_services": { "firehose": { @@ -1020,7 +1036,11 @@ }, "icon": { "id": "tokens/del", - "brand_theme": "both" + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] }, "supported_services": { "firehose": { @@ -1071,7 +1091,11 @@ }, "icon": { "id": "tokens/gno", - "brand_theme": "dark" + "brand_theme": "dark", + "variants": [ + "branded", + "mono" + ] }, "supported_services": { "firehose": { @@ -2025,7 +2049,11 @@ }, "icon": { "id": "tokens/waxp", - "brand_theme": "both" + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] }, "supported_services": { "firehose": { diff --git a/data/chains/V2/optimism/meta.ts b/data/chains/V2/optimism/meta.ts index 19bca68..82474aa 100644 --- a/data/chains/V2/optimism/meta.ts +++ b/data/chains/V2/optimism/meta.ts @@ -11,7 +11,7 @@ const meta: Chain = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, icon: { - id: 'networks/optimism', + id: 'networks/optimistic-ethereum', brand_theme: 'both', }, supported_services: { diff --git a/data/chains/V2/polygon/meta.ts b/data/chains/V2/polygon/meta.ts index 24bd634..86eca77 100644 --- a/data/chains/V2/polygon/meta.ts +++ b/data/chains/V2/polygon/meta.ts @@ -11,7 +11,7 @@ const meta: Chain = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, icon: { - id: 'networks/polygon', + id: 'networks/polygon-pos', brand_theme: 'both', }, supported_services: { diff --git a/data/index.config.ts b/data/index.config.ts index 9f931f6..aae8f69 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 5/15/2024, 9:29:54 PM. +// Last generation on 5/15/2024, 9:36:50 PM. export default { ordered: { diff --git a/scripts/generate/V2/data_json.ts b/scripts/generate/V2/data_json.ts index b29bfbc..8f1c0b0 100644 --- a/scripts/generate/V2/data_json.ts +++ b/scripts/generate/V2/data_json.ts @@ -18,6 +18,7 @@ interface Network { interface Token { id: string; + symbol: string; variants: string[]; } @@ -70,7 +71,7 @@ Object.keys(indexConf.ordered).forEach((mainnet, mainnetIndex) => { if (mainnetData.icon.id.indexOf('tokens') !== -1) { const iconMeta = tokens.find( - (token) => token.id === mainnetData.icon.id.split('/')[1], + (token) => token.symbol === mainnetData.icon.id.split('/')[1], ); if (iconMeta) { mainnetData.icon.variants = iconMeta.variants; diff --git a/types/graph.types.ts b/types/graph.types.ts index e8cc5da..d71ddc4 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/15/2024, 9:29:55 PM. +// Last generation on 5/15/2024, 9:36:50 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 1a426bf..df6c002 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/15/2024, 9:29:55 PM. +// Last generation on 5/15/2024, 9:36:51 PM. export type PinaxID = | 'arbone' | 'arbgoerli' From 53659c84c4cfd1cbd9d99b4b90c677a33de79594 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 15 May 2024 23:44:28 -0400 Subject: [PATCH 36/51] Converted chain files to use new service status, script/cache to generate dates from those is WIP --- .cache/chains.cache.json | 2755 +++++++++++++++++ data/chains/V2/arbone/meta.ts | 33 +- .../V2/arbone/testnets/arbgoerli/meta.ts | 33 +- .../V2/arbone/testnets/arbsepolia/meta.ts | 33 +- data/chains/V2/arweave/meta.ts | 33 +- data/chains/V2/avalanche/meta.ts | 33 +- data/chains/V2/base/meta.ts | 33 +- data/chains/V2/bitcoin/meta.ts | 33 +- data/chains/V2/blast/meta.ts | 33 +- data/chains/V2/boba/meta.ts | 33 +- data/chains/V2/bsc/meta.ts | 33 +- data/chains/V2/bsc/testnets/chapel/meta.ts | 33 +- data/chains/V2/celo/meta.ts | 33 +- .../chains/V2/celo/testnets/alfajores/meta.ts | 33 +- data/chains/V2/chains.json | 1848 +---------- data/chains/V2/cosmoshub/meta.ts | 33 +- .../chains/V2/cosmoshub/testnets/juno/meta.ts | 33 +- .../V2/cosmoshub/testnets/theta/meta.ts | 33 +- data/chains/V2/cronos/meta.ts | 33 +- data/chains/V2/decimal/meta.ts | 33 +- data/chains/V2/eos/evms/eosevm/meta.ts | 33 +- data/chains/V2/eos/meta.ts | 33 +- data/chains/V2/eos/testnets/jungle4/meta.ts | 33 +- data/chains/V2/eos/testnets/kylin/meta.ts | 33 +- data/chains/V2/eth/consensus/eth-cl/meta.ts | 22 +- .../chains/V2/eth/consensus/goerli-cl/meta.ts | 22 +- .../V2/eth/consensus/holesky-cl/meta.ts | 22 +- .../V2/eth/consensus/sepolia-cl/meta.ts | 22 +- data/chains/V2/eth/meta.ts | 33 +- data/chains/V2/eth/testnets/goerli/meta.ts | 33 +- data/chains/V2/eth/testnets/holesky/meta.ts | 33 +- data/chains/V2/eth/testnets/sepolia/meta.ts | 33 +- data/chains/V2/fantom/meta.ts | 33 +- data/chains/V2/fuse/meta.ts | 33 +- .../V2/gnosis/consensus/chiado-cl/meta.ts | 22 +- .../V2/gnosis/consensus/gnosis-cl/meta.ts | 22 +- data/chains/V2/gnosis/meta.ts | 33 +- data/chains/V2/gnosis/testnets/chiado/meta.ts | 33 +- data/chains/V2/kava/meta.ts | 33 +- data/chains/V2/linea/meta.ts | 33 +- data/chains/V2/litecoin/meta.ts | 33 +- data/chains/V2/mode/meta.ts | 33 +- data/chains/V2/moonbeam/meta.ts | 33 +- data/chains/V2/near/meta.ts | 33 +- data/chains/V2/near/testnets/neartest/meta.ts | 33 +- data/chains/V2/optimism/meta.ts | 33 +- data/chains/V2/osmosis/meta.ts | 33 +- data/chains/V2/polygon/meta.ts | 33 +- data/chains/V2/polygon/testnets/amoy/meta.ts | 33 +- .../chains/V2/polygon/testnets/mumbai/meta.ts | 33 +- data/chains/V2/scroll/meta.ts | 33 +- data/chains/V2/starknet/meta.ts | 33 +- data/chains/V2/telos/meta.ts | 33 +- .../V2/telos/testnets/telostest/meta.ts | 33 +- data/chains/V2/wax/meta.ts | 33 +- data/chains/V2/wax/testnets/waxtest/meta.ts | 33 +- data/chains/V2/xai/meta.ts | 33 +- data/chains/V2/zkevm/meta.ts | 33 +- data/chains/V2/zkevm/testnets/zkyoto/meta.ts | 33 +- data/chains/V2/zora/meta.ts | 33 +- data/index.config.ts | 2 +- package-lock.json | 519 +++- package.json | 5 +- scripts/generate/V2/data_json.ts | 7 + .../V2/match_legacy_data.ts | 0 types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- types/service.types.ts | 15 +- 68 files changed, 3627 insertions(+), 3376 deletions(-) create mode 100644 .cache/chains.cache.json rename scripts/{generate => verify}/V2/match_legacy_data.ts (100%) diff --git a/.cache/chains.cache.json b/.cache/chains.cache.json new file mode 100644 index 0000000..79fa36f --- /dev/null +++ b/.cache/chains.cache.json @@ -0,0 +1,2755 @@ +[ + { + "id": "eth", + "graph_id": "mainnet", + "name": "Ethereum", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/ethereum", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "metadata": { + "website": "https://ethereum.org/" + }, + "index": 0, + "testnets": [ + { + "id": "holesky", + "graph_id": null, + "name": "Holesky", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 1 + }, + { + "id": "sepolia", + "graph_id": "sepolia", + "name": "Sepolia", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 2 + }, + { + "id": "goerli", + "graph_id": null, + "name": "Goerli", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "substreams": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "rpc": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } + }, + "index": 6 + } + ], + "consensus": [ + { + "id": "eth-cl", + "graph_id": null, + "name": "Ethereum Consensus Layer", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 3 + }, + { + "id": "holesky-cl", + "graph_id": null, + "name": "Holesky Consensus Layer", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } + } + }, + "index": 4 + }, + { + "id": "sepolia-cl", + "graph_id": null, + "name": "Sepolia Consensus Layer", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } + } + }, + "index": 5 + }, + { + "id": "goerli-cl", + "graph_id": null, + "name": "Goerli Consensus Layer", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } + }, + "substreams": { + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } + } + }, + "index": 7 + } + ] + }, + { + "id": "bitcoin", + "graph_id": null, + "name": "Bitcoin", + "alt_names": ["btc"], + "standard": "brc20", + "block_type": { + "label": "sf.bitcoin.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" + }, + "icon": { + "id": "tokens/btc", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-21T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-21T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-21T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-21T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://bitcoin.org/" + }, + "index": 8 + }, + { + "id": "polygon", + "graph_id": "matic", + "name": "Polygon", + "alt_names": ["matic"], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/polygon-pos", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://polygon.technology/" + }, + "index": 9, + "testnets": [ + { + "id": "amoy", + "graph_id": "polygon-amoy", + "name": "Amoy", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + } + } + }, + "index": 10 + }, + { + "id": "mumbai", + "graph_id": null, + "name": "Mumbai", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + } + }, + "rpc": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + } + } + }, + "index": 11 + } + ] + }, + { + "id": "bsc", + "graph_id": "bsc", + "name": "BNB", + "alt_names": ["bsc", "binance"], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/binance-smart-chain", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://www.bnbchain.org/en/bnb-smart-chain" + }, + "index": 12, + "testnets": [ + { + "id": "chapel", + "graph_id": "chapel", + "name": "Chapel", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } + }, + "index": 13 + } + ] + }, + { + "id": "arbone", + "graph_id": "arbitrum-one", + "name": "Arbitrum One", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/arbi", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://arbitrum.io/" + }, + "index": 14, + "testnets": [ + { + "id": "arbgoerli", + "graph_id": null, + "name": "Arbitrum Goerli", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "index": 15 + }, + { + "id": "arbsepolia", + "graph_id": "arbitrum-sepolia", + "name": "Arbitrum Sepolia", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + } + } + }, + "index": 16 + }, + { + "id": "chiado", + "graph_id": null, + "name": "Chiado", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "index": 18 + } + ], + "consensus": [ + { + "id": "chiado-cl", + "graph_id": null, + "name": "Chiado Consensus Layer", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } + } + }, + "index": 17 + } + ] + }, + { + "id": "avalanche", + "graph_id": "avalanche", + "name": "Avalanche", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/avalanche", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://www.avax.network/" + }, + "index": 19 + }, + { + "id": "optimism", + "graph_id": "optimism", + "name": "Optimism", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/optimistic-ethereum", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://optimism.io/" + }, + "index": 20 + }, + { + "id": "base", + "graph_id": "base", + "name": "Base", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/base", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://www.base.org/" + }, + "index": 21 + }, + { + "id": "decimal", + "graph_id": null, + "name": "Decimal", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/del", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://www.decimalchain.com/" + }, + "index": 22 + }, + { + "id": "gnosis", + "graph_id": "gnosis", + "name": "Gnosis", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/gno", + "brand_theme": "dark", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://gnosis.io/" + }, + "index": 23, + "consensus": [ + { + "id": "gnosis-cl", + "graph_id": null, + "name": "Gnosis Consensus Layer", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } + } + }, + "index": 24 + } + ] + }, + { + "id": "fantom", + "graph_id": "fantom", + "name": "Fantom", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/fantom", + "brand_theme": "light", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://fantom.foundation/" + }, + "index": 25 + }, + { + "id": "celo", + "graph_id": "celo", + "name": "Celo", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/celo", + "brand_theme": "light", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://celo.org/" + }, + "index": 26, + "testnets": [ + { + "id": "alfajores", + "graph_id": null, + "name": "Alfajores", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "index": 27 + } + ] + }, + { + "id": "near", + "graph_id": "near-mainnet", + "name": "Near", + "alt_names": [], + "standard": "near", + "block_type": { + "label": "sf.near.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" + }, + "icon": { + "id": "tokens/near", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://near.org/" + }, + "index": 28, + "testnets": [ + { + "id": "neartest", + "graph_id": "near-testnet", + "name": "Near-testnet", + "alt_names": [], + "standard": "near", + "block_type": { + "label": "sf.near.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "index": 29 + } + ] + }, + { + "id": "arweave", + "graph_id": "arweave-mainnet", + "name": "Arweave", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.arweave.type.v1.Block", + "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" + }, + "icon": { + "id": "tokens/ar", + "brand_theme": "dark", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-03-03T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-03-03T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://arweave.org/" + }, + "index": 30 + }, + { + "id": "cosmoshub", + "graph_id": "cosmoshub-4", + "name": "Cosmos Hub", + "alt_names": [], + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "icon": { + "id": "networks/cosmos", + "brand_theme": "dark", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://cosmos.network/" + }, + "index": 31, + "testnets": [ + { + "id": "theta", + "graph_id": "theta-testnet-001", + "name": "Theta", + "alt_names": [], + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "index": 32 + }, + { + "id": "juno", + "graph_id": null, + "name": "Juno", + "alt_names": [], + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "index": 33 + } + ] + }, + { + "id": "osmosis", + "graph_id": "osmosis-1", + "name": "Osmosis", + "alt_names": [], + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "icon": { + "id": "networks/osmosis", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://osmosis.zone/" + }, + "index": 34 + }, + { + "id": "moonbeam", + "graph_id": "moonbeam", + "name": "Moonbeam", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/moonbeam", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://moonbeam.network/" + }, + "index": 35 + }, + { + "id": "scroll", + "graph_id": "scroll", + "name": "Scroll", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/scroll", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://scroll.io/" + }, + "index": 36 + }, + { + "id": "starknet", + "graph_id": null, + "name": "Starknet", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/starknet", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://www.starknet.io/" + }, + "index": 37 + }, + { + "id": "eos", + "graph_id": null, + "name": "EOS", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "icon": { + "id": "tokens/eos", + "brand_theme": "light", + "variants": ["mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://eosnetwork.com/" + }, + "index": 38, + "evms": [ + { + "id": "eosevm", + "graph_id": null, + "name": "EOS EVM", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "index": 39 + } + ], + "testnets": [ + { + "id": "jungle4", + "graph_id": null, + "name": "Jungle4", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + } + }, + "index": 40 + }, + { + "id": "kylin", + "graph_id": null, + "name": "Kylin", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "index": 41 + } + ] + }, + { + "id": "wax", + "graph_id": null, + "name": "WAX", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "icon": { + "id": "tokens/waxp", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://wax.io/" + }, + "index": 42, + "testnets": [ + { + "id": "waxtest", + "graph_id": null, + "name": "WAX Test", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "index": 43 + } + ] + }, + { + "id": "telos", + "graph_id": null, + "name": "Telos", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "icon": { + "id": "networks/telos", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://telos.net/" + }, + "index": 44, + "testnets": [ + { + "id": "telostest", + "graph_id": null, + "name": "Telos Test", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "full": { + "released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "index": 45 + } + ] + }, + { + "id": "kava", + "graph_id": null, + "name": "Kava", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/kava", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "metadata": { + "website": "https://www.kava.io/" + }, + "index": 46 + }, + { + "id": "blast", + "name": "Blast Network", + "alt_names": [], + "graph_id": "blast-mainnet", + "index": 47, + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/blast", + "brand_theme": "light", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2", + "website": "https://blast.io/en" + } + }, + { + "id": "boba", + "name": "Boba Network", + "alt_names": [], + "graph_id": "boba", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/boba", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2", + "website": "https://boba.network/" + }, + "index": 48 + }, + { + "id": "cronos", + "name": "Cronos", + "alt_names": [], + "graph_id": null, + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/cronos", + "brand_theme": "dark", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "website": "https://cronos.org/" + }, + "index": 49 + }, + { + "id": "fuse", + "name": "Fuse", + "alt_names": [], + "graph_id": "fuse", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/fuse", + "brand_theme": "light", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L1", + "website": "https://fuse.io/" + }, + "index": 50 + }, + { + "id": "linea", + "name": "Linea", + "alt_names": [], + "graph_id": "linea", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/linea", + "brand_theme": "dark", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "website": "https://linea.build/" + }, + "index": 51 + }, + { + "id": "litecoin", + "name": "Litecoin", + "alt_names": ["LTC"], + "graph_id": null, + "standard": "ltc20", + "block_type": { + "label": "sf.litecoin.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-litecoin/docs/main:sf.litecoin.type.v1" + }, + "icon": { + "id": "tokens/ltc", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": null, + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L1", + "website": "https://litecoin.org/" + }, + "index": 52 + }, + { + "id": "mode", + "name": "Mode Network", + "alt_names": [], + "graph_id": "mode-mainnet", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/mode", + "brand_theme": "light", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2", + "website": "https://www.mode.network/" + }, + "index": 53 + }, + { + "id": "xai", + "name": "XAI", + "alt_names": [], + "graph_id": null, + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/xai", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L3", + "website": "https://xai.games/" + }, + "index": 54 + }, + { + "id": "zkevm", + "name": "Astar zkEVM", + "alt_names": [], + "graph_id": null, + "standard": "erc20", + "block_type": { + "label": "sf.zkevm.type.v1.Block", + "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" + }, + "icon": { + "id": "networks/astar", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [ + { + "id": "zkyoto", + "name": "Astar zKyoto", + "alt_names": [], + "graph_id": "zkyoto-testnet", + "standard": "erc20", + "block_type": { + "label": "sf.zkevm.type.v1.Block", + "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "index": 56 + } + ], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2", + "website": "https://astar.network/" + }, + "index": 55 + }, + { + "id": "zora", + "name": "Zora Network", + "alt_names": [], + "graph_id": null, + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/zora", + "brand_theme": "both", + "variants": ["branded"] + }, + "supported_services": { + "rpc": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "firehose": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + }, + "substreams": { + "beta": { + "released_at": "2024-05-14T00:00:00Z", + "deprecated_at": null + }, + "full": { + "released_at": null, + "deprecated_at": null + } + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2", + "website": "https://zora.co/" + }, + "index": 57 + } +] diff --git a/data/chains/V2/arbone/meta.ts b/data/chains/V2/arbone/meta.ts index 6bd4622..e674207 100644 --- a/data/chains/V2/arbone/meta.ts +++ b/data/chains/V2/arbone/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'beta', + firehose: 'beta', + substreams: 'beta', }, metadata: { website: 'https://arbitrum.io/', diff --git a/data/chains/V2/arbone/testnets/arbgoerli/meta.ts b/data/chains/V2/arbone/testnets/arbgoerli/meta.ts index 210bb75..c6d6837 100644 --- a/data/chains/V2/arbone/testnets/arbgoerli/meta.ts +++ b/data/chains/V2/arbone/testnets/arbgoerli/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', }, }; diff --git a/data/chains/V2/arbone/testnets/arbsepolia/meta.ts b/data/chains/V2/arbone/testnets/arbsepolia/meta.ts index 7220ed5..8e5cf94 100644 --- a/data/chains/V2/arbone/testnets/arbsepolia/meta.ts +++ b/data/chains/V2/arbone/testnets/arbsepolia/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: '2024-05-03T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2024-05-03T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-05-03T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2024-05-03T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: '2024-05-03T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2024-05-03T00:00:00.000Z', - deprecated_at: null, - }, - }, + rpc: 'released', + firehose: 'released', + substreams: 'released', }, }; diff --git a/data/chains/V2/arweave/meta.ts b/data/chains/V2/arweave/meta.ts index aadb4a2..7a7761e 100644 --- a/data/chains/V2/arweave/meta.ts +++ b/data/chains/V2/arweave/meta.ts @@ -16,36 +16,9 @@ const meta: Chain = { variants: ['branded', 'mono'], }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-03-03T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2024-03-03T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'released', + substreams: 'released', }, metadata: { website: 'https://arweave.org/', diff --git a/data/chains/V2/avalanche/meta.ts b/data/chains/V2/avalanche/meta.ts index 8b3f87d..3ca826c 100644 --- a/data/chains/V2/avalanche/meta.ts +++ b/data/chains/V2/avalanche/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', }, metadata: { website: 'https://www.avax.network/', diff --git a/data/chains/V2/base/meta.ts b/data/chains/V2/base/meta.ts index 5537ede..3d7c121 100644 --- a/data/chains/V2/base/meta.ts +++ b/data/chains/V2/base/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: '2024-03-06T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2024-03-06T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-03-06T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2024-03-06T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'released', + substreams: 'released', }, metadata: { website: 'https://www.base.org/', diff --git a/data/chains/V2/bitcoin/meta.ts b/data/chains/V2/bitcoin/meta.ts index b64e285..002a665 100644 --- a/data/chains/V2/bitcoin/meta.ts +++ b/data/chains/V2/bitcoin/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-21T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-21T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-21T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-21T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'released', + substreams: 'released', }, metadata: { website: 'https://bitcoin.org/', diff --git a/data/chains/V2/blast/meta.ts b/data/chains/V2/blast/meta.ts index a68864e..f22b538 100644 --- a/data/chains/V2/blast/meta.ts +++ b/data/chains/V2/blast/meta.ts @@ -17,36 +17,9 @@ const meta: Chain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - firehose: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'beta', + firehose: 'beta', + substreams: 'beta', }, testnets: [], consensus: [], diff --git a/data/chains/V2/boba/meta.ts b/data/chains/V2/boba/meta.ts index b31c06b..c45e893 100644 --- a/data/chains/V2/boba/meta.ts +++ b/data/chains/V2/boba/meta.ts @@ -16,36 +16,9 @@ const meta: Chain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - firehose: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'beta', + firehose: 'beta', + substreams: 'beta', }, testnets: [], consensus: [], diff --git a/data/chains/V2/bsc/meta.ts b/data/chains/V2/bsc/meta.ts index 5c27864..1934f15 100644 --- a/data/chains/V2/bsc/meta.ts +++ b/data/chains/V2/bsc/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, + rpc: 'released', + firehose: 'released', + substreams: 'released', }, metadata: { website: 'https://www.bnbchain.org/en/bnb-smart-chain', diff --git a/data/chains/V2/bsc/testnets/chapel/meta.ts b/data/chains/V2/bsc/testnets/chapel/meta.ts index 424aca2..8730394 100644 --- a/data/chains/V2/bsc/testnets/chapel/meta.ts +++ b/data/chains/V2/bsc/testnets/chapel/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, + rpc: 'released', + firehose: 'released', + substreams: 'released', }, }; diff --git a/data/chains/V2/celo/meta.ts b/data/chains/V2/celo/meta.ts index e60edd2..36a2327 100644 --- a/data/chains/V2/celo/meta.ts +++ b/data/chains/V2/celo/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'light', }, supported_services: { - firehose: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', }, metadata: { website: 'https://celo.org/', diff --git a/data/chains/V2/celo/testnets/alfajores/meta.ts b/data/chains/V2/celo/testnets/alfajores/meta.ts index a200c8f..85b6275 100644 --- a/data/chains/V2/celo/testnets/alfajores/meta.ts +++ b/data/chains/V2/celo/testnets/alfajores/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', }, }; diff --git a/data/chains/V2/chains.json b/data/chains/V2/chains.json index 81b0cb8..81f4fde 100644 --- a/data/chains/V2/chains.json +++ b/data/chains/V2/chains.json @@ -18,36 +18,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "deprecated", + "substreams": "unreleased" }, "metadata": { "website": "https://ethereum.org/" @@ -65,36 +38,9 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } + "rpc": "deprecated", + "firehose": "deprecated", + "substreams": "deprecated" }, "index": 1 }, @@ -109,36 +55,9 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } + "rpc": "deprecated", + "firehose": "deprecated", + "substreams": "deprecated" }, "index": 2 }, @@ -153,36 +72,9 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } - }, - "substreams": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } - }, - "rpc": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } - } + "rpc": "deprecated", + "firehose": "deprecated", + "substreams": "deprecated" }, "index": 6 } @@ -199,26 +91,8 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - } + "firehose": "released", + "substreams": "released" }, "index": 3 }, @@ -233,26 +107,8 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - } + "firehose": "released", + "substreams": "released" }, "index": 4 }, @@ -267,26 +123,8 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - } + "firehose": "released", + "substreams": "released" }, "index": 5 }, @@ -301,26 +139,8 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } - }, - "substreams": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } - } + "firehose": "released", + "substreams": "released" }, "index": 7 } @@ -347,36 +167,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-21T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-21T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-21T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-21T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "released", + "substreams": "released" }, "metadata": { "website": "https://bitcoin.org/" @@ -404,36 +197,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } + "rpc": "released", + "firehose": "released", + "substreams": "released" }, "metadata": { "website": "https://polygon.technology/" @@ -451,36 +217,9 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - } - } + "rpc": "released", + "firehose": "released", + "substreams": "released" }, "index": 10 }, @@ -495,36 +234,9 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - } - }, - "rpc": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - } - } + "rpc": "deprecated", + "firehose": "deprecated", + "substreams": "deprecated" }, "index": 11 } @@ -552,36 +264,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } + "rpc": "released", + "firehose": "released", + "substreams": "released" }, "metadata": { "website": "https://www.bnbchain.org/en/bnb-smart-chain" @@ -599,36 +284,9 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } + "rpc": "released", + "firehose": "released", + "substreams": "released" }, "index": 13 } @@ -653,36 +311,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "beta", + "firehose": "beta", + "substreams": "beta" }, "metadata": { "website": "https://arbitrum.io/" @@ -700,36 +331,9 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "unreleased", + "substreams": "unreleased" }, "index": 15 }, @@ -744,36 +348,9 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - } - } + "rpc": "released", + "firehose": "released", + "substreams": "released" }, "index": 16 }, @@ -788,36 +365,9 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "unreleased", + "substreams": "unreleased" }, "index": 18 } @@ -834,26 +384,8 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - } + "firehose": "released", + "substreams": "released" }, "index": 17 } @@ -878,36 +410,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "unreleased", + "substreams": "unreleased" }, "metadata": { "website": "https://www.avax.network/" @@ -933,36 +438,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "released", + "substreams": "released" }, "metadata": { "website": "https://optimism.io/" @@ -988,36 +466,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2024-03-06T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-03-06T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-03-06T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-03-06T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "released", + "substreams": "released" }, "metadata": { "website": "https://www.base.org/" @@ -1043,36 +494,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "beta", + "firehose": "deprecated", + "substreams": "unreleased" }, "metadata": { "website": "https://www.decimalchain.com/" @@ -1098,36 +522,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "beta", + "firehose": "unreleased", + "substreams": "unreleased" }, "metadata": { "website": "https://gnosis.io/" @@ -1145,26 +542,8 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - } + "firehose": "released", + "substreams": "released" }, "index": 24 } @@ -1189,36 +568,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "beta", + "firehose": "unreleased", + "substreams": "unreleased" }, "metadata": { "website": "https://fantom.foundation/" @@ -1244,36 +596,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "unreleased", + "substreams": "unreleased" }, "metadata": { "website": "https://celo.org/" @@ -1291,36 +616,9 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "unreleased", + "substreams": "unreleased" }, "index": 27 } @@ -1345,36 +643,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "released", + "substreams": "released" }, "metadata": { "website": "https://near.org/" @@ -1392,36 +663,9 @@ "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "released", + "substreams": "released" }, "index": 29 } @@ -1446,36 +690,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-03-03T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-03-03T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "released", + "substreams": "released" }, "metadata": { "website": "https://arweave.org/" @@ -1501,36 +718,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "released", + "substreams": "unreleased" }, "metadata": { "website": "https://cosmos.network/" @@ -1548,36 +738,9 @@ "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "deprecated", + "substreams": "unreleased" }, "index": 32 }, @@ -1592,36 +755,9 @@ "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "deprecated", + "substreams": "unreleased" }, "index": 33 } @@ -1646,36 +782,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "released", + "substreams": "unreleased" }, "metadata": { "website": "https://osmosis.zone/" @@ -1701,36 +810,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "unreleased", + "substreams": "unreleased" }, "metadata": { "website": "https://moonbeam.network/" @@ -1756,36 +838,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "unreleased", + "substreams": "unreleased" }, "metadata": { "website": "https://scroll.io/" @@ -1811,36 +866,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "unreleased", + "substreams": "unreleased" }, "metadata": { "website": "https://www.starknet.io/" @@ -1865,36 +893,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "deprecated", + "substreams": "unreleased" }, "metadata": { "website": "https://eosnetwork.com/" @@ -1912,36 +913,9 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "deprecated", + "substreams": "unreleased" }, "index": 39 } @@ -1958,36 +932,9 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "deprecated", + "substreams": "unreleased" }, "index": 40 }, @@ -2002,36 +949,9 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "deprecated", + "substreams": "unreleased" }, "index": 41 } @@ -2056,36 +976,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "released", + "substreams": "released" }, "metadata": { "website": "https://wax.io/" @@ -2103,36 +996,9 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "released", + "substreams": "released" }, "index": 43 } @@ -2157,36 +1023,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "unreleased", + "substreams": "unreleased" }, "metadata": { "website": "https://telos.net/" @@ -2204,36 +1043,9 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "released", + "substreams": "released" }, "index": 45 } @@ -2258,36 +1070,9 @@ ] }, "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "beta", + "firehose": "unreleased", + "substreams": "unreleased" }, "metadata": { "website": "https://www.kava.io/" @@ -2314,36 +1099,9 @@ ] }, "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "beta", + "firehose": "beta", + "substreams": "beta" }, "testnets": [], "consensus": [], @@ -2372,36 +1130,9 @@ ] }, "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "beta", + "firehose": "beta", + "substreams": "beta" }, "testnets": [], "consensus": [], @@ -2431,36 +1162,9 @@ ] }, "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "deprecated", + "substreams": "unreleased" }, "testnets": [], "consensus": [], @@ -2489,36 +1193,9 @@ ] }, "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "beta", + "firehose": "beta", + "substreams": "beta" }, "testnets": [], "consensus": [], @@ -2548,36 +1225,9 @@ ] }, "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "beta", + "firehose": "beta", + "substreams": "beta" }, "testnets": [], "consensus": [], @@ -2608,36 +1258,9 @@ ] }, "supported_services": { - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "beta", + "substreams": "beta" }, "testnets": [], "consensus": [], @@ -2667,36 +1290,9 @@ ] }, "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "beta", + "firehose": "beta", + "substreams": "beta" }, "testnets": [], "consensus": [], @@ -2726,36 +1322,9 @@ ] }, "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "unreleased", + "firehose": "released", + "substreams": "released" }, "testnets": [], "consensus": [], @@ -2785,36 +1354,9 @@ ] }, "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "beta", + "firehose": "beta", + "substreams": "beta" }, "testnets": [ { @@ -2828,36 +1370,9 @@ "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" }, "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "beta", + "firehose": "beta", + "substreams": "beta" }, "index": 56 } @@ -2888,36 +1403,9 @@ ] }, "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } + "rpc": "beta", + "firehose": "beta", + "substreams": "beta" }, "testnets": [], "consensus": [], diff --git a/data/chains/V2/cosmoshub/meta.ts b/data/chains/V2/cosmoshub/meta.ts index 9737c66..87032f0 100644 --- a/data/chains/V2/cosmoshub/meta.ts +++ b/data/chains/V2/cosmoshub/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'dark', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'released', + substreams: 'unreleased', }, metadata: { website: 'https://cosmos.network/', diff --git a/data/chains/V2/cosmoshub/testnets/juno/meta.ts b/data/chains/V2/cosmoshub/testnets/juno/meta.ts index 13fccd0..d8ecb06 100644 --- a/data/chains/V2/cosmoshub/testnets/juno/meta.ts +++ b/data/chains/V2/cosmoshub/testnets/juno/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-01-15T00:00:00.000Z', - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-01-15T00:00:00.000Z', - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'deprecated', + substreams: 'unreleased', }, }; diff --git a/data/chains/V2/cosmoshub/testnets/theta/meta.ts b/data/chains/V2/cosmoshub/testnets/theta/meta.ts index 3337a9f..0e14eb2 100644 --- a/data/chains/V2/cosmoshub/testnets/theta/meta.ts +++ b/data/chains/V2/cosmoshub/testnets/theta/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'deprecated', + substreams: 'unreleased', }, }; diff --git a/data/chains/V2/cronos/meta.ts b/data/chains/V2/cronos/meta.ts index 47d8e90..a96c9ff 100644 --- a/data/chains/V2/cronos/meta.ts +++ b/data/chains/V2/cronos/meta.ts @@ -16,36 +16,9 @@ const meta: Chain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - firehose: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'deprecated', + substreams: 'unreleased', }, testnets: [], consensus: [], diff --git a/data/chains/V2/decimal/meta.ts b/data/chains/V2/decimal/meta.ts index 0435100..66c3ce3 100644 --- a/data/chains/V2/decimal/meta.ts +++ b/data/chains/V2/decimal/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'beta', + firehose: 'deprecated', + substreams: 'unreleased', }, metadata: { website: 'https://www.decimalchain.com/', diff --git a/data/chains/V2/eos/evms/eosevm/meta.ts b/data/chains/V2/eos/evms/eosevm/meta.ts index 03af131..6cfc674 100644 --- a/data/chains/V2/eos/evms/eosevm/meta.ts +++ b/data/chains/V2/eos/evms/eosevm/meta.ts @@ -11,36 +11,9 @@ const meta: EVM = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'deprecated', + substreams: 'unreleased', }, }; diff --git a/data/chains/V2/eos/meta.ts b/data/chains/V2/eos/meta.ts index 7fa1775..be4e789 100644 --- a/data/chains/V2/eos/meta.ts +++ b/data/chains/V2/eos/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'light', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'deprecated', + substreams: 'unreleased', }, metadata: { website: 'https://eosnetwork.com/', diff --git a/data/chains/V2/eos/testnets/jungle4/meta.ts b/data/chains/V2/eos/testnets/jungle4/meta.ts index a11a2bb..24f656a 100644 --- a/data/chains/V2/eos/testnets/jungle4/meta.ts +++ b/data/chains/V2/eos/testnets/jungle4/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'deprecated', + substreams: 'unreleased', }, }; diff --git a/data/chains/V2/eos/testnets/kylin/meta.ts b/data/chains/V2/eos/testnets/kylin/meta.ts index f733ee2..5829f31 100644 --- a/data/chains/V2/eos/testnets/kylin/meta.ts +++ b/data/chains/V2/eos/testnets/kylin/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'deprecated', + substreams: 'unreleased', }, }; diff --git a/data/chains/V2/eth/consensus/eth-cl/meta.ts b/data/chains/V2/eth/consensus/eth-cl/meta.ts index 05383fe..57dad2f 100644 --- a/data/chains/V2/eth/consensus/eth-cl/meta.ts +++ b/data/chains/V2/eth/consensus/eth-cl/meta.ts @@ -11,26 +11,8 @@ const meta: ConsensusLayer = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - }, + firehose: 'released', + substreams: 'released', }, }; diff --git a/data/chains/V2/eth/consensus/goerli-cl/meta.ts b/data/chains/V2/eth/consensus/goerli-cl/meta.ts index 805948d..c659540 100644 --- a/data/chains/V2/eth/consensus/goerli-cl/meta.ts +++ b/data/chains/V2/eth/consensus/goerli-cl/meta.ts @@ -11,26 +11,8 @@ const meta: ConsensusLayer = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: '2023-03-21T00:00:00.000Z', - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: '2023-03-21T00:00:00.000Z', - }, - }, - substreams: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: '2023-03-21T00:00:00.000Z', - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: '2023-03-21T00:00:00.000Z', - }, - }, + firehose: 'released', + substreams: 'released', }, }; diff --git a/data/chains/V2/eth/consensus/holesky-cl/meta.ts b/data/chains/V2/eth/consensus/holesky-cl/meta.ts index 1991eba..ab57f93 100644 --- a/data/chains/V2/eth/consensus/holesky-cl/meta.ts +++ b/data/chains/V2/eth/consensus/holesky-cl/meta.ts @@ -11,26 +11,8 @@ const meta: ConsensusLayer = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - }, + firehose: 'released', + substreams: 'released', }, }; diff --git a/data/chains/V2/eth/consensus/sepolia-cl/meta.ts b/data/chains/V2/eth/consensus/sepolia-cl/meta.ts index 64af0c7..6eff401 100644 --- a/data/chains/V2/eth/consensus/sepolia-cl/meta.ts +++ b/data/chains/V2/eth/consensus/sepolia-cl/meta.ts @@ -11,26 +11,8 @@ const meta: ConsensusLayer = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - }, + firehose: 'released', + substreams: 'released', }, }; diff --git a/data/chains/V2/eth/meta.ts b/data/chains/V2/eth/meta.ts index 12d1801..1b840ee 100644 --- a/data/chains/V2/eth/meta.ts +++ b/data/chains/V2/eth/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'deprecated', + substreams: 'unreleased', }, metadata: { website: 'https://ethereum.org/', diff --git a/data/chains/V2/eth/testnets/goerli/meta.ts b/data/chains/V2/eth/testnets/goerli/meta.ts index cc63d2d..24f7309 100644 --- a/data/chains/V2/eth/testnets/goerli/meta.ts +++ b/data/chains/V2/eth/testnets/goerli/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: '2023-03-21T00:00:00.000Z', - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: '2023-03-21T00:00:00.000Z', - }, - }, - substreams: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: '2023-03-21T00:00:00.000Z', - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: '2023-03-21T00:00:00.000Z', - }, - }, - rpc: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: '2023-03-21T00:00:00.000Z', - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: '2023-03-21T00:00:00.000Z', - }, - }, + rpc: 'deprecated', + firehose: 'deprecated', + substreams: 'deprecated', }, }; diff --git a/data/chains/V2/eth/testnets/holesky/meta.ts b/data/chains/V2/eth/testnets/holesky/meta.ts index 164590f..7226657 100644 --- a/data/chains/V2/eth/testnets/holesky/meta.ts +++ b/data/chains/V2/eth/testnets/holesky/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, + rpc: 'deprecated', + firehose: 'deprecated', + substreams: 'deprecated', }, }; diff --git a/data/chains/V2/eth/testnets/sepolia/meta.ts b/data/chains/V2/eth/testnets/sepolia/meta.ts index 61723b5..7d30a6f 100644 --- a/data/chains/V2/eth/testnets/sepolia/meta.ts +++ b/data/chains/V2/eth/testnets/sepolia/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, + rpc: 'deprecated', + firehose: 'deprecated', + substreams: 'deprecated', }, }; diff --git a/data/chains/V2/fantom/meta.ts b/data/chains/V2/fantom/meta.ts index 3d9b494..e853f1d 100644 --- a/data/chains/V2/fantom/meta.ts +++ b/data/chains/V2/fantom/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'light', }, supported_services: { - firehose: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'beta', + firehose: 'unreleased', + substreams: 'unreleased', }, metadata: { website: 'https://fantom.foundation/', diff --git a/data/chains/V2/fuse/meta.ts b/data/chains/V2/fuse/meta.ts index 2d6cf00..db41a04 100644 --- a/data/chains/V2/fuse/meta.ts +++ b/data/chains/V2/fuse/meta.ts @@ -16,36 +16,9 @@ const meta: Chain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - firehose: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'beta', + firehose: 'beta', + substreams: 'beta', }, testnets: [], consensus: [], diff --git a/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts b/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts index ba9fcb4..593a0cb 100644 --- a/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts +++ b/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts @@ -11,26 +11,8 @@ const meta: ConsensusLayer = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - }, + firehose: 'released', + substreams: 'released', }, }; diff --git a/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts b/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts index 2eb19ee..fd1a92a 100644 --- a/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts +++ b/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts @@ -11,26 +11,8 @@ const meta: ConsensusLayer = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-03-08T00:00:00.000Z', - deprecated_at: null, - }, - }, + firehose: 'released', + substreams: 'released', }, }; diff --git a/data/chains/V2/gnosis/meta.ts b/data/chains/V2/gnosis/meta.ts index 6ce8039..86a770b 100644 --- a/data/chains/V2/gnosis/meta.ts +++ b/data/chains/V2/gnosis/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'dark', }, supported_services: { - firehose: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'beta', + firehose: 'unreleased', + substreams: 'unreleased', }, metadata: { website: 'https://gnosis.io/', diff --git a/data/chains/V2/gnosis/testnets/chiado/meta.ts b/data/chains/V2/gnosis/testnets/chiado/meta.ts index 0aafedd..37455bc 100644 --- a/data/chains/V2/gnosis/testnets/chiado/meta.ts +++ b/data/chains/V2/gnosis/testnets/chiado/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', }, }; diff --git a/data/chains/V2/kava/meta.ts b/data/chains/V2/kava/meta.ts index 254f32b..20e5372 100644 --- a/data/chains/V2/kava/meta.ts +++ b/data/chains/V2/kava/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'beta', + firehose: 'unreleased', + substreams: 'unreleased', }, metadata: { website: 'https://www.kava.io/', diff --git a/data/chains/V2/linea/meta.ts b/data/chains/V2/linea/meta.ts index 76a5e70..f705859 100644 --- a/data/chains/V2/linea/meta.ts +++ b/data/chains/V2/linea/meta.ts @@ -16,36 +16,9 @@ const meta: Chain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - firehose: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'beta', + firehose: 'beta', + substreams: 'beta', }, testnets: [], consensus: [], diff --git a/data/chains/V2/litecoin/meta.ts b/data/chains/V2/litecoin/meta.ts index 08d6af7..2aa57b6 100644 --- a/data/chains/V2/litecoin/meta.ts +++ b/data/chains/V2/litecoin/meta.ts @@ -16,36 +16,9 @@ const meta: Chain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - firehose: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'beta', + substreams: 'beta', }, testnets: [], consensus: [], diff --git a/data/chains/V2/mode/meta.ts b/data/chains/V2/mode/meta.ts index b9d6db2..ada1c2b 100644 --- a/data/chains/V2/mode/meta.ts +++ b/data/chains/V2/mode/meta.ts @@ -16,36 +16,9 @@ const meta: Chain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - firehose: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'beta', + firehose: 'beta', + substreams: 'beta', }, testnets: [], consensus: [], diff --git a/data/chains/V2/moonbeam/meta.ts b/data/chains/V2/moonbeam/meta.ts index 5161037..4371be1 100644 --- a/data/chains/V2/moonbeam/meta.ts +++ b/data/chains/V2/moonbeam/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', }, metadata: { website: 'https://moonbeam.network/', diff --git a/data/chains/V2/near/meta.ts b/data/chains/V2/near/meta.ts index e16ccec..342dd5c 100644 --- a/data/chains/V2/near/meta.ts +++ b/data/chains/V2/near/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'released', + substreams: 'released', }, metadata: { website: 'https://near.org/', diff --git a/data/chains/V2/near/testnets/neartest/meta.ts b/data/chains/V2/near/testnets/neartest/meta.ts index c10dc17..11782e7 100644 --- a/data/chains/V2/near/testnets/neartest/meta.ts +++ b/data/chains/V2/near/testnets/neartest/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'released', + substreams: 'released', }, }; diff --git a/data/chains/V2/optimism/meta.ts b/data/chains/V2/optimism/meta.ts index 82474aa..a9c89d1 100644 --- a/data/chains/V2/optimism/meta.ts +++ b/data/chains/V2/optimism/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: '2024-01-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2024-01-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-01-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2024-01-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'released', + substreams: 'released', }, metadata: { website: 'https://optimism.io/', diff --git a/data/chains/V2/osmosis/meta.ts b/data/chains/V2/osmosis/meta.ts index 2918d76..a5511b8 100644 --- a/data/chains/V2/osmosis/meta.ts +++ b/data/chains/V2/osmosis/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: '2024-01-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2024-01-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'released', + substreams: 'unreleased', }, metadata: { website: 'https://osmosis.zone/', diff --git a/data/chains/V2/polygon/meta.ts b/data/chains/V2/polygon/meta.ts index 86eca77..b5d38b8 100644 --- a/data/chains/V2/polygon/meta.ts +++ b/data/chains/V2/polygon/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, + rpc: 'released', + firehose: 'released', + substreams: 'released', }, metadata: { website: 'https://polygon.technology/', diff --git a/data/chains/V2/polygon/testnets/amoy/meta.ts b/data/chains/V2/polygon/testnets/amoy/meta.ts index 89d4fc6..e0e3941 100644 --- a/data/chains/V2/polygon/testnets/amoy/meta.ts +++ b/data/chains/V2/polygon/testnets/amoy/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: '2024-04-12T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2024-04-12T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-04-12T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2024-04-12T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: '2024-04-12T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2024-04-12T00:00:00.000Z', - deprecated_at: null, - }, - }, + rpc: 'released', + firehose: 'released', + substreams: 'released', }, }; diff --git a/data/chains/V2/polygon/testnets/mumbai/meta.ts b/data/chains/V2/polygon/testnets/mumbai/meta.ts index 9633518..7b95805 100644 --- a/data/chains/V2/polygon/testnets/mumbai/meta.ts +++ b/data/chains/V2/polygon/testnets/mumbai/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-04-12T00:00:00.000Z', - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-04-12T00:00:00.000Z', - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-04-12T00:00:00.000Z', - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-04-12T00:00:00.000Z', - }, - }, - rpc: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-04-12T00:00:00.000Z', - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: '2024-04-12T00:00:00.000Z', - }, - }, + rpc: 'deprecated', + firehose: 'deprecated', + substreams: 'deprecated', }, }; diff --git a/data/chains/V2/scroll/meta.ts b/data/chains/V2/scroll/meta.ts index 7a9e715..f6a69e3 100644 --- a/data/chains/V2/scroll/meta.ts +++ b/data/chains/V2/scroll/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', }, metadata: { website: 'https://scroll.io/', diff --git a/data/chains/V2/starknet/meta.ts b/data/chains/V2/starknet/meta.ts index 22e5aee..2659198 100644 --- a/data/chains/V2/starknet/meta.ts +++ b/data/chains/V2/starknet/meta.ts @@ -17,36 +17,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', }, metadata: { website: 'https://www.starknet.io/', diff --git a/data/chains/V2/telos/meta.ts b/data/chains/V2/telos/meta.ts index e96d288..bce475a 100644 --- a/data/chains/V2/telos/meta.ts +++ b/data/chains/V2/telos/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', }, metadata: { website: 'https://telos.net/', diff --git a/data/chains/V2/telos/testnets/telostest/meta.ts b/data/chains/V2/telos/testnets/telostest/meta.ts index 23a5d16..9aaee5b 100644 --- a/data/chains/V2/telos/testnets/telostest/meta.ts +++ b/data/chains/V2/telos/testnets/telostest/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'released', + substreams: 'released', }, }; diff --git a/data/chains/V2/wax/meta.ts b/data/chains/V2/wax/meta.ts index 1bae1ad..50df938 100644 --- a/data/chains/V2/wax/meta.ts +++ b/data/chains/V2/wax/meta.ts @@ -15,36 +15,9 @@ const meta: Chain = { brand_theme: 'both', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'released', + substreams: 'released', }, metadata: { website: 'https://wax.io/', diff --git a/data/chains/V2/wax/testnets/waxtest/meta.ts b/data/chains/V2/wax/testnets/waxtest/meta.ts index 56e4b69..0d7f587 100644 --- a/data/chains/V2/wax/testnets/waxtest/meta.ts +++ b/data/chains/V2/wax/testnets/waxtest/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', }, supported_services: { - firehose: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - full: { - released_at: '2023-12-01T00:00:00.000Z', - deprecated_at: null, - }, - }, - rpc: { - beta: { - released_at: null, - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'released', + substreams: 'released', }, }; diff --git a/data/chains/V2/xai/meta.ts b/data/chains/V2/xai/meta.ts index 67a12bd..6eaa7c5 100644 --- a/data/chains/V2/xai/meta.ts +++ b/data/chains/V2/xai/meta.ts @@ -16,36 +16,9 @@ const meta: Chain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - firehose: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'unreleased', + firehose: 'released', + substreams: 'released', }, testnets: [], consensus: [], diff --git a/data/chains/V2/zkevm/meta.ts b/data/chains/V2/zkevm/meta.ts index 0ba6c89..7af4d4d 100644 --- a/data/chains/V2/zkevm/meta.ts +++ b/data/chains/V2/zkevm/meta.ts @@ -16,36 +16,9 @@ const meta: Chain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - firehose: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'beta', + firehose: 'beta', + substreams: 'beta', }, testnets: [], consensus: [], diff --git a/data/chains/V2/zkevm/testnets/zkyoto/meta.ts b/data/chains/V2/zkevm/testnets/zkyoto/meta.ts index ca93749..0c9748e 100644 --- a/data/chains/V2/zkevm/testnets/zkyoto/meta.ts +++ b/data/chains/V2/zkevm/testnets/zkyoto/meta.ts @@ -11,36 +11,9 @@ const meta: Testnet = { url: 'https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1', }, supported_services: { - rpc: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - firehose: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'beta', + firehose: 'beta', + substreams: 'beta', }, }; diff --git a/data/chains/V2/zora/meta.ts b/data/chains/V2/zora/meta.ts index cd3dc74..5546921 100644 --- a/data/chains/V2/zora/meta.ts +++ b/data/chains/V2/zora/meta.ts @@ -16,36 +16,9 @@ const meta: Chain = { variants: ['branded'], }, supported_services: { - rpc: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - firehose: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, - substreams: { - beta: { - released_at: '2024-05-14T00:00:00Z', - deprecated_at: null, - }, - full: { - released_at: null, - deprecated_at: null, - }, - }, + rpc: 'beta', + firehose: 'beta', + substreams: 'beta', }, testnets: [], consensus: [], diff --git a/data/index.config.ts b/data/index.config.ts index aae8f69..34a4ab5 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 5/15/2024, 9:36:50 PM. +// Last generation on 5/15/2024, 11:44:28 PM. export default { ordered: { diff --git a/package-lock.json b/package-lock.json index 606a6e1..70c2bea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,12 +11,48 @@ "@token-icons/core": "^2.6.1", "@types/bun": "latest", "husky": "^9.0.11", - "prettier": "^3.2.5" + "prettier": "^3.2.5", + "ts-morph": "^22.0.0" }, "peerDependencies": { "typescript": "^5.4.4" } }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@token-icons/core": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.6.1.tgz", @@ -26,6 +62,18 @@ "typescript": "^5.0.0" } }, + "node_modules/@ts-morph/common": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.23.0.tgz", + "integrity": "sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==", + "dev": true, + "dependencies": { + "fast-glob": "^3.3.2", + "minimatch": "^9.0.3", + "mkdirp": "^3.0.1", + "path-browserify": "^1.0.1" + } + }, "node_modules/@types/bun": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.1.2.tgz", @@ -53,6 +101,33 @@ "@types/node": "*" } }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/bun-types": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.1.8.tgz", @@ -63,6 +138,61 @@ "@types/ws": "~8.5.10" } }, + "node_modules/code-block-writer": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.1.tgz", + "integrity": "sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/husky": { "version": "9.0.11", "dev": true, @@ -77,6 +207,106 @@ "url": "https://github.com/sponsors/typicode" } }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/prettier": { "version": "3.2.5", "dev": true, @@ -91,6 +321,81 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-morph": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-22.0.0.tgz", + "integrity": "sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==", + "dev": true, + "dependencies": { + "@ts-morph/common": "~0.23.0", + "code-block-writer": "^13.0.1" + } + }, "node_modules/typescript": { "version": "5.4.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", @@ -112,6 +417,32 @@ } }, "dependencies": { + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, "@token-icons/core": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.6.1.tgz", @@ -119,6 +450,18 @@ "dev": true, "requires": {} }, + "@ts-morph/common": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.23.0.tgz", + "integrity": "sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==", + "dev": true, + "requires": { + "fast-glob": "^3.3.2", + "minimatch": "^9.0.3", + "mkdirp": "^3.0.1", + "path-browserify": "^1.0.1" + } + }, "@types/bun": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.1.2.tgz", @@ -146,6 +489,30 @@ "@types/node": "*" } }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, "bun-types": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.1.8.tgz", @@ -156,14 +523,164 @@ "@types/ws": "~8.5.10" } }, + "code-block-writer": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.1.tgz", + "integrity": "sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==", + "dev": true + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, "husky": { "version": "9.0.11", "dev": true }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true + }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, "prettier": { "version": "3.2.5", "dev": true }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "ts-morph": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-22.0.0.tgz", + "integrity": "sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==", + "dev": true, + "requires": { + "@ts-morph/common": "~0.23.0", + "code-block-writer": "^13.0.1" + } + }, "typescript": { "version": "5.4.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", diff --git a/package.json b/package.json index e1e9a50..860e12d 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,8 @@ "generate:types": "bun run generate:type_graphid && bun run generate:type_pinaxid && bun run format", "generate:type_graphid": "bun ./scripts/generate/V2/type_graphid.ts", "generate:type_pinaxid": "bun ./scripts/generate/V2/type_pinaxid.ts", - "generate:match_legacy_check": "bun ./scripts/generate/V2/match_legacy_data.ts", "generate:copy_token_icons": "bun ./scripts/generate/V2/copy_token_icons.ts", + "verify:match_legacy_check": "bun ./scripts/verify/V2/match_legacy_data.ts", "generate_v1": "npm run generate_v1:data", "generate_v1:data": "node ./scripts/generate/V1/data_json.js", "generate_v1:types": "npm run generate_v1:type_graphid && npm run generate_v1:type_pinaxid && npm run format", @@ -41,9 +41,10 @@ }, "devDependencies": { "@token-icons/core": "^2.6.1", + "@types/bun": "latest", "husky": "^9.0.11", "prettier": "^3.2.5", - "@types/bun": "latest" + "ts-morph": "^22.0.0" }, "repository": { "type": "git", diff --git a/scripts/generate/V2/data_json.ts b/scripts/generate/V2/data_json.ts index 8f1c0b0..b2b2179 100644 --- a/scripts/generate/V2/data_json.ts +++ b/scripts/generate/V2/data_json.ts @@ -5,6 +5,7 @@ import * as chainData from '../../../data/chains/V2/index'; import { toCamelCase } from '../../../utils/case'; import indexConf from '../../../data/index.config'; import { IndexConfig } from './index_config_check'; +import { SupportedServices } from '../../../types'; interface Icon { id: string; @@ -63,6 +64,12 @@ const warnings: string[] = []; let indexCounter = 0; +const cacheGenerateServiceDates = (services: SupportedServices) => { + // Read the cache file at ./data/chains/V2/chains-lock.json + // If the file does not exist, throw an error, and exit the script + // If the file exists, parse the file +}; + Object.keys(indexConf.ordered).forEach((mainnet, mainnetIndex) => { // @ts-ignore const mainnetData: MainnetData = chainData[toCamelCase(mainnet)]; diff --git a/scripts/generate/V2/match_legacy_data.ts b/scripts/verify/V2/match_legacy_data.ts similarity index 100% rename from scripts/generate/V2/match_legacy_data.ts rename to scripts/verify/V2/match_legacy_data.ts diff --git a/types/graph.types.ts b/types/graph.types.ts index d71ddc4..89dfa20 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/15/2024, 9:36:50 PM. +// Last generation on 5/15/2024, 11:44:29 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index df6c002..311a36f 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/15/2024, 9:36:51 PM. +// Last generation on 5/15/2024, 11:44:29 PM. export type PinaxID = | 'arbone' | 'arbgoerli' diff --git a/types/service.types.ts b/types/service.types.ts index 9051941..e52453d 100644 --- a/types/service.types.ts +++ b/types/service.types.ts @@ -7,16 +7,11 @@ export type ServiceEndpoint = { port: number; }; -export type ServiceEndpointStatus = { - beta: { - released_at: string | null; - deprecated_at: string | null; - }; - full: { - released_at: string | null; - deprecated_at: string | null; - }; -}; +export type ServiceEndpointStatus = + | 'unreleased' + | 'beta' + | 'released' + | 'deprecated'; export type ConsensusLayerServices = { [key in ConsensusLayerServiceID]: ServiceEndpointStatus; From f8b1ffd1ce0747dbf9dd766ed00317fb2304dead Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Wed, 15 May 2024 23:53:15 -0400 Subject: [PATCH 37/51] Updated readme --- README.md | 18 +++++++++++------- data/index.config.ts | 2 +- types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index c802d54..a43b8cf 100644 --- a/README.md +++ b/README.md @@ -10,16 +10,20 @@ You can have a look at the [Chain Type](/types/chain.types.ts) and at our [list With the 2.0 release, we've done massive changes to improve QoL for developers and maintainers. The most important changes are; -- ✅ Enabling chain icons to work on local environments (no longer loading from prod) -- ✅ Github Action automations making sure certain parts of the data is always up-to-date -- ✅ Easier sort of chains while keeping mainnets, testnets and consensus layer together -- ✅ Easier to understand relationship between networks (mainnets, testnets, consensus layers, ...) as a newcomer +- ✅ Added suppoert for EVM chains +- ✅ Reintroduced Typescript support - ✅ Easier to manage chain indexes (priority order) -- ✅ No more desync of chain icons metadata and source -- ✅ No more need to copy-paste the chains utils between multiple projects, it's packaged here -- ✅ No more need to copy-paste the service configs between multiple projects, it's packaged here +- ✅ Bundled the chains utils between multiple projects +- ✅ Bundled the service configs between multiple projects +- ✅ Bundled chain icons and automated check for missing icons +- ✅ Added script to automatically check changes from the Notion page (CSV export) +- ✅ Easier to understand data model that better reflects relationships between chains, services, and networks +- ✅ Added beta chains +- ✅ Support for `unreleased` and `beta` services - ✅ No more need to maintain a bunch of flags that can be extrapolated from data - ✅ No more duplicated information in mainnets and subnets +- ✅ Added chains website to metadata +- And many more... ## Installation diff --git a/data/index.config.ts b/data/index.config.ts index 34a4ab5..749e90c 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 5/15/2024, 11:44:28 PM. +// Last generation on 5/15/2024, 11:53:16 PM. export default { ordered: { diff --git a/types/graph.types.ts b/types/graph.types.ts index 89dfa20..2cc06da 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/15/2024, 11:44:29 PM. +// Last generation on 5/15/2024, 11:53:16 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 311a36f..fa2a1b1 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/15/2024, 11:44:29 PM. +// Last generation on 5/15/2024, 11:53:16 PM. export type PinaxID = | 'arbone' | 'arbgoerli' From 3c36d58695d73e7ea65ea64373bba6e8cd0692bf Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Thu, 16 May 2024 17:00:00 -0400 Subject: [PATCH 38/51] Added xai, zora icons & updated mismatch --- data/chains/V2/chains.json | 2 +- data/chains/V2/xai/xai.branded.svg | 3 ++ data/chains/V2/xai/xai.dark.svg | 3 ++ data/chains/V2/xai/xai.light.svg | 3 ++ data/chains/V2/zora/meta.ts | 2 +- data/chains/V2/zora/zora.branded.svg | 13 ++++++ data/index.config.ts | 2 +- package-lock.json | 14 +++---- package.json | 2 +- scripts/generate/V2/copy_token_icons.ts | 55 +++++++++++++++---------- types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 12 files changed, 68 insertions(+), 35 deletions(-) create mode 100644 data/chains/V2/xai/xai.branded.svg create mode 100644 data/chains/V2/xai/xai.dark.svg create mode 100644 data/chains/V2/xai/xai.light.svg create mode 100644 data/chains/V2/zora/zora.branded.svg diff --git a/data/chains/V2/chains.json b/data/chains/V2/chains.json index 81f4fde..580b8f1 100644 --- a/data/chains/V2/chains.json +++ b/data/chains/V2/chains.json @@ -1396,7 +1396,7 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "icon": { - "id": "networks/zora", + "id": "networks/zora-network", "brand_theme": "both", "variants": [ "branded" diff --git a/data/chains/V2/xai/xai.branded.svg b/data/chains/V2/xai/xai.branded.svg new file mode 100644 index 0000000..6272abb --- /dev/null +++ b/data/chains/V2/xai/xai.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/xai/xai.dark.svg b/data/chains/V2/xai/xai.dark.svg new file mode 100644 index 0000000..9109748 --- /dev/null +++ b/data/chains/V2/xai/xai.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/xai/xai.light.svg b/data/chains/V2/xai/xai.light.svg new file mode 100644 index 0000000..b1cc000 --- /dev/null +++ b/data/chains/V2/xai/xai.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/zora/meta.ts b/data/chains/V2/zora/meta.ts index 5546921..8573b8f 100644 --- a/data/chains/V2/zora/meta.ts +++ b/data/chains/V2/zora/meta.ts @@ -11,7 +11,7 @@ const meta: Chain = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, icon: { - id: 'networks/zora', + id: 'networks/zora-network', brand_theme: 'both', variants: ['branded'], }, diff --git a/data/chains/V2/zora/zora.branded.svg b/data/chains/V2/zora/zora.branded.svg new file mode 100644 index 0000000..f0a60e0 --- /dev/null +++ b/data/chains/V2/zora/zora.branded.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/data/index.config.ts b/data/index.config.ts index 749e90c..32575e0 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 5/15/2024, 11:53:16 PM. +// Last generation on 5/16/2024, 5:00:01 PM. export default { ordered: { diff --git a/package-lock.json b/package-lock.json index 70c2bea..6df47b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "@pinax/chains", "version": "2.0.5-rc1", "devDependencies": { - "@token-icons/core": "^2.6.1", + "@token-icons/core": "^2.7.0", "@types/bun": "latest", "husky": "^9.0.11", "prettier": "^3.2.5", @@ -54,9 +54,9 @@ } }, "node_modules/@token-icons/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.6.1.tgz", - "integrity": "sha512-+m4L13Tx3qfuN5GYKGvG772k+w3t/DP7tqrOQ/xPytrXIDMyfdX1OdLILGvr5iCRIQ2SC5h1SxIxK5j7zg+OSg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.7.0.tgz", + "integrity": "sha512-rUCXjXjulJFAzJ5OV2vHeapnKF3tY4AomedlElzI8/pV5rH/OOqiC/smfts+642mUF7diHSHJfMI7bE5J2ndZQ==", "dev": true, "peerDependencies": { "typescript": "^5.0.0" @@ -444,9 +444,9 @@ } }, "@token-icons/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.6.1.tgz", - "integrity": "sha512-+m4L13Tx3qfuN5GYKGvG772k+w3t/DP7tqrOQ/xPytrXIDMyfdX1OdLILGvr5iCRIQ2SC5h1SxIxK5j7zg+OSg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.7.0.tgz", + "integrity": "sha512-rUCXjXjulJFAzJ5OV2vHeapnKF3tY4AomedlElzI8/pV5rH/OOqiC/smfts+642mUF7diHSHJfMI7bE5J2ndZQ==", "dev": true, "requires": {} }, diff --git a/package.json b/package.json index 860e12d..00ccd2e 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "prepare": "husky" }, "devDependencies": { - "@token-icons/core": "^2.6.1", + "@token-icons/core": "^2.7.0", "@types/bun": "latest", "husky": "^9.0.11", "prettier": "^3.2.5", diff --git a/scripts/generate/V2/copy_token_icons.ts b/scripts/generate/V2/copy_token_icons.ts index 436a408..79ee81e 100644 --- a/scripts/generate/V2/copy_token_icons.ts +++ b/scripts/generate/V2/copy_token_icons.ts @@ -26,12 +26,12 @@ for (const chain of chains) { const brandedIconPath: string = path.join( iconBasePath, 'branded', - `${chain.icon.id.split('/')[1]}.svg`, + `${chain.icon.id.split('/')[1].split('-')[0]}.svg`, ); const monoIconPath: string = path.join( iconBasePath, 'mono', - `${chain.icon.id.split('/')[1]}.svg`, + `${chain.icon.id.split('/')[1].split('-')[0]}.svg`, ); // Define the destination file paths @@ -41,29 +41,40 @@ for (const chain of chains) { ); const destLightIconPath: string = path.join(destDir, `${chain.id}.light.svg`); const destDarkIconPath: string = path.join(destDir, `${chain.id}.dark.svg`); - const destMonoIconPath: string = path.join(destDir, `${chain.id}.mono.svg`); - // Copy the branded icon to the destination directory - if (fs.existsSync(brandedIconPath)) { - fs.copyFileSync(brandedIconPath, destBrandedIconPath); + if (chain.icon.variants.includes('branded')) { + // Copy the branded icon to the destination directory + if (fs.existsSync(brandedIconPath)) { + fs.copyFileSync(brandedIconPath, destBrandedIconPath); + } else { + if ( + // Those two chains IDs are not matching their svgs in the token-icons package + chain.icon.id !== 'networks/binance-smart-chain' && + chain.icon.id !== 'networks/optimistic-ethereum' + ) + console.warn(`⚠️ Branded icon not found for ${chain.id}`); + } } - // Create the light icon by replacing '#fff' with '#fffffe' in the mono icon - if (fs.existsSync(monoIconPath)) { - let monoIconContent = fs.readFileSync(monoIconPath, 'utf-8'); - let lightIconContent = monoIconContent.replace(/#fff/g, '#fffffe'); - fs.writeFileSync(destLightIconPath, lightIconContent); - } - - // Create the dark icon by replacing '#fff' with '#000001' in the mono icon - if (fs.existsSync(monoIconPath)) { - let monoIconContent = fs.readFileSync(monoIconPath, 'utf-8'); - let darkIconContent = monoIconContent.replace(/#fff/g, '#000001'); - fs.writeFileSync(destDarkIconPath, darkIconContent); - } + if (chain.icon.variants.includes('mono')) { + if (fs.existsSync(monoIconPath)) { + // Create the light icon by replacing '#fff' with '#fffffe' in the mono icon + let monoIconContent = fs.readFileSync(monoIconPath, 'utf-8'); + let lightIconContent = monoIconContent.replace(/#fff/g, '#fffffe'); + fs.writeFileSync(destLightIconPath, lightIconContent); - // Check if the mono icon exists in the destination directory, if it does, delete it - if (fs.existsSync(destMonoIconPath)) { - fs.unlinkSync(destMonoIconPath); + // Create the dark icon by replacing '#fff' with '#000001' in the mono icon + monoIconContent = fs.readFileSync(monoIconPath, 'utf-8'); + let darkIconContent = monoIconContent.replace(/#fff/g, '#000001'); + fs.writeFileSync(destDarkIconPath, darkIconContent); + } else { + if ( + // Those two chains IDs are not matching their svgs in the token-icons package + chain.icon.id !== 'networks/binance-smart-chain' && + chain.icon.id !== 'networks/optimistic-ethereum' + ) { + console.warn(`⚠️ Mono icon not found for ${chain.id}`); + } + } } } diff --git a/types/graph.types.ts b/types/graph.types.ts index 2cc06da..3896183 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/15/2024, 11:53:16 PM. +// Last generation on 5/16/2024, 5:00:01 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index fa2a1b1..2cd9cb6 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/15/2024, 11:53:16 PM. +// Last generation on 5/16/2024, 5:00:02 PM. export type PinaxID = | 'arbone' | 'arbgoerli' From 3a090749f07084f56a1f4b9489c311a1d7b5aa85 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Fri, 17 May 2024 12:07:17 -0400 Subject: [PATCH 39/51] Moved token checks to copy-token script, added ore, better management of chains without/w/ broken icons --- data/chains/V2/bsc/meta.ts | 1 + data/chains/V2/celo/meta.ts | 1 + data/chains/V2/chains.json | 71 +++++++--- data/chains/V2/cosmoshub/meta.ts | 1 + data/chains/V2/decimal/meta.ts | 1 + data/chains/V2/eos/meta.ts | 1 + data/chains/V2/eth/meta.ts | 1 + data/chains/V2/fantom/meta.ts | 1 + data/chains/V2/gnosis/meta.ts | 1 + data/chains/V2/index.ts | 2 + data/chains/V2/kava/meta.ts | 1 + data/chains/V2/moonbeam/meta.ts | 1 + data/chains/V2/near/meta.ts | 1 + data/chains/V2/optimism/meta.ts | 1 + data/chains/V2/ore/meta.ts | 28 ++++ data/chains/V2/ore/ore.branded.svg | 9 ++ data/chains/V2/ore/ore.dark.svg | 3 + data/chains/V2/ore/ore.light.svg | 3 + data/chains/V2/ore/testnets/orestage/meta.ts | 20 +++ data/chains/V2/osmosis/meta.ts | 1 + data/chains/V2/polygon/meta.ts | 1 + data/chains/V2/scroll/meta.ts | 1 + data/chains/V2/starknet/meta.ts | 1 + data/chains/V2/telos/meta.ts | 1 + data/chains/V2/wax/meta.ts | 1 + data/index.config.ts | 3 +- package.json | 2 +- scripts/generate/V2/copy_token_icons.ts | 129 +++++++++++++++--- scripts/generate/V2/data_json.ts | 75 +--------- scripts/verify/V2/notion-diff/README.md | 8 ++ .../V2/notion-diff/check_notion_csv_diff.ts | 0 types/graph.types.ts | 2 +- types/pinax.types.ts | 4 +- 33 files changed, 259 insertions(+), 118 deletions(-) create mode 100644 data/chains/V2/ore/meta.ts create mode 100644 data/chains/V2/ore/ore.branded.svg create mode 100644 data/chains/V2/ore/ore.dark.svg create mode 100644 data/chains/V2/ore/ore.light.svg create mode 100644 data/chains/V2/ore/testnets/orestage/meta.ts create mode 100644 scripts/verify/V2/notion-diff/README.md create mode 100644 scripts/verify/V2/notion-diff/check_notion_csv_diff.ts diff --git a/data/chains/V2/bsc/meta.ts b/data/chains/V2/bsc/meta.ts index 1934f15..7f30f60 100644 --- a/data/chains/V2/bsc/meta.ts +++ b/data/chains/V2/bsc/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'networks/binance-smart-chain', brand_theme: 'both', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'released', diff --git a/data/chains/V2/celo/meta.ts b/data/chains/V2/celo/meta.ts index 36a2327..203b4b4 100644 --- a/data/chains/V2/celo/meta.ts +++ b/data/chains/V2/celo/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'networks/celo', brand_theme: 'light', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'unreleased', diff --git a/data/chains/V2/chains.json b/data/chains/V2/chains.json index 580b8f1..7a1094a 100644 --- a/data/chains/V2/chains.json +++ b/data/chains/V2/chains.json @@ -160,11 +160,7 @@ }, "icon": { "id": "tokens/btc", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] + "brand_theme": "both" }, "supported_services": { "rpc": "unreleased", @@ -304,11 +300,7 @@ }, "icon": { "id": "tokens/arbi", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] + "brand_theme": "both" }, "supported_services": { "rpc": "beta", @@ -403,11 +395,7 @@ }, "icon": { "id": "networks/avalanche", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] + "brand_theme": "both" }, "supported_services": { "rpc": "unreleased", @@ -459,11 +447,7 @@ }, "icon": { "id": "tokens/base", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] + "brand_theme": "both" }, "supported_services": { "rpc": "unreleased", @@ -1415,5 +1399,52 @@ "website": "https://zora.co/" }, "index": 57 + }, + { + "id": "ore", + "graph_id": null, + "name": "Ore", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "icon": { + "id": "networks/ore", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": "deprecated", + "firehose": "deprecated", + "substreams": "deprecated" + }, + "metadata": { + "website": "https://ore.network/" + }, + "index": 58, + "testnets": [ + { + "id": "orestage", + "graph_id": null, + "name": "Ore Stage", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "supported_services": { + "rpc": "deprecated", + "firehose": "deprecated", + "substreams": "deprecated" + }, + "index": 59 + } + ] } ] \ No newline at end of file diff --git a/data/chains/V2/cosmoshub/meta.ts b/data/chains/V2/cosmoshub/meta.ts index 87032f0..9b42885 100644 --- a/data/chains/V2/cosmoshub/meta.ts +++ b/data/chains/V2/cosmoshub/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'networks/cosmos', brand_theme: 'dark', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'unreleased', diff --git a/data/chains/V2/decimal/meta.ts b/data/chains/V2/decimal/meta.ts index 66c3ce3..630f411 100644 --- a/data/chains/V2/decimal/meta.ts +++ b/data/chains/V2/decimal/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'tokens/del', brand_theme: 'both', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'beta', diff --git a/data/chains/V2/eos/meta.ts b/data/chains/V2/eos/meta.ts index be4e789..ecb37b3 100644 --- a/data/chains/V2/eos/meta.ts +++ b/data/chains/V2/eos/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'tokens/eos', brand_theme: 'light', + variants: ['mono'], }, supported_services: { rpc: 'unreleased', diff --git a/data/chains/V2/eth/meta.ts b/data/chains/V2/eth/meta.ts index 1b840ee..7bdd8f3 100644 --- a/data/chains/V2/eth/meta.ts +++ b/data/chains/V2/eth/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'networks/ethereum', brand_theme: 'both', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'unreleased', diff --git a/data/chains/V2/fantom/meta.ts b/data/chains/V2/fantom/meta.ts index e853f1d..fb0af7f 100644 --- a/data/chains/V2/fantom/meta.ts +++ b/data/chains/V2/fantom/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'networks/fantom', brand_theme: 'light', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'beta', diff --git a/data/chains/V2/gnosis/meta.ts b/data/chains/V2/gnosis/meta.ts index 86a770b..d2c9e63 100644 --- a/data/chains/V2/gnosis/meta.ts +++ b/data/chains/V2/gnosis/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'tokens/gno', brand_theme: 'dark', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'beta', diff --git a/data/chains/V2/index.ts b/data/chains/V2/index.ts index 1037b26..3406851 100644 --- a/data/chains/V2/index.ts +++ b/data/chains/V2/index.ts @@ -42,6 +42,8 @@ export { default as moonbeam } from './moonbeam/meta'; export { default as near } from './near/meta'; export { default as neartest } from './near/testnets/neartest/meta'; export { default as optimism } from './optimism/meta'; +export { default as ore } from './ore/meta'; +export { default as orestage } from './ore/testnets/orestage/meta'; export { default as osmosis } from './osmosis/meta'; export { default as polygon } from './polygon/meta'; export { default as amoy } from './polygon/testnets/amoy/meta'; diff --git a/data/chains/V2/kava/meta.ts b/data/chains/V2/kava/meta.ts index 20e5372..816d825 100644 --- a/data/chains/V2/kava/meta.ts +++ b/data/chains/V2/kava/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'networks/kava', brand_theme: 'both', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'beta', diff --git a/data/chains/V2/moonbeam/meta.ts b/data/chains/V2/moonbeam/meta.ts index 4371be1..fe13daa 100644 --- a/data/chains/V2/moonbeam/meta.ts +++ b/data/chains/V2/moonbeam/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'networks/moonbeam', brand_theme: 'both', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'unreleased', diff --git a/data/chains/V2/near/meta.ts b/data/chains/V2/near/meta.ts index 342dd5c..7ab696e 100644 --- a/data/chains/V2/near/meta.ts +++ b/data/chains/V2/near/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'tokens/near', brand_theme: 'both', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'unreleased', diff --git a/data/chains/V2/optimism/meta.ts b/data/chains/V2/optimism/meta.ts index a9c89d1..a90cd7d 100644 --- a/data/chains/V2/optimism/meta.ts +++ b/data/chains/V2/optimism/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'networks/optimistic-ethereum', brand_theme: 'both', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'unreleased', diff --git a/data/chains/V2/ore/meta.ts b/data/chains/V2/ore/meta.ts new file mode 100644 index 0000000..76a00e5 --- /dev/null +++ b/data/chains/V2/ore/meta.ts @@ -0,0 +1,28 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'ore', + graph_id: null, + name: 'Ore', + alt_names: [], + standard: 'antelope', + block_type: { + label: 'sf.antelope.type.v1.Block', + url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', + }, + icon: { + id: 'networks/ore', + brand_theme: 'both', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: 'deprecated', + firehose: 'deprecated', + substreams: 'deprecated', + }, + metadata: { + website: 'https://ore.network/', + }, +}; + +export default meta; diff --git a/data/chains/V2/ore/ore.branded.svg b/data/chains/V2/ore/ore.branded.svg new file mode 100644 index 0000000..6eeb726 --- /dev/null +++ b/data/chains/V2/ore/ore.branded.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/data/chains/V2/ore/ore.dark.svg b/data/chains/V2/ore/ore.dark.svg new file mode 100644 index 0000000..02f197e --- /dev/null +++ b/data/chains/V2/ore/ore.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/ore/ore.light.svg b/data/chains/V2/ore/ore.light.svg new file mode 100644 index 0000000..79e202f --- /dev/null +++ b/data/chains/V2/ore/ore.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/ore/testnets/orestage/meta.ts b/data/chains/V2/ore/testnets/orestage/meta.ts new file mode 100644 index 0000000..6edfb20 --- /dev/null +++ b/data/chains/V2/ore/testnets/orestage/meta.ts @@ -0,0 +1,20 @@ +import { Testnet } from '../../../../../../types/chain.types'; + +const meta: Testnet = { + id: 'orestage', + graph_id: null, + name: 'Ore Stage', + alt_names: [], + standard: 'antelope', + block_type: { + label: 'sf.antelope.type.v1.Block', + url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', + }, + supported_services: { + rpc: 'deprecated', + firehose: 'deprecated', + substreams: 'deprecated', + }, +}; + +export default meta; diff --git a/data/chains/V2/osmosis/meta.ts b/data/chains/V2/osmosis/meta.ts index a5511b8..e0b66b9 100644 --- a/data/chains/V2/osmosis/meta.ts +++ b/data/chains/V2/osmosis/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'networks/osmosis', brand_theme: 'both', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'unreleased', diff --git a/data/chains/V2/polygon/meta.ts b/data/chains/V2/polygon/meta.ts index b5d38b8..90a5cf1 100644 --- a/data/chains/V2/polygon/meta.ts +++ b/data/chains/V2/polygon/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'networks/polygon-pos', brand_theme: 'both', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'released', diff --git a/data/chains/V2/scroll/meta.ts b/data/chains/V2/scroll/meta.ts index f6a69e3..cb1aef7 100644 --- a/data/chains/V2/scroll/meta.ts +++ b/data/chains/V2/scroll/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'networks/scroll', brand_theme: 'both', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'unreleased', diff --git a/data/chains/V2/starknet/meta.ts b/data/chains/V2/starknet/meta.ts index 2659198..e5b1975 100644 --- a/data/chains/V2/starknet/meta.ts +++ b/data/chains/V2/starknet/meta.ts @@ -15,6 +15,7 @@ const meta: Chain = { // missing id: 'networks/starknet', brand_theme: 'both', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'unreleased', diff --git a/data/chains/V2/telos/meta.ts b/data/chains/V2/telos/meta.ts index bce475a..475aa8d 100644 --- a/data/chains/V2/telos/meta.ts +++ b/data/chains/V2/telos/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'networks/telos', brand_theme: 'both', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'unreleased', diff --git a/data/chains/V2/wax/meta.ts b/data/chains/V2/wax/meta.ts index 50df938..9e2a5a6 100644 --- a/data/chains/V2/wax/meta.ts +++ b/data/chains/V2/wax/meta.ts @@ -13,6 +13,7 @@ const meta: Chain = { icon: { id: 'tokens/waxp', brand_theme: 'both', + variants: ['branded', 'mono'], }, supported_services: { rpc: 'unreleased', diff --git a/data/index.config.ts b/data/index.config.ts index 32575e0..5795bd2 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 5/16/2024, 5:00:01 PM. +// Last generation on 5/17/2024, 12:07:17 PM. export default { ordered: { @@ -47,6 +47,7 @@ export default { xai: [], zkevm: ['zkyoto'], zora: [], + ore: ['orestage'], }, missing: [], }; diff --git a/package.json b/package.json index 00ccd2e..2fe6642 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "scripts": { "fetch-graph-ids": "bun ./scripts/fetchGraphIDs.ts", "format": "prettier --log-level warn --write \"./**/*.{js,jsx,ts,tsx}\"", - "generate": "bun run generate:data && bun run generate:types", + "generate": "bun run generate:data && bun run generate:types && bun run generate:copy_token_icons", "generate:data": "bun run generate:data_index && bun run generate:index_config && bun run generate:data_json", "generate:index_config": "bun ./scripts/generate/V2/index_config_check.ts", "generate:data_index": "bun ./scripts/generate/V2/data_index.ts", diff --git a/scripts/generate/V2/copy_token_icons.ts b/scripts/generate/V2/copy_token_icons.ts index 79ee81e..667e1d2 100644 --- a/scripts/generate/V2/copy_token_icons.ts +++ b/scripts/generate/V2/copy_token_icons.ts @@ -2,25 +2,102 @@ import fs from 'fs'; import path from 'path'; -// Define the source directories for the icons -const networksSourceDir: string = - './node_modules/@token-icons/core/dist/svgs/networks'; -const tokensSourceDir: string = - './node_modules/@token-icons/core/dist/svgs/tokens'; +interface Icon { + id: string; + variants: string[]; +} + +interface Network { + id: string; + icon: Icon; +} + +interface Token { + id: string; + symbol: string; + variants: string[]; +} + +// Define the source directories and files +const tokenIconDistDir: string = './node_modules/@token-icons/core/dist'; +const tokenIconMetaDir: string = `${tokenIconDistDir}/metadata`; +const tokenIconNetworksMetaPath: string = `${tokenIconMetaDir}/networks.json`; +const tokenIconTokensMetaPath: string = `${tokenIconMetaDir}/tokens.json`; +const tokenIconNetworkSvgsDir: string = `${tokenIconDistDir}/svgs/networks`; +const tokenIconTokenSvgsDir: string = `${tokenIconDistDir}/svgs/tokens`; + +// Define the destination directory for the icons +const destDir = (chainID: string) => `./data/chains/V2/${chainID}`; // Read and parse the chains.json file const chains = JSON.parse( fs.readFileSync('./data/chains/V2/chains.json', 'utf-8'), ); +const unavailableIcons = [ + // Those chains IDs are not matching their svgs in the token-icons package + // or are simply not available + 'networks/ore', + 'networks/binance-smart-chain', + 'networks/optimistic-ethereum', +]; + +const iconIsUnavailable = (iconId: string) => { + return unavailableIcons.includes(iconId); +}; + +const tokens: Token[] = JSON.parse( + fs.readFileSync(path.resolve(tokenIconTokensMetaPath), 'utf8'), +); + +const networks: Network[] = JSON.parse( + fs.readFileSync(path.resolve(tokenIconNetworksMetaPath), 'utf8'), +); + +const checkIconMetaForChain = (chain: any) => { + if (!chain.icon) { + // Ignore chains without icons (typically subnets) + return; + } + + if (iconIsUnavailable(chain.icon.id)) { + return; + } + + if (chain.icon.id.indexOf('tokens') !== -1) { + const iconMeta = tokens.find( + (token) => token.symbol === chain.icon.id.split('/')[1], + ); + if (iconMeta) { + chain.icon.variants = iconMeta.variants; + } else { + warnings.push(`⚠️ Could not find icon meta for '${chain.icon.id}'`); + } + } else { + const iconMeta = networks.find( + (network) => network.id === chain.icon.id.split('/')[1], + ); + if (iconMeta) { + // @ts-ignore + chain.icon.variants = iconMeta.variants; + } else { + warnings.push(`⚠️ Could not find icon meta for '${chain.icon.id}'`); + } + } +}; + +const warnings: string[] = []; + +console.log('🕑 Copying chain icons from token-icons...'); + // Iterate over each chain for (const chain of chains) { - // Define the destination directory for the icons - const destDir: string = `./data/chains/V2/${chain.id}`; + checkIconMetaForChain(chain); + const iconBasePath: string = chain.icon.id.split('/')[0] === 'networks' - ? networksSourceDir - : tokensSourceDir; + ? tokenIconNetworkSvgsDir + : tokenIconTokenSvgsDir; // Define the paths to the icon variants const brandedIconPath: string = path.join( @@ -36,23 +113,26 @@ for (const chain of chains) { // Define the destination file paths const destBrandedIconPath: string = path.join( - destDir, + destDir(chain.id), `${chain.id}.branded.svg`, ); - const destLightIconPath: string = path.join(destDir, `${chain.id}.light.svg`); - const destDarkIconPath: string = path.join(destDir, `${chain.id}.dark.svg`); + const destLightIconPath: string = path.join( + destDir(chain.id), + `${chain.id}.light.svg`, + ); + const destDarkIconPath: string = path.join( + destDir(chain.id), + `${chain.id}.dark.svg`, + ); if (chain.icon.variants.includes('branded')) { // Copy the branded icon to the destination directory if (fs.existsSync(brandedIconPath)) { fs.copyFileSync(brandedIconPath, destBrandedIconPath); } else { - if ( - // Those two chains IDs are not matching their svgs in the token-icons package - chain.icon.id !== 'networks/binance-smart-chain' && - chain.icon.id !== 'networks/optimistic-ethereum' - ) + if (!iconIsUnavailable(chain.icon.id)) { console.warn(`⚠️ Branded icon not found for ${chain.id}`); + } } } @@ -68,13 +148,18 @@ for (const chain of chains) { let darkIconContent = monoIconContent.replace(/#fff/g, '#000001'); fs.writeFileSync(destDarkIconPath, darkIconContent); } else { - if ( - // Those two chains IDs are not matching their svgs in the token-icons package - chain.icon.id !== 'networks/binance-smart-chain' && - chain.icon.id !== 'networks/optimistic-ethereum' - ) { + if (!iconIsUnavailable(chain.icon.id)) { console.warn(`⚠️ Mono icon not found for ${chain.id}`); } } } } + +if (warnings.length) { + console.log(warnings.join('\n')); + console.log( + `☑️ Copied chain icons from token-icons with ${warnings.length} warnings.`, + ); +} else { + console.log(`✅ Successfully copied chain icons from token-icons!`); +} diff --git a/scripts/generate/V2/data_json.ts b/scripts/generate/V2/data_json.ts index b2b2179..bb60a6e 100644 --- a/scripts/generate/V2/data_json.ts +++ b/scripts/generate/V2/data_json.ts @@ -5,31 +5,7 @@ import * as chainData from '../../../data/chains/V2/index'; import { toCamelCase } from '../../../utils/case'; import indexConf from '../../../data/index.config'; import { IndexConfig } from './index_config_check'; -import { SupportedServices } from '../../../types'; - -interface Icon { - id: string; - variants: string[]; -} - -interface Network { - id: string; - icon: Icon; -} - -interface Token { - id: string; - symbol: string; - variants: string[]; -} - -interface MainnetData { - index: number; - icon: Icon; - consensus?: SubnetData[]; - testnets?: SubnetData[]; - evms?: SubnetData[]; -} +import { Chain, SupportedServices } from '../../../types'; interface SubnetData { id: string; @@ -45,22 +21,7 @@ if (indexConf.missing.length > 0) { process.exit(1); } -const tokens: Token[] = JSON.parse( - fs.readFileSync( - path.resolve('node_modules/@token-icons/core/dist/metadata/tokens.json'), - 'utf8', - ), -); - -const networks: Network[] = JSON.parse( - fs.readFileSync( - path.resolve('node_modules/@token-icons/core/dist/metadata/networks.json'), - 'utf8', - ), -); - -const data: MainnetData[] = []; -const warnings: string[] = []; +const data: Chain[] = []; let indexCounter = 0; @@ -76,31 +37,6 @@ Object.keys(indexConf.ordered).forEach((mainnet, mainnetIndex) => { mainnetData.index = indexCounter++; - if (mainnetData.icon.id.indexOf('tokens') !== -1) { - const iconMeta = tokens.find( - (token) => token.symbol === mainnetData.icon.id.split('/')[1], - ); - if (iconMeta) { - mainnetData.icon.variants = iconMeta.variants; - } else { - warnings.push( - `⚠️ Could not find icon meta for '${mainnetData.icon.id}'`, - ); - } - } else { - const iconMeta = networks.find( - (network) => network.id === mainnetData.icon.id.split('/')[1], - ); - if (iconMeta) { - // @ts-ignore - mainnetData.icon.variants = iconMeta.variants; - } else { - warnings.push( - `⚠️ Could not find icon meta for '${mainnetData.icon.id}'`, - ); - } - } - (indexConf as IndexConfig).ordered[mainnet].forEach((subnet: any) => { // @ts-ignore const subnetData: SubnetData = chainData[toCamelCase(subnet)]; @@ -131,9 +67,4 @@ fs.writeFileSync( JSON.stringify(data, null, 2), ); -if (warnings.length) { - console.log(warnings.join('\n')); - console.log(`☑️ Generated 'data.json' with ${warnings.length} warnings`); -} else { - console.log(`✅ Successfully generated 'chains.json'! (V2)`); -} +console.log(`✅ Successfully generated 'chains.json'!`); diff --git a/scripts/verify/V2/notion-diff/README.md b/scripts/verify/V2/notion-diff/README.md new file mode 100644 index 0000000..4bf64eb --- /dev/null +++ b/scripts/verify/V2/notion-diff/README.md @@ -0,0 +1,8 @@ +# Notion CSV Diff Tool + +This tool is used to compare the data that we have here against the Notion database that the broader team maintains. It is used to ensure that the data we have is up to date and accurate. + +## What it does + +- ✅Shows the differences between the data we have and the Notion database +- ✅Highlights ready-to-release beta chains/services \ No newline at end of file diff --git a/scripts/verify/V2/notion-diff/check_notion_csv_diff.ts b/scripts/verify/V2/notion-diff/check_notion_csv_diff.ts new file mode 100644 index 0000000..e69de29 diff --git a/types/graph.types.ts b/types/graph.types.ts index 3896183..b89d307 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/16/2024, 5:00:01 PM. +// Last generation on 5/17/2024, 12:07:18 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 2cd9cb6..0715154 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/16/2024, 5:00:02 PM. +// Last generation on 5/17/2024, 12:07:18 PM. export type PinaxID = | 'arbone' | 'arbgoerli' @@ -46,6 +46,8 @@ export type PinaxID = | 'near' | 'neartest' | 'optimism' + | 'ore' + | 'orestage' | 'osmosis' | 'polygon' | 'amoy' From 7899b57182b48082949f02174179d837c28bcd7a Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Mon, 3 Jun 2024 09:24:29 -0400 Subject: [PATCH 40/51] Added multiple chains, continued working on better state (beta) handling and Notion export diff --- data/chains/V2/cardano/cardano.branded.svg | 3 + data/chains/V2/cardano/cardano.dark.svg | 3 + data/chains/V2/cardano/cardano.light.svg | 3 + data/chains/V2/cardano/meta.ts | 28 + data/chains/V2/chains-lock.converted.json | 2110 +++++++++++++++++ .../chains/V2/chains-lock.orig.json | 200 +- data/chains/V2/chains.json | 1429 +++++++++-- data/chains/V2/eth/meta.ts | 6 +- data/chains/V2/index.ts | 10 +- data/chains/V2/ronin/meta.ts | 28 + data/chains/V2/ronin/ronin.branded.svg | 11 + data/chains/V2/ronin/ronin.dark.svg | 4 + data/chains/V2/ronin/ronin.light.svg | 4 + data/chains/V2/sei/meta.ts | 28 + data/chains/V2/sei/sei.branded.svg | 9 + data/chains/V2/sei/sei.dark.svg | 3 + data/chains/V2/sei/sei.light.svg | 3 + data/chains/V2/x-layer/meta.ts | 28 + data/chains/V2/x-layer/x-layer.branded.svg | 5 + data/chains/V2/x-layer/x-layer.dark.svg | 5 + data/chains/V2/x-layer/x-layer.light.svg | 5 + data/chains/V2/{zkevm => zkastar}/meta.ts | 2 +- .../V2/zkastar/testnets/zkatana/meta.ts | 20 + .../testnets/zkyoto/meta.ts | 0 .../zkastar.branded.svg} | 0 .../zkastar.dark.svg} | 0 .../zkastar.light.svg} | 0 data/chains/V2/zksync/meta.ts | 28 + data/chains/V2/zksync/zksync.branded.svg | 3 + data/chains/V2/zksync/zksync.dark.svg | 3 + data/chains/V2/zksync/zksync.light.svg | 3 + data/index.config.ts | 11 +- package-lock.json | 14 +- package.json | 2 +- scripts/generate/V2/copy_token_icons.ts | 51 +- scripts/generate/V2/data_json.ts | 60 +- scripts/verify/V2/notion-diff/.gitignore | 1 + scripts/verify/V2/notion-diff/README.md | 14 +- types/graph.types.ts | 5 +- types/pinax.types.ts | 10 +- types/standard.types.ts | 5 +- 41 files changed, 3766 insertions(+), 391 deletions(-) create mode 100644 data/chains/V2/cardano/cardano.branded.svg create mode 100644 data/chains/V2/cardano/cardano.dark.svg create mode 100644 data/chains/V2/cardano/cardano.light.svg create mode 100644 data/chains/V2/cardano/meta.ts create mode 100644 data/chains/V2/chains-lock.converted.json rename .cache/chains.cache.json => data/chains/V2/chains-lock.orig.json (94%) create mode 100644 data/chains/V2/ronin/meta.ts create mode 100644 data/chains/V2/ronin/ronin.branded.svg create mode 100644 data/chains/V2/ronin/ronin.dark.svg create mode 100644 data/chains/V2/ronin/ronin.light.svg create mode 100644 data/chains/V2/sei/meta.ts create mode 100644 data/chains/V2/sei/sei.branded.svg create mode 100644 data/chains/V2/sei/sei.dark.svg create mode 100644 data/chains/V2/sei/sei.light.svg create mode 100644 data/chains/V2/x-layer/meta.ts create mode 100644 data/chains/V2/x-layer/x-layer.branded.svg create mode 100644 data/chains/V2/x-layer/x-layer.dark.svg create mode 100644 data/chains/V2/x-layer/x-layer.light.svg rename data/chains/V2/{zkevm => zkastar}/meta.ts (97%) create mode 100644 data/chains/V2/zkastar/testnets/zkatana/meta.ts rename data/chains/V2/{zkevm => zkastar}/testnets/zkyoto/meta.ts (100%) rename data/chains/V2/{zkevm/zkevm.branded.svg => zkastar/zkastar.branded.svg} (100%) rename data/chains/V2/{zkevm/zkevm.dark.svg => zkastar/zkastar.dark.svg} (100%) rename data/chains/V2/{zkevm/zkevm.light.svg => zkastar/zkastar.light.svg} (100%) create mode 100644 data/chains/V2/zksync/meta.ts create mode 100644 data/chains/V2/zksync/zksync.branded.svg create mode 100644 data/chains/V2/zksync/zksync.dark.svg create mode 100644 data/chains/V2/zksync/zksync.light.svg create mode 100644 scripts/verify/V2/notion-diff/.gitignore diff --git a/data/chains/V2/cardano/cardano.branded.svg b/data/chains/V2/cardano/cardano.branded.svg new file mode 100644 index 0000000..2482c08 --- /dev/null +++ b/data/chains/V2/cardano/cardano.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/cardano/cardano.dark.svg b/data/chains/V2/cardano/cardano.dark.svg new file mode 100644 index 0000000..84da2b8 --- /dev/null +++ b/data/chains/V2/cardano/cardano.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/cardano/cardano.light.svg b/data/chains/V2/cardano/cardano.light.svg new file mode 100644 index 0000000..3026e45 --- /dev/null +++ b/data/chains/V2/cardano/cardano.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/cardano/meta.ts b/data/chains/V2/cardano/meta.ts new file mode 100644 index 0000000..1aa6475 --- /dev/null +++ b/data/chains/V2/cardano/meta.ts @@ -0,0 +1,28 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'cardano', + graph_id: null, + name: 'Cardano', + alt_names: [], + standard: 'cardano', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/cardano', + brand_theme: 'both', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', + }, + metadata: { + website: 'https://cardano.org/', + }, +}; + +export default meta; diff --git a/data/chains/V2/chains-lock.converted.json b/data/chains/V2/chains-lock.converted.json new file mode 100644 index 0000000..a8d649c --- /dev/null +++ b/data/chains/V2/chains-lock.converted.json @@ -0,0 +1,2110 @@ +[ + { + "id": "eth", + "graph_id": "mainnet", + "name": "Ethereum", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/ethereum", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "metadata": { + "website": "https://ethereum.org/" + }, + "index": 0, + "testnets": [ + { + "id": "holesky", + "graph_id": null, + "name": "Holesky", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 1 + }, + { + "id": "sepolia", + "graph_id": "sepolia", + "name": "Sepolia", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 2 + }, + { + "id": "goerli", + "graph_id": null, + "name": "Goerli", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "substreams": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "rpc": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } + }, + "index": 6 + } + ], + "consensus": [ + { + "id": "eth-cl", + "graph_id": null, + "name": "Ethereum Consensus Layer", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 3 + }, + { + "id": "holesky-cl", + "graph_id": null, + "name": "Holesky Consensus Layer", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 4 + }, + { + "id": "sepolia-cl", + "graph_id": null, + "name": "Sepolia Consensus Layer", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 5 + }, + { + "id": "goerli-cl", + "graph_id": null, + "name": "Goerli Consensus Layer", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "substreams": { + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } + }, + "index": 7 + } + ], + "evms": [] + }, + { + "id": "bitcoin", + "graph_id": null, + "name": "Bitcoin", + "alt_names": ["btc"], + "standard": "brc20", + "block_type": { + "label": "sf.bitcoin.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" + }, + "icon": { + "id": "tokens/btc", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-03-21T00:00:00.000Z", + "full_released_at": "2023-03-21T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-03-21T00:00:00.000Z", + "full_released_at": "2023-03-21T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://bitcoin.org/" + }, + "index": 8, + "testnets": [], + "consensus": [], + "evms": [] + }, + { + "id": "polygon", + "graph_id": "matic", + "name": "Polygon", + "alt_names": ["matic"], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/polygon-pos", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "metadata": { + "website": "https://polygon.technology/" + }, + "index": 9, + "testnets": [ + { + "id": "amoy", + "graph_id": "polygon-amoy", + "name": "Amoy", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2024-04-12T00:00:00.000Z", + "full_released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-04-12T00:00:00.000Z", + "full_released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2024-04-12T00:00:00.000Z", + "full_released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 10 + }, + { + "id": "mumbai", + "graph_id": null, + "name": "Mumbai", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + } + }, + "index": 11 + } + ], + "consensus": [], + "evms": [] + }, + { + "id": "bsc", + "graph_id": "bsc", + "name": "BNB", + "alt_names": ["bsc", "binance"], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/binance-smart-chain", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "metadata": { + "website": "https://www.bnbchain.org/en/bnb-smart-chain" + }, + "index": 12, + "testnets": [ + { + "id": "chapel", + "graph_id": "chapel", + "name": "Chapel", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 13 + } + ], + "consensus": [], + "evms": [] + }, + { + "id": "arbone", + "graph_id": "arbitrum-one", + "name": "Arbitrum One", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/arbi", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://arbitrum.io/" + }, + "index": 14, + "testnets": [ + { + "id": "arbgoerli", + "graph_id": null, + "name": "Arbitrum Goerli", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "index": 15 + }, + { + "id": "arbsepolia", + "graph_id": "arbitrum-sepolia", + "name": "Arbitrum Sepolia", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2024-05-03T00:00:00.000Z", + "full_released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-05-03T00:00:00.000Z", + "full_released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2024-05-03T00:00:00.000Z", + "full_released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 16 + }, + { + "id": "chiado", + "graph_id": null, + "name": "Chiado", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "index": 18 + } + ], + "consensus": [ + { + "id": "chiado-cl", + "graph_id": null, + "name": "Chiado Consensus Layer", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 17 + } + ], + "evms": [] + }, + { + "id": "avalanche", + "graph_id": "avalanche", + "name": "Avalanche", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/avalanche", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://www.avax.network/" + }, + "index": 19, + "testnets": [], + "consensus": [], + "evms": [] + }, + { + "id": "optimism", + "graph_id": "optimism", + "name": "Optimism", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/optimistic-ethereum", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": "2024-01-01T00:00:00.000Z", + "full_released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-01-01T00:00:00.000Z", + "full_released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://optimism.io/" + }, + "index": 20, + "testnets": [], + "consensus": [], + "evms": [] + }, + { + "id": "base", + "graph_id": "base", + "name": "Base", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/base", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": "2024-03-06T00:00:00.000Z", + "full_released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-03-06T00:00:00.000Z", + "full_released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://www.base.org/" + }, + "index": 21, + "testnets": [], + "consensus": [], + "evms": [] + }, + { + "id": "decimal", + "graph_id": null, + "name": "Decimal", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/del", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://www.decimalchain.com/" + }, + "index": 22, + "testnets": [], + "consensus": [], + "evms": [] + }, + { + "id": "gnosis", + "graph_id": "gnosis", + "name": "Gnosis", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/gno", + "brand_theme": "dark", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://gnosis.io/" + }, + "index": 23, + "consensus": [ + { + "id": "gnosis-cl", + "graph_id": null, + "name": "Gnosis Consensus Layer", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 24 + } + ], + "testnets": [], + "evms": [] + }, + { + "id": "fantom", + "graph_id": "fantom", + "name": "Fantom", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/fantom", + "brand_theme": "light", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://fantom.foundation/" + }, + "index": 25, + "testnets": [], + "consensus": [], + "evms": [] + }, + { + "id": "celo", + "graph_id": "celo", + "name": "Celo", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/celo", + "brand_theme": "light", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://celo.org/" + }, + "index": 26, + "testnets": [ + { + "id": "alfajores", + "graph_id": null, + "name": "Alfajores", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "index": 27 + } + ], + "consensus": [], + "evms": [] + }, + { + "id": "near", + "graph_id": "near-mainnet", + "name": "Near", + "alt_names": [], + "standard": "near", + "block_type": { + "label": "sf.near.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" + }, + "icon": { + "id": "tokens/near", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://near.org/" + }, + "index": 28, + "testnets": [ + { + "id": "neartest", + "graph_id": "near-testnet", + "name": "Near-testnet", + "alt_names": [], + "standard": "near", + "block_type": { + "label": "sf.near.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "index": 29 + } + ], + "consensus": [], + "evms": [] + }, + { + "id": "arweave", + "graph_id": "arweave-mainnet", + "name": "Arweave", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.arweave.type.v1.Block", + "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" + }, + "icon": { + "id": "tokens/ar", + "brand_theme": "dark", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-03-03T00:00:00.000Z", + "full_released_at": "2024-03-03T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://arweave.org/" + }, + "index": 30, + "testnets": [], + "consensus": [], + "evms": [] + }, + { + "id": "cosmoshub", + "graph_id": "cosmoshub-4", + "name": "Cosmos Hub", + "alt_names": [], + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "icon": { + "id": "networks/cosmos", + "brand_theme": "dark", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://cosmos.network/" + }, + "index": 31, + "testnets": [ + { + "id": "theta", + "graph_id": "theta-testnet-001", + "name": "Theta", + "alt_names": [], + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "index": 32 + }, + { + "id": "juno", + "graph_id": null, + "name": "Juno", + "alt_names": [], + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "index": 33 + } + ], + "consensus": [], + "evms": [] + }, + { + "id": "osmosis", + "graph_id": "osmosis-1", + "name": "Osmosis", + "alt_names": [], + "standard": "cosmos", + "block_type": { + "label": "sf.cosmos.type.v1.Block", + "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" + }, + "icon": { + "id": "networks/osmosis", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": "2024-01-01T00:00:00.000Z", + "full_released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://osmosis.zone/" + }, + "index": 34, + "testnets": [], + "consensus": [], + "evms": [] + }, + { + "id": "moonbeam", + "graph_id": "moonbeam", + "name": "Moonbeam", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/moonbeam", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://moonbeam.network/" + }, + "index": 35, + "testnets": [], + "consensus": [], + "evms": [] + }, + { + "id": "scroll", + "graph_id": "scroll", + "name": "Scroll", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/scroll", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://scroll.io/" + }, + "index": 36, + "testnets": [], + "consensus": [], + "evms": [] + }, + { + "id": "starknet", + "graph_id": null, + "name": "Starknet", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/starknet", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://www.starknet.io/" + }, + "index": 37, + "testnets": [], + "consensus": [], + "evms": [] + }, + { + "id": "eos", + "graph_id": null, + "name": "EOS", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "icon": { + "id": "tokens/eos", + "brand_theme": "light", + "variants": ["mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://eosnetwork.com/" + }, + "index": 38, + "evms": [ + { + "id": "eosevm", + "graph_id": null, + "name": "EOS EVM", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "index": 39 + } + ], + "testnets": [ + { + "id": "jungle4", + "graph_id": null, + "name": "Jungle4", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + } + }, + "index": 40 + }, + { + "id": "kylin", + "graph_id": null, + "name": "Kylin", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "index": 41 + } + ], + "consensus": [] + }, + { + "id": "wax", + "graph_id": null, + "name": "WAX", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "icon": { + "id": "tokens/waxp", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://wax.io/" + }, + "index": 42, + "testnets": [ + { + "id": "waxtest", + "graph_id": null, + "name": "WAX Test", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "index": 43 + } + ], + "consensus": [], + "evms": [] + }, + { + "id": "telos", + "graph_id": null, + "name": "Telos", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "icon": { + "id": "networks/telos", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://telos.net/" + }, + "index": 44, + "testnets": [ + { + "id": "telostest", + "graph_id": null, + "name": "Telos Test", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "supported_services": { + "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "index": 45 + } + ], + "consensus": [], + "evms": [] + }, + { + "id": "kava", + "graph_id": null, + "name": "Kava", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/kava", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://www.kava.io/" + }, + "index": 46, + "testnets": [], + "consensus": [], + "evms": [] + }, + { + "id": "blast", + "name": "Blast Network", + "alt_names": [], + "graph_id": "blast-mainnet", + "index": 47, + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/blast", + "brand_theme": "light", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2", + "website": "https://blast.io/en" + } + }, + { + "id": "boba", + "name": "Boba Network", + "alt_names": [], + "graph_id": "boba", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/boba", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2", + "website": "https://boba.network/" + }, + "index": 48 + }, + { + "id": "cronos", + "name": "Cronos", + "alt_names": [], + "graph_id": null, + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/cronos", + "brand_theme": "dark", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "website": "https://cronos.org/" + }, + "index": 49 + }, + { + "id": "fuse", + "name": "Fuse", + "alt_names": [], + "graph_id": "fuse", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/fuse", + "brand_theme": "light", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L1", + "website": "https://fuse.io/" + }, + "index": 50 + }, + { + "id": "linea", + "name": "Linea", + "alt_names": [], + "graph_id": "linea", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/linea", + "brand_theme": "dark", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "website": "https://linea.build/" + }, + "index": 51 + }, + { + "id": "litecoin", + "name": "Litecoin", + "alt_names": ["LTC"], + "graph_id": null, + "standard": "ltc20", + "block_type": { + "label": "sf.litecoin.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-litecoin/docs/main:sf.litecoin.type.v1" + }, + "icon": { + "id": "tokens/ltc", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L1", + "website": "https://litecoin.org/" + }, + "index": 52 + }, + { + "id": "mode", + "name": "Mode Network", + "alt_names": [], + "graph_id": "mode-mainnet", + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/mode", + "brand_theme": "light", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2", + "website": "https://www.mode.network/" + }, + "index": 53 + }, + { + "id": "xai", + "name": "XAI", + "alt_names": [], + "graph_id": null, + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/xai", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L3", + "website": "https://xai.games/" + }, + "index": 54 + }, + { + "id": "zkevm", + "name": "Astar zkEVM", + "alt_names": [], + "graph_id": null, + "standard": "erc20", + "block_type": { + "label": "sf.zkevm.type.v1.Block", + "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" + }, + "icon": { + "id": "networks/astar", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + } + }, + "testnets": [ + { + "id": "zkyoto", + "name": "Astar zKyoto", + "alt_names": [], + "graph_id": "zkyoto-testnet", + "standard": "erc20", + "block_type": { + "label": "sf.zkevm.type.v1.Block", + "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" + }, + "supported_services": { + "rpc": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + } + }, + "index": 56 + } + ], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2", + "website": "https://astar.network/" + }, + "index": 55 + }, + { + "id": "zora", + "name": "Zora Network", + "alt_names": [], + "graph_id": null, + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/zora", + "brand_theme": "both", + "variants": ["branded"] + }, + "supported_services": { + "rpc": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-05-14T00:00:00Z", + "full_released_at": null, + "deprecated_at": null + } + }, + "testnets": [], + "consensus": [], + "evms": [], + "metadata": { + "layer": "L2", + "website": "https://zora.co/" + }, + "index": 57 + }, + { + "id": "ore", + "graph_id": null, + "name": "Ore", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "icon": { + "id": "networks/ore", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "firehose": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "substreams": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } + }, + "metadata": { + "website": "https://ore.network/" + }, + "index": 58, + "testnets": [ + { + "id": "orestage", + "graph_id": null, + "name": "Ore Stage", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "supported_services": { + "rpc": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "firehose": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "substreams": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } + }, + "index": 59 + } + ], + "consensus": [], + "evms": [] + } +] diff --git a/.cache/chains.cache.json b/data/chains/V2/chains-lock.orig.json similarity index 94% rename from .cache/chains.cache.json rename to data/chains/V2/chains-lock.orig.json index 79fa36f..c913f77 100644 --- a/.cache/chains.cache.json +++ b/data/chains/V2/chains-lock.orig.json @@ -161,24 +161,14 @@ }, "supported_services": { "firehose": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null }, "substreams": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null } }, "index": 4 @@ -195,24 +185,14 @@ }, "supported_services": { "firehose": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null }, "substreams": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": null } }, "index": 5 @@ -229,24 +209,14 @@ }, "supported_services": { "firehose": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" }, "substreams": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" } }, "index": 7 @@ -270,34 +240,19 @@ }, "supported_services": { "firehose": { - "beta": { - "released_at": "2023-12-21T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-21T00:00:00.000Z", - "deprecated_at": null - } + "beta_released_at": "2023-03-21T00:00:00.000Z", + "full_released_at": "2023-03-21T00:00:00.000Z", + "deprecated_at": null }, "substreams": { - "beta": { - "released_at": "2023-12-21T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-21T00:00:00.000Z", - "deprecated_at": null - } + "beta_released_at": "2023-03-21T00:00:00.000Z", + "full_released_at": "2023-03-21T00:00:00.000Z", + "deprecated_at": null }, "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null } }, "metadata": { @@ -322,34 +277,19 @@ }, "supported_services": { "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null }, "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null }, "rpc": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null } }, "metadata": { @@ -2751,5 +2691,73 @@ "website": "https://zora.co/" }, "index": 57 + }, + { + "id": "ore", + "graph_id": null, + "name": "Ore", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "icon": { + "id": "networks/ore", + "brand_theme": "both", + "variants": ["branded", "mono"] + }, + "supported_services": { + "rpc": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "firehose": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "substreams": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } + }, + "metadata": { + "website": "https://ore.network/" + }, + "index": 58, + "testnets": [ + { + "id": "orestage", + "graph_id": null, + "name": "Ore Stage", + "alt_names": [], + "standard": "antelope", + "block_type": { + "label": "sf.antelope.type.v1.Block", + "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" + }, + "supported_services": { + "rpc": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "firehose": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "substreams": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + } + }, + "index": 59 + } + ] } ] diff --git a/data/chains/V2/chains.json b/data/chains/V2/chains.json index 7a1094a..0925853 100644 --- a/data/chains/V2/chains.json +++ b/data/chains/V2/chains.json @@ -18,9 +18,21 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "deprecated", - "substreams": "unreleased" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.593Z", + "full_released_at": "2024-06-03T13:24:30.593Z", + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.593Z", + "full_released_at": "2024-06-03T13:24:30.593Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.593Z", + "full_released_at": "2024-06-03T13:24:30.593Z", + "deprecated_at": null + } }, "metadata": { "website": "https://ethereum.org/" @@ -38,9 +50,21 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": "deprecated", - "firehose": "deprecated", - "substreams": "deprecated" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + } }, "index": 1 }, @@ -55,9 +79,21 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": "deprecated", - "firehose": "deprecated", - "substreams": "deprecated" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + } }, "index": 2 }, @@ -72,9 +108,21 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": "deprecated", - "firehose": "deprecated", - "substreams": "deprecated" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + } }, "index": 6 } @@ -91,8 +139,16 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": "released", - "substreams": "released" + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "index": 3 }, @@ -107,8 +163,16 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": "released", - "substreams": "released" + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "index": 4 }, @@ -123,8 +187,16 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": "released", - "substreams": "released" + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "index": 5 }, @@ -139,8 +211,16 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": "released", - "substreams": "released" + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "index": 7 } @@ -163,9 +243,21 @@ "brand_theme": "both" }, "supported_services": { - "rpc": "unreleased", - "firehose": "released", - "substreams": "released" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "metadata": { "website": "https://bitcoin.org/" @@ -193,9 +285,21 @@ ] }, "supported_services": { - "rpc": "released", - "firehose": "released", - "substreams": "released" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "metadata": { "website": "https://polygon.technology/" @@ -213,9 +317,21 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": "released", - "firehose": "released", - "substreams": "released" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "index": 10 }, @@ -230,9 +346,21 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": "deprecated", - "firehose": "deprecated", - "substreams": "deprecated" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + } }, "index": 11 } @@ -260,9 +388,21 @@ ] }, "supported_services": { - "rpc": "released", - "firehose": "released", - "substreams": "released" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "metadata": { "website": "https://www.bnbchain.org/en/bnb-smart-chain" @@ -280,9 +420,21 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": "released", - "firehose": "released", - "substreams": "released" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "index": 13 } @@ -303,9 +455,21 @@ "brand_theme": "both" }, "supported_services": { - "rpc": "beta", - "firehose": "beta", - "substreams": "beta" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + } }, "metadata": { "website": "https://arbitrum.io/" @@ -323,9 +487,21 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": "unreleased", - "firehose": "unreleased", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "index": 15 }, @@ -340,9 +516,21 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": "released", - "firehose": "released", - "substreams": "released" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "index": 16 }, @@ -357,9 +545,21 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": "unreleased", - "firehose": "unreleased", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "index": 18 } @@ -376,8 +576,16 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": "released", - "substreams": "released" + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "index": 17 } @@ -398,9 +606,21 @@ "brand_theme": "both" }, "supported_services": { - "rpc": "unreleased", - "firehose": "unreleased", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "metadata": { "website": "https://www.avax.network/" @@ -426,9 +646,21 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "released", - "substreams": "released" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "metadata": { "website": "https://optimism.io/" @@ -450,15 +682,138 @@ "brand_theme": "both" }, "supported_services": { - "rpc": "unreleased", - "firehose": "released", - "substreams": "released" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "metadata": { "website": "https://www.base.org/" }, "index": 21 }, + { + "id": "near", + "graph_id": "near-mainnet", + "name": "Near", + "alt_names": [], + "standard": "near", + "block_type": { + "label": "sf.near.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" + }, + "icon": { + "id": "tokens/near", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } + }, + "metadata": { + "website": "https://near.org/" + }, + "index": 22, + "testnets": [ + { + "id": "neartest", + "graph_id": "near-testnet", + "name": "Near-testnet", + "alt_names": [], + "standard": "near", + "block_type": { + "label": "sf.near.type.v1.Block", + "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" + }, + "supported_services": { + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } + }, + "index": 23 + } + ] + }, + { + "id": "cardano", + "graph_id": null, + "name": "Cardano", + "alt_names": [], + "standard": "cardano", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/cardano", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://cardano.org/" + }, + "index": 24 + }, { "id": "decimal", "graph_id": null, @@ -478,14 +833,26 @@ ] }, "supported_services": { - "rpc": "beta", - "firehose": "deprecated", - "substreams": "unreleased" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "metadata": { "website": "https://www.decimalchain.com/" }, - "index": 22 + "index": 25 }, { "id": "gnosis", @@ -506,14 +873,26 @@ ] }, "supported_services": { - "rpc": "beta", - "firehose": "unreleased", - "substreams": "unreleased" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "metadata": { "website": "https://gnosis.io/" }, - "index": 23, + "index": 26, "consensus": [ { "id": "gnosis-cl", @@ -526,10 +905,18 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "firehose": "released", - "substreams": "released" + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, - "index": 24 + "index": 27 } ] }, @@ -552,14 +939,26 @@ ] }, "supported_services": { - "rpc": "beta", - "firehose": "unreleased", - "substreams": "unreleased" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "metadata": { "website": "https://fantom.foundation/" }, - "index": 25 + "index": 28 }, { "id": "celo", @@ -580,14 +979,26 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "unreleased", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "metadata": { "website": "https://celo.org/" }, - "index": 26, + "index": 29, "testnets": [ { "id": "alfajores", @@ -600,58 +1011,23 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": "unreleased", - "firehose": "unreleased", - "substreams": "unreleased" - }, - "index": 27 - } - ] - }, - { - "id": "near", - "graph_id": "near-mainnet", - "name": "Near", - "alt_names": [], - "standard": "near", - "block_type": { - "label": "sf.near.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" - }, - "icon": { - "id": "tokens/near", - "brand_theme": "both", - "variants": [ - "branded", - "mono" - ] - }, - "supported_services": { - "rpc": "unreleased", - "firehose": "released", - "substreams": "released" - }, - "metadata": { - "website": "https://near.org/" - }, - "index": 28, - "testnets": [ - { - "id": "neartest", - "graph_id": "near-testnet", - "name": "Near-testnet", - "alt_names": [], - "standard": "near", - "block_type": { - "label": "sf.near.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" - }, - "supported_services": { - "rpc": "unreleased", - "firehose": "released", - "substreams": "released" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, - "index": 29 + "index": 30 } ] }, @@ -674,14 +1050,26 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "released", - "substreams": "released" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "metadata": { "website": "https://arweave.org/" }, - "index": 30 + "index": 31 }, { "id": "cosmoshub", @@ -702,14 +1090,26 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "released", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "metadata": { "website": "https://cosmos.network/" }, - "index": 31, + "index": 32, "testnets": [ { "id": "theta", @@ -722,11 +1122,23 @@ "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" }, "supported_services": { - "rpc": "unreleased", - "firehose": "deprecated", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, - "index": 32 + "index": 33 }, { "id": "juno", @@ -739,11 +1151,23 @@ "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" }, "supported_services": { - "rpc": "unreleased", - "firehose": "deprecated", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, - "index": 33 + "index": 34 } ] }, @@ -766,14 +1190,26 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "released", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "metadata": { "website": "https://osmosis.zone/" }, - "index": 34 + "index": 35 }, { "id": "moonbeam", @@ -794,14 +1230,26 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "unreleased", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "metadata": { "website": "https://moonbeam.network/" }, - "index": 35 + "index": 36 }, { "id": "scroll", @@ -822,14 +1270,26 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "unreleased", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "metadata": { "website": "https://scroll.io/" }, - "index": 36 + "index": 37 }, { "id": "starknet", @@ -850,14 +1310,26 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "unreleased", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "metadata": { "website": "https://www.starknet.io/" }, - "index": 37 + "index": 38 }, { "id": "eos", @@ -877,14 +1349,26 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "deprecated", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "metadata": { "website": "https://eosnetwork.com/" }, - "index": 38, + "index": 39, "evms": [ { "id": "eosevm", @@ -897,11 +1381,23 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": "unreleased", - "firehose": "deprecated", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, - "index": 39 + "index": 40 } ], "testnets": [ @@ -916,11 +1412,23 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "supported_services": { - "rpc": "unreleased", - "firehose": "deprecated", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, - "index": 40 + "index": 41 }, { "id": "kylin", @@ -933,11 +1441,23 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "supported_services": { - "rpc": "unreleased", - "firehose": "deprecated", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, - "index": 41 + "index": 42 } ] }, @@ -960,14 +1480,26 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "released", - "substreams": "released" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "metadata": { "website": "https://wax.io/" }, - "index": 42, + "index": 43, "testnets": [ { "id": "waxtest", @@ -980,11 +1512,23 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "supported_services": { - "rpc": "unreleased", - "firehose": "released", - "substreams": "released" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, - "index": 43 + "index": 44 } ] }, @@ -1007,14 +1551,26 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "unreleased", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "metadata": { "website": "https://telos.net/" }, - "index": 44, + "index": 45, "testnets": [ { "id": "telostest", @@ -1027,11 +1583,23 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "supported_services": { - "rpc": "unreleased", - "firehose": "released", - "substreams": "released" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, - "index": 45 + "index": 46 } ] }, @@ -1054,21 +1622,33 @@ ] }, "supported_services": { - "rpc": "beta", - "firehose": "unreleased", - "substreams": "unreleased" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "metadata": { "website": "https://www.kava.io/" }, - "index": 46 + "index": 47 }, { "id": "blast", "name": "Blast Network", "alt_names": [], "graph_id": "blast-mainnet", - "index": 47, + "index": 48, "standard": "erc20", "block_type": { "label": "sf.ethereum.type.v2.Block", @@ -1083,9 +1663,21 @@ ] }, "supported_services": { - "rpc": "beta", - "firehose": "beta", - "substreams": "beta" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + } }, "testnets": [], "consensus": [], @@ -1114,9 +1706,21 @@ ] }, "supported_services": { - "rpc": "beta", - "firehose": "beta", - "substreams": "beta" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + } }, "testnets": [], "consensus": [], @@ -1125,7 +1729,7 @@ "layer": "L2", "website": "https://boba.network/" }, - "index": 48 + "index": 49 }, { "id": "cronos", @@ -1146,9 +1750,21 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "deprecated", - "substreams": "unreleased" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } }, "testnets": [], "consensus": [], @@ -1156,7 +1772,7 @@ "metadata": { "website": "https://cronos.org/" }, - "index": 49 + "index": 50 }, { "id": "fuse", @@ -1177,9 +1793,21 @@ ] }, "supported_services": { - "rpc": "beta", - "firehose": "beta", - "substreams": "beta" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + } }, "testnets": [], "consensus": [], @@ -1188,7 +1816,7 @@ "layer": "L1", "website": "https://fuse.io/" }, - "index": 50 + "index": 51 }, { "id": "linea", @@ -1209,9 +1837,21 @@ ] }, "supported_services": { - "rpc": "beta", - "firehose": "beta", - "substreams": "beta" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + } }, "testnets": [], "consensus": [], @@ -1219,7 +1859,7 @@ "metadata": { "website": "https://linea.build/" }, - "index": 51 + "index": 52 }, { "id": "litecoin", @@ -1242,9 +1882,21 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "beta", - "substreams": "beta" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + } }, "testnets": [], "consensus": [], @@ -1253,7 +1905,7 @@ "layer": "L1", "website": "https://litecoin.org/" }, - "index": 52 + "index": 53 }, { "id": "mode", @@ -1274,9 +1926,21 @@ ] }, "supported_services": { - "rpc": "beta", - "firehose": "beta", - "substreams": "beta" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + } }, "testnets": [], "consensus": [], @@ -1285,7 +1949,87 @@ "layer": "L2", "website": "https://www.mode.network/" }, - "index": 53 + "index": 54 + }, + { + "id": "ronin", + "graph_id": null, + "name": "Ronin", + "alt_names": [], + "standard": "rrc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/ronin", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://roninchain.com/" + }, + "index": 55 + }, + { + "id": "sei", + "graph_id": null, + "name": "Sei", + "alt_names": [], + "standard": "sei", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "tokens/sei", + "brand_theme": "both", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://www.sei.io/" + }, + "index": 56 }, { "id": "xai", @@ -1306,9 +2050,21 @@ ] }, "supported_services": { - "rpc": "unreleased", - "firehose": "released", - "substreams": "released" + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": null + } }, "testnets": [], "consensus": [], @@ -1317,10 +2073,10 @@ "layer": "L3", "website": "https://xai.games/" }, - "index": 54 + "index": 57 }, { - "id": "zkevm", + "id": "zkastar", "name": "Astar zkEVM", "alt_names": [], "graph_id": null, @@ -1338,11 +2094,52 @@ ] }, "supported_services": { - "rpc": "beta", - "firehose": "beta", - "substreams": "beta" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + } }, "testnets": [ + { + "id": "zkatana", + "name": "Astar zKatana", + "alt_names": [], + "graph_id": null, + "standard": "erc20", + "block_type": { + "label": "sf.zkevm.type.v1.Block", + "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" + }, + "supported_services": { + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + } + }, + "index": 59 + }, { "id": "zkyoto", "name": "Astar zKyoto", @@ -1354,11 +2151,23 @@ "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" }, "supported_services": { - "rpc": "beta", - "firehose": "beta", - "substreams": "beta" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + } }, - "index": 56 + "index": 60 } ], "consensus": [], @@ -1367,7 +2176,87 @@ "layer": "L2", "website": "https://astar.network/" }, - "index": 55 + "index": 58 + }, + { + "id": "x-layer", + "graph_id": null, + "name": "X-Layer", + "alt_names": [], + "standard": "erc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/x-layer", + "brand_theme": "dark", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://www.okx.com/fr/xlayer" + }, + "index": 61 + }, + { + "id": "zksync", + "graph_id": "zksync-era", + "name": "zkSync Era", + "alt_names": [], + "standard": "rrc20", + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "icon": { + "id": "networks/zksync", + "brand_theme": "dark", + "variants": [ + "branded", + "mono" + ] + }, + "supported_services": { + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "metadata": { + "website": "https://zksync.io/" + }, + "index": 62 }, { "id": "zora", @@ -1387,9 +2276,21 @@ ] }, "supported_services": { - "rpc": "beta", - "firehose": "beta", - "substreams": "beta" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": null, + "deprecated_at": null + } }, "testnets": [], "consensus": [], @@ -1398,7 +2299,7 @@ "layer": "L2", "website": "https://zora.co/" }, - "index": 57 + "index": 63 }, { "id": "ore", @@ -1419,14 +2320,26 @@ ] }, "supported_services": { - "rpc": "deprecated", - "firehose": "deprecated", - "substreams": "deprecated" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + } }, "metadata": { "website": "https://ore.network/" }, - "index": 58, + "index": 64, "testnets": [ { "id": "orestage", @@ -1439,11 +2352,23 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "supported_services": { - "rpc": "deprecated", - "firehose": "deprecated", - "substreams": "deprecated" + "rpc": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "firehose": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + }, + "substreams": { + "beta_released_at": "2024-06-03T13:24:30.594Z", + "full_released_at": "2024-06-03T13:24:30.594Z", + "deprecated_at": "2024-06-03T13:24:30.594Z" + } }, - "index": 59 + "index": 65 } ] } diff --git a/data/chains/V2/eth/meta.ts b/data/chains/V2/eth/meta.ts index 7bdd8f3..2d39ccf 100644 --- a/data/chains/V2/eth/meta.ts +++ b/data/chains/V2/eth/meta.ts @@ -16,9 +16,9 @@ const meta: Chain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'deprecated', - substreams: 'unreleased', + rpc: 'released', + firehose: 'released', + substreams: 'released', }, metadata: { website: 'https://ethereum.org/', diff --git a/data/chains/V2/index.ts b/data/chains/V2/index.ts index 3406851..c96fb01 100644 --- a/data/chains/V2/index.ts +++ b/data/chains/V2/index.ts @@ -9,6 +9,7 @@ export { default as blast } from './blast/meta'; export { default as boba } from './boba/meta'; export { default as bsc } from './bsc/meta'; export { default as chapel } from './bsc/testnets/chapel/meta'; +export { default as cardano } from './cardano/meta'; export { default as celo } from './celo/meta'; export { default as alfajores } from './celo/testnets/alfajores/meta'; export { default as cosmoshub } from './cosmoshub/meta'; @@ -48,13 +49,18 @@ export { default as osmosis } from './osmosis/meta'; export { default as polygon } from './polygon/meta'; export { default as amoy } from './polygon/testnets/amoy/meta'; export { default as mumbai } from './polygon/testnets/mumbai/meta'; +export { default as ronin } from './ronin/meta'; export { default as scroll } from './scroll/meta'; +export { default as sei } from './sei/meta'; export { default as starknet } from './starknet/meta'; export { default as telos } from './telos/meta'; export { default as telostest } from './telos/testnets/telostest/meta'; export { default as wax } from './wax/meta'; export { default as waxtest } from './wax/testnets/waxtest/meta'; +export { default as xLayer } from './x-layer/meta'; export { default as xai } from './xai/meta'; -export { default as zkevm } from './zkevm/meta'; -export { default as zkyoto } from './zkevm/testnets/zkyoto/meta'; +export { default as zkastar } from './zkastar/meta'; +export { default as zkatana } from './zkastar/testnets/zkatana/meta'; +export { default as zkyoto } from './zkastar/testnets/zkyoto/meta'; +export { default as zksync } from './zksync/meta'; export { default as zora } from './zora/meta'; diff --git a/data/chains/V2/ronin/meta.ts b/data/chains/V2/ronin/meta.ts new file mode 100644 index 0000000..48bf7a4 --- /dev/null +++ b/data/chains/V2/ronin/meta.ts @@ -0,0 +1,28 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'ronin', + graph_id: null, + name: 'Ronin', + alt_names: [], + standard: 'rrc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/ronin', + brand_theme: 'both', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', + }, + metadata: { + website: 'https://roninchain.com/', + }, +}; + +export default meta; diff --git a/data/chains/V2/ronin/ronin.branded.svg b/data/chains/V2/ronin/ronin.branded.svg new file mode 100644 index 0000000..29ef675 --- /dev/null +++ b/data/chains/V2/ronin/ronin.branded.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/data/chains/V2/ronin/ronin.dark.svg b/data/chains/V2/ronin/ronin.dark.svg new file mode 100644 index 0000000..d9fabc1 --- /dev/null +++ b/data/chains/V2/ronin/ronin.dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/ronin/ronin.light.svg b/data/chains/V2/ronin/ronin.light.svg new file mode 100644 index 0000000..e53f957 --- /dev/null +++ b/data/chains/V2/ronin/ronin.light.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/chains/V2/sei/meta.ts b/data/chains/V2/sei/meta.ts new file mode 100644 index 0000000..fd7b846 --- /dev/null +++ b/data/chains/V2/sei/meta.ts @@ -0,0 +1,28 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'sei', + graph_id: null, + name: 'Sei', + alt_names: [], + standard: 'sei', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'tokens/sei', + brand_theme: 'both', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', + }, + metadata: { + website: 'https://www.sei.io/', + }, +}; + +export default meta; diff --git a/data/chains/V2/sei/sei.branded.svg b/data/chains/V2/sei/sei.branded.svg new file mode 100644 index 0000000..504518e --- /dev/null +++ b/data/chains/V2/sei/sei.branded.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/data/chains/V2/sei/sei.dark.svg b/data/chains/V2/sei/sei.dark.svg new file mode 100644 index 0000000..f5cc4a8 --- /dev/null +++ b/data/chains/V2/sei/sei.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/sei/sei.light.svg b/data/chains/V2/sei/sei.light.svg new file mode 100644 index 0000000..81252a4 --- /dev/null +++ b/data/chains/V2/sei/sei.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/x-layer/meta.ts b/data/chains/V2/x-layer/meta.ts new file mode 100644 index 0000000..dbe468b --- /dev/null +++ b/data/chains/V2/x-layer/meta.ts @@ -0,0 +1,28 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'x-layer', + graph_id: null, + name: 'X-Layer', + alt_names: [], + standard: 'erc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/x-layer', + brand_theme: 'dark', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', + }, + metadata: { + website: 'https://www.okx.com/fr/xlayer', + }, +}; + +export default meta; diff --git a/data/chains/V2/x-layer/x-layer.branded.svg b/data/chains/V2/x-layer/x-layer.branded.svg new file mode 100644 index 0000000..f7a7ba2 --- /dev/null +++ b/data/chains/V2/x-layer/x-layer.branded.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/data/chains/V2/x-layer/x-layer.dark.svg b/data/chains/V2/x-layer/x-layer.dark.svg new file mode 100644 index 0000000..51ee552 --- /dev/null +++ b/data/chains/V2/x-layer/x-layer.dark.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/data/chains/V2/x-layer/x-layer.light.svg b/data/chains/V2/x-layer/x-layer.light.svg new file mode 100644 index 0000000..1820c7e --- /dev/null +++ b/data/chains/V2/x-layer/x-layer.light.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/data/chains/V2/zkevm/meta.ts b/data/chains/V2/zkastar/meta.ts similarity index 97% rename from data/chains/V2/zkevm/meta.ts rename to data/chains/V2/zkastar/meta.ts index 7af4d4d..13cce4d 100644 --- a/data/chains/V2/zkevm/meta.ts +++ b/data/chains/V2/zkastar/meta.ts @@ -1,7 +1,7 @@ import { Chain } from '../../../../types/chain.types'; const meta: Chain = { - id: 'zkevm', + id: 'zkastar', name: 'Astar zkEVM', alt_names: [], graph_id: null, diff --git a/data/chains/V2/zkastar/testnets/zkatana/meta.ts b/data/chains/V2/zkastar/testnets/zkatana/meta.ts new file mode 100644 index 0000000..8c55f11 --- /dev/null +++ b/data/chains/V2/zkastar/testnets/zkatana/meta.ts @@ -0,0 +1,20 @@ +import { Testnet } from '../../../../../../types/chain.types'; + +const meta: Testnet = { + id: 'zkatana', + name: 'Astar zKatana', + alt_names: [], + graph_id: null, + standard: 'erc20', + block_type: { + label: 'sf.zkevm.type.v1.Block', + url: 'https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1', + }, + supported_services: { + rpc: 'beta', + firehose: 'beta', + substreams: 'beta', + }, +}; + +export default meta; diff --git a/data/chains/V2/zkevm/testnets/zkyoto/meta.ts b/data/chains/V2/zkastar/testnets/zkyoto/meta.ts similarity index 100% rename from data/chains/V2/zkevm/testnets/zkyoto/meta.ts rename to data/chains/V2/zkastar/testnets/zkyoto/meta.ts diff --git a/data/chains/V2/zkevm/zkevm.branded.svg b/data/chains/V2/zkastar/zkastar.branded.svg similarity index 100% rename from data/chains/V2/zkevm/zkevm.branded.svg rename to data/chains/V2/zkastar/zkastar.branded.svg diff --git a/data/chains/V2/zkevm/zkevm.dark.svg b/data/chains/V2/zkastar/zkastar.dark.svg similarity index 100% rename from data/chains/V2/zkevm/zkevm.dark.svg rename to data/chains/V2/zkastar/zkastar.dark.svg diff --git a/data/chains/V2/zkevm/zkevm.light.svg b/data/chains/V2/zkastar/zkastar.light.svg similarity index 100% rename from data/chains/V2/zkevm/zkevm.light.svg rename to data/chains/V2/zkastar/zkastar.light.svg diff --git a/data/chains/V2/zksync/meta.ts b/data/chains/V2/zksync/meta.ts new file mode 100644 index 0000000..c6845f4 --- /dev/null +++ b/data/chains/V2/zksync/meta.ts @@ -0,0 +1,28 @@ +import { Chain } from '../../../../types/chain.types'; + +const meta: Chain = { + id: 'zksync', + graph_id: 'zksync-era', + name: 'zkSync Era', + alt_names: [], + standard: 'rrc20', + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + icon: { + id: 'networks/zksync', + brand_theme: 'dark', + variants: ['branded', 'mono'], + }, + supported_services: { + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', + }, + metadata: { + website: 'https://zksync.io/', + }, +}; + +export default meta; diff --git a/data/chains/V2/zksync/zksync.branded.svg b/data/chains/V2/zksync/zksync.branded.svg new file mode 100644 index 0000000..901dc2b --- /dev/null +++ b/data/chains/V2/zksync/zksync.branded.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/zksync/zksync.dark.svg b/data/chains/V2/zksync/zksync.dark.svg new file mode 100644 index 0000000..d404ffd --- /dev/null +++ b/data/chains/V2/zksync/zksync.dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/chains/V2/zksync/zksync.light.svg b/data/chains/V2/zksync/zksync.light.svg new file mode 100644 index 0000000..09b7c8c --- /dev/null +++ b/data/chains/V2/zksync/zksync.light.svg @@ -0,0 +1,3 @@ + + + diff --git a/data/index.config.ts b/data/index.config.ts index 5795bd2..c8146f8 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 5/17/2024, 12:07:17 PM. +// Last generation on 6/3/2024, 9:24:30 AM. export default { ordered: { @@ -22,11 +22,12 @@ export default { avalanche: [], optimism: [], base: [], + near: ['neartest'], + cardano: [], decimal: [], gnosis: ['gnosis-cl'], fantom: [], celo: ['alfajores'], - near: ['neartest'], arweave: [], cosmoshub: ['theta', 'juno'], osmosis: [], @@ -44,8 +45,12 @@ export default { linea: [], litecoin: [], mode: [], + ronin: [], + sei: [], xai: [], - zkevm: ['zkyoto'], + zkastar: ['zkatana', 'zkyoto'], + 'x-layer': [], + zksync: [], zora: [], ore: ['orestage'], }, diff --git a/package-lock.json b/package-lock.json index 6df47b9..8e430d5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "@pinax/chains", "version": "2.0.5-rc1", "devDependencies": { - "@token-icons/core": "^2.7.0", + "@token-icons/core": "^2.8.2", "@types/bun": "latest", "husky": "^9.0.11", "prettier": "^3.2.5", @@ -54,9 +54,9 @@ } }, "node_modules/@token-icons/core": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.7.0.tgz", - "integrity": "sha512-rUCXjXjulJFAzJ5OV2vHeapnKF3tY4AomedlElzI8/pV5rH/OOqiC/smfts+642mUF7diHSHJfMI7bE5J2ndZQ==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.8.2.tgz", + "integrity": "sha512-wK29YO8DJbFbbsfZd1mN1jxuDxBC/gZMJUpTtDzdk6afMY2O/3tsMC+k9Mt9/OYzOKg+4J3yy6vsqwaLwdN75w==", "dev": true, "peerDependencies": { "typescript": "^5.0.0" @@ -444,9 +444,9 @@ } }, "@token-icons/core": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.7.0.tgz", - "integrity": "sha512-rUCXjXjulJFAzJ5OV2vHeapnKF3tY4AomedlElzI8/pV5rH/OOqiC/smfts+642mUF7diHSHJfMI7bE5J2ndZQ==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.8.2.tgz", + "integrity": "sha512-wK29YO8DJbFbbsfZd1mN1jxuDxBC/gZMJUpTtDzdk6afMY2O/3tsMC+k9Mt9/OYzOKg+4J3yy6vsqwaLwdN75w==", "dev": true, "requires": {} }, diff --git a/package.json b/package.json index 2fe6642..837c946 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "prepare": "husky" }, "devDependencies": { - "@token-icons/core": "^2.7.0", + "@token-icons/core": "^2.8.2", "@types/bun": "latest", "husky": "^9.0.11", "prettier": "^3.2.5", diff --git a/scripts/generate/V2/copy_token_icons.ts b/scripts/generate/V2/copy_token_icons.ts index 667e1d2..caa00a7 100644 --- a/scripts/generate/V2/copy_token_icons.ts +++ b/scripts/generate/V2/copy_token_icons.ts @@ -34,16 +34,23 @@ const chains = JSON.parse( fs.readFileSync('./data/chains/V2/chains.json', 'utf-8'), ); -const unavailableIcons = [ - // Those chains IDs are not matching their svgs in the token-icons package - // or are simply not available +const tiUnavailableIcons = [ + // Those icons are not available in Token Icons 'networks/ore', - 'networks/binance-smart-chain', - 'networks/optimistic-ethereum', +]; + +// Token Icon Exceptions, where metadata ID +// does not match the SVG ID +const tiExceptions = [ + ['networks/optimistic-ethereum', 'optimism'], + ['networks/binance-smart-chain', 'binance-smart-chain'], // Don't split at hyphen for bsc + ['networks/polygon-pos', 'polygon'], + ['networks/zora-network', 'zora'], + ['networks/x-layer', 'x-layer'], // Don't split at hyphen for x-layer ]; const iconIsUnavailable = (iconId: string) => { - return unavailableIcons.includes(iconId); + return tiUnavailableIcons.includes(iconId); }; const tokens: Token[] = JSON.parse( @@ -54,6 +61,19 @@ const networks: Network[] = JSON.parse( fs.readFileSync(path.resolve(tokenIconNetworksMetaPath), 'utf8'), ); +const matchMetaToSVGIDs = (metaIconID: string, exceptions: string[][]) => { + // Find if metaIconID is in exceptions + const exception = tiExceptions.find(([id]) => id === metaIconID); + + // If it is, return the second element of the exception array + if (exception) { + return exception[1]; + } + + // If it's not in exceptions, split at '/' and '-' and return the first element after the split + return metaIconID.split('/')[1].split('-')[0]; +}; + const checkIconMetaForChain = (chain: any) => { if (!chain.icon) { // Ignore chains without icons (typically subnets) @@ -71,7 +91,8 @@ const checkIconMetaForChain = (chain: any) => { if (iconMeta) { chain.icon.variants = iconMeta.variants; } else { - warnings.push(`⚠️ Could not find icon meta for '${chain.icon.id}'`); + const warnMsg = `⚠️ Could not find icon meta for '${chain.icon.id}'`; + warnings.push(`(${warnings.length + 1}) ${warnMsg}`); } } else { const iconMeta = networks.find( @@ -81,7 +102,8 @@ const checkIconMetaForChain = (chain: any) => { // @ts-ignore chain.icon.variants = iconMeta.variants; } else { - warnings.push(`⚠️ Could not find icon meta for '${chain.icon.id}'`); + const warnMsg = `⚠️ Could not find icon meta for '${chain.icon.id}'`; + warnings.push(`(${warnings.length + 1}) ${warnMsg}`); } } }; @@ -103,12 +125,12 @@ for (const chain of chains) { const brandedIconPath: string = path.join( iconBasePath, 'branded', - `${chain.icon.id.split('/')[1].split('-')[0]}.svg`, + `${matchMetaToSVGIDs(chain.icon.id, tiExceptions)}.svg`, ); const monoIconPath: string = path.join( iconBasePath, 'mono', - `${chain.icon.id.split('/')[1].split('-')[0]}.svg`, + `${matchMetaToSVGIDs(chain.icon.id, tiExceptions)}.svg`, ); // Define the destination file paths @@ -131,7 +153,9 @@ for (const chain of chains) { fs.copyFileSync(brandedIconPath, destBrandedIconPath); } else { if (!iconIsUnavailable(chain.icon.id)) { - console.warn(`⚠️ Branded icon not found for ${chain.id}`); + console.log(brandedIconPath); + const warnMsg = `⚠️ Branded icon not found for ${chain.id}`; + warnings.push(`(${warnings.length + 1}) ${warnMsg}`); } } } @@ -149,7 +173,8 @@ for (const chain of chains) { fs.writeFileSync(destDarkIconPath, darkIconContent); } else { if (!iconIsUnavailable(chain.icon.id)) { - console.warn(`⚠️ Mono icon not found for ${chain.id}`); + const warnMsg = `⚠️ Mono icon not found for ${chain.id}`; + warnings.push(`(${warnings.length + 1}) ${warnMsg}`); } } } @@ -158,7 +183,7 @@ for (const chain of chains) { if (warnings.length) { console.log(warnings.join('\n')); console.log( - `☑️ Copied chain icons from token-icons with ${warnings.length} warnings.`, + `☑️ Copied chain icons from token-icons with ${warnings.length} warnings.`, ); } else { console.log(`✅ Successfully copied chain icons from token-icons!`); diff --git a/scripts/generate/V2/data_json.ts b/scripts/generate/V2/data_json.ts index bb60a6e..1e7ac87 100644 --- a/scripts/generate/V2/data_json.ts +++ b/scripts/generate/V2/data_json.ts @@ -1,6 +1,5 @@ import fs from 'fs'; import path from 'path'; -import bun from 'bun'; import * as chainData from '../../../data/chains/V2/index'; import { toCamelCase } from '../../../utils/case'; import indexConf from '../../../data/index.config'; @@ -10,6 +9,7 @@ import { Chain, SupportedServices } from '../../../types'; interface SubnetData { id: string; index: number; + supported_services: SupportedServices; } console.log('🕑 Generating data.json...'); @@ -25,10 +25,54 @@ const data: Chain[] = []; let indexCounter = 0; -const cacheGenerateServiceDates = (services: SupportedServices) => { - // Read the cache file at ./data/chains/V2/chains-lock.json - // If the file does not exist, throw an error, and exit the script - // If the file exists, parse the file +const generateSupportedServicesDatesFromCache = ( + services: SupportedServices, +) => { + const currentDate = new Date().toISOString(); + + return Object.entries(services).reduce((acc, [service, status]) => { + switch (status) { + case 'beta': + // @ts-ignore + acc[service] = { + beta_released_at: currentDate, + full_released_at: null, + deprecated_at: null, + }; + break; + case 'released': + // @ts-ignore + acc[service] = { + // @ts-ignore + beta_released_at: acc[service]?.beta_released_at || currentDate, + full_released_at: currentDate, + deprecated_at: null, + }; + break; + case 'deprecated': + // @ts-ignore + acc[service] = { + // @ts-ignore + beta_released_at: currentDate, // Make sure it was once released + full_released_at: currentDate, // Make sure it was once released + ...acc[service], // Overwrite with existing data + deprecated_at: currentDate, + }; + break; + case 'unreleased': + // @ts-ignore + acc[service] = { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }; + break; + default: + throw new Error(`Unsupported status: ${status}`); + } + + return acc; + }, {} as SupportedServices); }; Object.keys(indexConf.ordered).forEach((mainnet, mainnetIndex) => { @@ -36,12 +80,18 @@ Object.keys(indexConf.ordered).forEach((mainnet, mainnetIndex) => { const mainnetData: MainnetData = chainData[toCamelCase(mainnet)]; mainnetData.index = indexCounter++; + mainnetData.supported_services = generateSupportedServicesDatesFromCache( + mainnetData.supported_services, + ); (indexConf as IndexConfig).ordered[mainnet].forEach((subnet: any) => { // @ts-ignore const subnetData: SubnetData = chainData[toCamelCase(subnet)]; subnetData.index = indexCounter++; + subnetData.supported_services = generateSupportedServicesDatesFromCache( + subnetData.supported_services, + ); if (subnetData.id.indexOf('-cl') !== -1) { if (!mainnetData.consensus) mainnetData.consensus = []; diff --git a/scripts/verify/V2/notion-diff/.gitignore b/scripts/verify/V2/notion-diff/.gitignore new file mode 100644 index 0000000..7674fbb --- /dev/null +++ b/scripts/verify/V2/notion-diff/.gitignore @@ -0,0 +1 @@ +input/ \ No newline at end of file diff --git a/scripts/verify/V2/notion-diff/README.md b/scripts/verify/V2/notion-diff/README.md index 4bf64eb..16229c4 100644 --- a/scripts/verify/V2/notion-diff/README.md +++ b/scripts/verify/V2/notion-diff/README.md @@ -4,5 +4,15 @@ This tool is used to compare the data that we have here against the Notion datab ## What it does -- ✅Shows the differences between the data we have and the Notion database -- ✅Highlights ready-to-release beta chains/services \ No newline at end of file +- ✅ Show missing chains +- ✅ Shows the different in service statuses + +## How to use + +1. Export the Blockchain Service Matrix CSV; + 1. Go on Notion [Blockchain Service Matrix](https://www.notion.so/pinaxnetwork/bfec60491b1d48509980ef69e31e7651?v=93922339441443698c3ebc8a695b61bd); + 1. Click on the three dots on the top right corner; + 1. Click on `Export`, and `Export` again (Markdown & CSV); +1. Place the exported CSV in the `notion-diff/input` folder (only one file at a time); +1. Run the script with `npm run notion-diff`; +1. The script will output the differences between the data we have and the Notion database. \ No newline at end of file diff --git a/types/graph.types.ts b/types/graph.types.ts index b89d307..825d888 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 5/17/2024, 12:07:18 PM. +// Last generation on 6/3/2024, 9:24:30 AM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' @@ -19,7 +19,6 @@ export type GraphID = | 'celo' | 'celo-alfajores' | 'chapel' - | 'clover' | 'cosmoshub-4' | 'etherlink-testnet' | 'fantom' @@ -46,9 +45,9 @@ export type GraphID = | 'optimism-sepolia' | 'osmo-test-4' | 'osmosis-1' - | 'poa-core' | 'polygon-amoy' | 'polygon-zkevm' + | 'polygon-zkevm-cardona' | 'polygon-zkevm-testnet' | 'scroll' | 'scroll-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 0715154..d7501f7 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 5/17/2024, 12:07:18 PM. +// Last generation on 6/3/2024, 9:24:31 AM. export type PinaxID = | 'arbone' | 'arbgoerli' @@ -13,6 +13,7 @@ export type PinaxID = | 'boba' | 'bsc' | 'chapel' + | 'cardano' | 'celo' | 'alfajores' | 'cosmoshub' @@ -52,13 +53,18 @@ export type PinaxID = | 'polygon' | 'amoy' | 'mumbai' + | 'ronin' | 'scroll' + | 'sei' | 'starknet' | 'telos' | 'telostest' | 'wax' | 'waxtest' + | 'x-layer' | 'xai' - | 'zkevm' + | 'zkastar' + | 'zkatana' | 'zkyoto' + | 'zksync' | 'zora'; diff --git a/types/standard.types.ts b/types/standard.types.ts index eb4aacb..3404cf7 100644 --- a/types/standard.types.ts +++ b/types/standard.types.ts @@ -5,4 +5,7 @@ export type Standard = | 'cosmos' | 'erc20' | 'ltc20' - | 'near'; + | 'near' + | 'rrc20' + | 'sei' + | 'cardano'; From f1d037e97e50782555e0752618a909f1c2c5d319 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Fri, 19 Jul 2024 11:35:38 -0400 Subject: [PATCH 41/51] Added tests, added RPC poller, and more... --- data/chains/V1/alfajores.json | 1 + data/chains/V1/amoy.json | 1 + data/chains/V1/arbgoerli.json | 1 + data/chains/V1/arbone.json | 1 + data/chains/V1/arbsepolia.json | 1 + data/chains/V1/arweave.json | 1 + data/chains/V1/avalanche.json | 1 + data/chains/V1/base.json | 1 + data/chains/V1/bitcoin.json | 1 + data/chains/V1/bsc.json | 1 + data/chains/V1/celo.json | 1 + data/chains/V1/chains.json | 50 + data/chains/V1/chapel.json | 1 + data/chains/V1/chiado-cl.json | 1 + data/chains/V1/chiado.json | 1 + data/chains/V1/cosmoshub.json | 1 + data/chains/V1/decimal.json | 1 + data/chains/V1/eos.json | 1 + data/chains/V1/eth-cl.json | 1 + data/chains/V1/eth.json | 1 + data/chains/V1/fantom.json | 1 + data/chains/V1/gnosis-cl.json | 1 + data/chains/V1/gnosis.json | 1 + data/chains/V1/goerli-cl.json | 1 + data/chains/V1/goerli.json | 1 + data/chains/V1/holesky-cl.json | 1 + data/chains/V1/holesky.json | 1 + data/chains/V1/jungle4.json | 1 + data/chains/V1/juno.json | 1 + data/chains/V1/kava.json | 1 + data/chains/V1/kylin.json | 1 + data/chains/V1/moonbeam.json | 1 + data/chains/V1/mumbai.json | 1 + data/chains/V1/near.json | 1 + data/chains/V1/neartest.json | 1 + data/chains/V1/optimism.json | 1 + data/chains/V1/ore.json | 1 + data/chains/V1/orestage.json | 1 + data/chains/V1/osmosis.json | 1 + data/chains/V1/polygon.json | 1 + data/chains/V1/scroll.json | 1 + data/chains/V1/sepolia-cl.json | 1 + data/chains/V1/sepolia.json | 1 + data/chains/V1/starknet.json | 1 + data/chains/V1/telos.json | 1 + data/chains/V1/telostest.json | 1 + data/chains/V1/theta.json | 1 + data/chains/V1/ux.json | 1 + data/chains/V1/wax.json | 1 + data/chains/V1/waxtest.json | 1 + data/chains/V1/zkatana.json | 1 + data/chains/V2/arbone/meta.ts | 5 +- .../V2/arbone/testnets/arbgoerli/meta.ts | 5 +- .../V2/arbone/testnets/arbsepolia/meta.ts | 5 +- data/chains/V2/arweave/meta.ts | 5 +- data/chains/V2/avalanche/meta.ts | 5 +- data/chains/V2/base/meta.ts | 5 +- data/chains/V2/bitcoin/meta.ts | 5 +- data/chains/V2/blast/meta.ts | 5 +- data/chains/V2/boba/meta.ts | 5 +- .../V2/boba/testnets/bobasepolia/meta.ts | 21 + data/chains/V2/bsc/meta.ts | 5 +- data/chains/V2/bsc/testnets/chapel/meta.ts | 5 +- data/chains/V2/cardano/meta.ts | 5 +- data/chains/V2/celo/meta.ts | 5 +- .../chains/V2/celo/testnets/alfajores/meta.ts | 5 +- data/chains/V2/chains.json | 573 +- data/chains/V2/cosmoshub/meta.ts | 5 +- .../chains/V2/cosmoshub/testnets/juno/meta.ts | 5 +- .../V2/cosmoshub/testnets/theta/meta.ts | 5 +- data/chains/V2/cronos/meta.ts | 5 +- data/chains/V2/decimal/meta.ts | 5 +- data/chains/V2/eos/evms/eosevm/meta.ts | 4 +- data/chains/V2/eos/meta.ts | 5 +- data/chains/V2/eos/testnets/jungle4/meta.ts | 5 +- data/chains/V2/eos/testnets/kylin/meta.ts | 5 +- data/chains/V2/eth/consensus/eth-cl/meta.ts | 5 +- .../chains/V2/eth/consensus/goerli-cl/meta.ts | 5 +- .../V2/eth/consensus/holesky-cl/meta.ts | 5 +- .../V2/eth/consensus/sepolia-cl/meta.ts | 5 +- data/chains/V2/eth/meta.ts | 5 +- data/chains/V2/eth/testnets/goerli/meta.ts | 5 +- data/chains/V2/eth/testnets/holesky/meta.ts | 5 +- data/chains/V2/eth/testnets/sepolia/meta.ts | 5 +- data/chains/V2/fantom/meta.ts | 5 +- data/chains/V2/fuse/meta.ts | 5 +- .../V2/gnosis/consensus/chiado-cl/meta.ts | 5 +- .../V2/gnosis/consensus/gnosis-cl/meta.ts | 5 +- data/chains/V2/gnosis/meta.ts | 5 +- data/chains/V2/gnosis/testnets/chiado/meta.ts | 5 +- data/chains/V2/index.ts | 5 + data/chains/V2/kava/meta.ts | 5 +- data/chains/V2/linea/meta.ts | 5 +- data/chains/V2/litecoin/meta.ts | 5 +- data/chains/V2/mode/meta.ts | 5 +- data/chains/V2/moonbeam/meta.ts | 5 +- data/chains/V2/near/meta.ts | 5 +- data/chains/V2/near/testnets/neartest/meta.ts | 5 +- data/chains/V2/optimism/meta.ts | 5 +- data/chains/V2/ore/meta.ts | 5 +- data/chains/V2/ore/testnets/orestage/meta.ts | 5 +- data/chains/V2/osmosis/meta.ts | 5 +- data/chains/V2/polygon/meta.ts | 5 +- data/chains/V2/polygon/testnets/amoy/meta.ts | 5 +- .../chains/V2/polygon/testnets/mumbai/meta.ts | 5 +- data/chains/V2/ronin/meta.ts | 5 +- data/chains/V2/scroll/meta.ts | 5 +- data/chains/V2/sei/meta.ts | 5 +- data/chains/V2/starknet/meta.ts | 13 +- data/chains/V2/telos/meta.ts | 5 +- .../V2/telos/testnets/telostest/meta.ts | 5 +- data/chains/V2/wax/meta.ts | 5 +- data/chains/V2/wax/testnets/waxtest/meta.ts | 5 +- data/chains/V2/x-layer/meta.ts | 5 +- data/chains/V2/xai/meta.ts | 5 +- data/chains/V2/zkastar/meta.ts | 5 +- .../V2/zkastar/testnets/zkatana/meta.ts | 5 +- .../chains/V2/zkastar/testnets/zkyoto/meta.ts | 5 +- data/chains/V2/zksync/meta.ts | 8 +- data/chains/V2/zora/meta.ts | 5 +- data/index.config.ts | 4 +- package-lock.json | 6716 ++++++++++++++++- package.json | 2 + scripts/generate/V2/data_index.ts | 5 + scripts/generate/V2/data_json.ts | 66 +- tests/assert_deprecated_filter.test.ts | 1 - .../assert_flatten_filter_sort_chain.test.ts | 107 - .../assert_no_substreams_wo_firehose.test.ts | 2 - tests/assert_supported_utils.test.ts | 4 - tests/assert_unexported_chains.test.ts | 2 - tests/assert_unique_index.test.ts | 1 - tests/assert_valid_icons.test.ts | 2 - tests/chain_exported.test.ts | 32 + tests/chain_find_by_id.test.ts | 51 + tests/chain_has_full_block.test.ts | 39 + ...hain_has_no_substreams_wo_firehose.test.ts | 30 + tests/chain_is_consensus_layer.test.ts | 41 + tests/chain_is_deprecated.test.ts | 48 + tests/chain_is_service_beta.test.ts | 57 + tests/chain_is_service_deprecated.test.ts | 48 + tests/chain_is_service_supported.test.ts | 48 + tests/chain_is_supported.test.ts | 48 + types/chain.types.ts | 94 +- types/graph.types.ts | 8 +- types/pinax.types.ts | 3 +- types/service.types.ts | 21 +- utils/chains.ts | 320 +- 147 files changed, 7764 insertions(+), 1075 deletions(-) create mode 100644 data/chains/V2/boba/testnets/bobasepolia/meta.ts delete mode 100644 tests/assert_deprecated_filter.test.ts delete mode 100644 tests/assert_flatten_filter_sort_chain.test.ts delete mode 100644 tests/assert_no_substreams_wo_firehose.test.ts delete mode 100644 tests/assert_supported_utils.test.ts delete mode 100644 tests/assert_unexported_chains.test.ts delete mode 100644 tests/assert_unique_index.test.ts delete mode 100644 tests/assert_valid_icons.test.ts create mode 100644 tests/chain_exported.test.ts create mode 100644 tests/chain_find_by_id.test.ts create mode 100644 tests/chain_has_full_block.test.ts create mode 100644 tests/chain_has_no_substreams_wo_firehose.test.ts create mode 100644 tests/chain_is_consensus_layer.test.ts create mode 100644 tests/chain_is_deprecated.test.ts create mode 100644 tests/chain_is_service_beta.test.ts create mode 100644 tests/chain_is_service_deprecated.test.ts create mode 100644 tests/chain_is_service_supported.test.ts create mode 100644 tests/chain_is_supported.test.ts diff --git a/data/chains/V1/alfajores.json b/data/chains/V1/alfajores.json index 4d7d155..cf12481 100644 --- a/data/chains/V1/alfajores.json +++ b/data/chains/V1/alfajores.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "celo", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/amoy.json b/data/chains/V1/amoy.json index 6a49256..364859c 100644 --- a/data/chains/V1/amoy.json +++ b/data/chains/V1/amoy.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "polygon", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/arbgoerli.json b/data/chains/V1/arbgoerli.json index 1f24aa1..46c68a3 100644 --- a/data/chains/V1/arbgoerli.json +++ b/data/chains/V1/arbgoerli.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/arbone.json b/data/chains/V1/arbone.json index d314931..33b2edc 100644 --- a/data/chains/V1/arbone.json +++ b/data/chains/V1/arbone.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/arbsepolia.json b/data/chains/V1/arbsepolia.json index b59fdf6..f9d2cf5 100644 --- a/data/chains/V1/arbsepolia.json +++ b/data/chains/V1/arbsepolia.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/arweave.json b/data/chains/V1/arweave.json index 0fa46ce..9427116 100644 --- a/data/chains/V1/arweave.json +++ b/data/chains/V1/arweave.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "arweave", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.arweave.type.v1.Block", "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" diff --git a/data/chains/V1/avalanche.json b/data/chains/V1/avalanche.json index fb6b4ad..19ece6f 100644 --- a/data/chains/V1/avalanche.json +++ b/data/chains/V1/avalanche.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "avalanche", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/base.json b/data/chains/V1/base.json index 9b23a2c..78df459 100644 --- a/data/chains/V1/base.json +++ b/data/chains/V1/base.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "base", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/bitcoin.json b/data/chains/V1/bitcoin.json index dbb7514..ddbf301 100644 --- a/data/chains/V1/bitcoin.json +++ b/data/chains/V1/bitcoin.json @@ -6,6 +6,7 @@ "alt_names": ["btc"], "mainnet": "bitcoin", "standard": "brc20", + "rpc_poller": true, "block_type": { "label": "sf.bitcoin.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" diff --git a/data/chains/V1/bsc.json b/data/chains/V1/bsc.json index 29da2d2..5f10a03 100644 --- a/data/chains/V1/bsc.json +++ b/data/chains/V1/bsc.json @@ -6,6 +6,7 @@ "alt_names": ["bsc", "binance"], "mainnet": "bsc", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/celo.json b/data/chains/V1/celo.json index 33cba65..f99a83e 100644 --- a/data/chains/V1/celo.json +++ b/data/chains/V1/celo.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "celo", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/chains.json b/data/chains/V1/chains.json index ed46c84..7428761 100644 --- a/data/chains/V1/chains.json +++ b/data/chains/V1/chains.json @@ -7,6 +7,7 @@ "alt_names": [], "mainnet": "celo", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -38,6 +39,7 @@ "alt_names": [], "mainnet": "polygon", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -68,6 +70,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -98,6 +101,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -128,6 +132,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -158,6 +163,7 @@ "alt_names": [], "mainnet": "arweave", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.arweave.type.v1.Block", "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" @@ -189,6 +195,7 @@ "alt_names": [], "mainnet": "avalanche", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -220,6 +227,7 @@ "alt_names": [], "mainnet": "base", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -253,6 +261,7 @@ ], "mainnet": "bitcoin", "standard": "brc20", + "rpc_poller": true, "block_type": { "label": "sf.bitcoin.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" @@ -286,6 +295,7 @@ ], "mainnet": "bsc", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -316,6 +326,7 @@ "alt_names": [], "mainnet": "celo", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -347,6 +358,7 @@ "alt_names": [], "mainnet": "bsc", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -377,6 +389,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -407,6 +420,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -437,6 +451,7 @@ "alt_names": [], "mainnet": "cosmoshub", "standard": "cosmos", + "rpc_poller": false, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -467,6 +482,7 @@ "alt_names": [], "mainnet": "decimal", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -497,6 +513,7 @@ "alt_names": [], "mainnet": "eos", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -528,6 +545,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -559,6 +577,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -590,6 +609,7 @@ "alt_names": [], "mainnet": "fantom", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -621,6 +641,7 @@ "alt_names": [], "mainnet": "gnosis", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -652,6 +673,7 @@ "alt_names": [], "mainnet": "gnosis", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -683,6 +705,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -714,6 +737,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -745,6 +769,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -776,6 +801,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -807,6 +833,7 @@ "alt_names": [], "mainnet": "eos", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -837,6 +864,7 @@ "alt_names": [], "mainnet": "juno", "standard": "cosmos", + "rpc_poller": false, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -868,6 +896,7 @@ "alt_names": [], "mainnet": "kava", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -898,6 +927,7 @@ "alt_names": [], "mainnet": "eos", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -928,6 +958,7 @@ "alt_names": [], "mainnet": "moonbeam", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -958,6 +989,7 @@ "alt_names": [], "mainnet": "polygon", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -988,6 +1020,7 @@ "alt_names": [], "mainnet": "near", "standard": "near", + "rpc_poller": false, "block_type": { "label": "sf.near.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" @@ -1019,6 +1052,7 @@ "alt_names": [], "mainnet": "near", "standard": "near", + "rpc_poller": false, "block_type": { "label": "sf.near.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" @@ -1050,6 +1084,7 @@ "alt_names": [], "mainnet": "optimism", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1080,6 +1115,7 @@ "alt_names": [], "mainnet": "ore", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1110,6 +1146,7 @@ "alt_names": [], "mainnet": "ore", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1140,6 +1177,7 @@ "alt_names": [], "mainnet": "osmosis", "standard": "cosmos", + "rpc_poller": false, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -1172,6 +1210,7 @@ ], "mainnet": "polygon", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1202,6 +1241,7 @@ "alt_names": [], "mainnet": "scroll", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1233,6 +1273,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1264,6 +1305,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1295,6 +1337,7 @@ "alt_names": [], "mainnet": "starknet", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1325,6 +1368,7 @@ "alt_names": [], "mainnet": "telos", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1355,6 +1399,7 @@ "alt_names": [], "mainnet": "telos", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1385,6 +1430,7 @@ "alt_names": [], "mainnet": "cosmoshub", "standard": "cosmos", + "rpc_poller": false, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -1415,6 +1461,7 @@ "alt_names": [], "mainnet": "ux", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1445,6 +1492,7 @@ "alt_names": [], "mainnet": "wax", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1475,6 +1523,7 @@ "alt_names": [], "mainnet": "wax", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1505,6 +1554,7 @@ "alt_names": [], "mainnet": "zkatana", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/chapel.json b/data/chains/V1/chapel.json index ae9e352..46879cd 100644 --- a/data/chains/V1/chapel.json +++ b/data/chains/V1/chapel.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "bsc", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/chiado-cl.json b/data/chains/V1/chiado-cl.json index 68ed350..7da86c5 100644 --- a/data/chains/V1/chiado-cl.json +++ b/data/chains/V1/chiado-cl.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/chiado.json b/data/chains/V1/chiado.json index 5166256..4be0d7a 100644 --- a/data/chains/V1/chiado.json +++ b/data/chains/V1/chiado.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/cosmoshub.json b/data/chains/V1/cosmoshub.json index 810f921..bd5e846 100644 --- a/data/chains/V1/cosmoshub.json +++ b/data/chains/V1/cosmoshub.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "cosmoshub", "standard": "cosmos", + "rpc_poller": false, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" diff --git a/data/chains/V1/decimal.json b/data/chains/V1/decimal.json index 2aa25e4..bdd904c 100644 --- a/data/chains/V1/decimal.json +++ b/data/chains/V1/decimal.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "decimal", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/eos.json b/data/chains/V1/eos.json index 3e1ac0f..3e33173 100644 --- a/data/chains/V1/eos.json +++ b/data/chains/V1/eos.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "eos", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/eth-cl.json b/data/chains/V1/eth-cl.json index 8bd94e8..6c69da7 100644 --- a/data/chains/V1/eth-cl.json +++ b/data/chains/V1/eth-cl.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/eth.json b/data/chains/V1/eth.json index 8851205..2b0fc5b 100644 --- a/data/chains/V1/eth.json +++ b/data/chains/V1/eth.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/fantom.json b/data/chains/V1/fantom.json index 78087c9..cfebad0 100644 --- a/data/chains/V1/fantom.json +++ b/data/chains/V1/fantom.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "fantom", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/gnosis-cl.json b/data/chains/V1/gnosis-cl.json index c524750..e3bf0f4 100644 --- a/data/chains/V1/gnosis-cl.json +++ b/data/chains/V1/gnosis-cl.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "gnosis", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/gnosis.json b/data/chains/V1/gnosis.json index ed5c220..ca53f78 100644 --- a/data/chains/V1/gnosis.json +++ b/data/chains/V1/gnosis.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "gnosis", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/goerli-cl.json b/data/chains/V1/goerli-cl.json index cddd318..f51771a 100644 --- a/data/chains/V1/goerli-cl.json +++ b/data/chains/V1/goerli-cl.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/goerli.json b/data/chains/V1/goerli.json index 1234949..ce1f372 100644 --- a/data/chains/V1/goerli.json +++ b/data/chains/V1/goerli.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/holesky-cl.json b/data/chains/V1/holesky-cl.json index b247870..05266bc 100644 --- a/data/chains/V1/holesky-cl.json +++ b/data/chains/V1/holesky-cl.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/holesky.json b/data/chains/V1/holesky.json index 0535a78..1f36ea1 100644 --- a/data/chains/V1/holesky.json +++ b/data/chains/V1/holesky.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/jungle4.json b/data/chains/V1/jungle4.json index 8665590..1dab48e 100644 --- a/data/chains/V1/jungle4.json +++ b/data/chains/V1/jungle4.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "eos", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/juno.json b/data/chains/V1/juno.json index e43258e..9efb016 100644 --- a/data/chains/V1/juno.json +++ b/data/chains/V1/juno.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "juno", "standard": "cosmos", + "rpc_poller": false, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" diff --git a/data/chains/V1/kava.json b/data/chains/V1/kava.json index a97157a..8e67bb9 100644 --- a/data/chains/V1/kava.json +++ b/data/chains/V1/kava.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "kava", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/kylin.json b/data/chains/V1/kylin.json index 011f912..dcf740a 100644 --- a/data/chains/V1/kylin.json +++ b/data/chains/V1/kylin.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "eos", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/moonbeam.json b/data/chains/V1/moonbeam.json index 503ddf1..78a5e97 100644 --- a/data/chains/V1/moonbeam.json +++ b/data/chains/V1/moonbeam.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "moonbeam", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/mumbai.json b/data/chains/V1/mumbai.json index 4cc6621..0076df3 100644 --- a/data/chains/V1/mumbai.json +++ b/data/chains/V1/mumbai.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "polygon", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/near.json b/data/chains/V1/near.json index 5d32731..206b0f1 100644 --- a/data/chains/V1/near.json +++ b/data/chains/V1/near.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "near", "standard": "near", + "rpc_poller": false, "block_type": { "label": "sf.near.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" diff --git a/data/chains/V1/neartest.json b/data/chains/V1/neartest.json index e58146d..8474e24 100644 --- a/data/chains/V1/neartest.json +++ b/data/chains/V1/neartest.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "near", "standard": "near", + "rpc_poller": false, "block_type": { "label": "sf.near.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" diff --git a/data/chains/V1/optimism.json b/data/chains/V1/optimism.json index f04de2a..b16e5e1 100644 --- a/data/chains/V1/optimism.json +++ b/data/chains/V1/optimism.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "optimism", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/ore.json b/data/chains/V1/ore.json index 434d98a..942582f 100644 --- a/data/chains/V1/ore.json +++ b/data/chains/V1/ore.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "ore", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/orestage.json b/data/chains/V1/orestage.json index ab0cca6..6e57c67 100644 --- a/data/chains/V1/orestage.json +++ b/data/chains/V1/orestage.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "ore", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/osmosis.json b/data/chains/V1/osmosis.json index a46a773..1144bb4 100644 --- a/data/chains/V1/osmosis.json +++ b/data/chains/V1/osmosis.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "osmosis", "standard": "cosmos", + "rpc_poller": false, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" diff --git a/data/chains/V1/polygon.json b/data/chains/V1/polygon.json index 9bdef19..d899fdb 100644 --- a/data/chains/V1/polygon.json +++ b/data/chains/V1/polygon.json @@ -6,6 +6,7 @@ "alt_names": ["matic"], "mainnet": "polygon", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/scroll.json b/data/chains/V1/scroll.json index 6cb1bf9..7edab89 100644 --- a/data/chains/V1/scroll.json +++ b/data/chains/V1/scroll.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "scroll", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/sepolia-cl.json b/data/chains/V1/sepolia-cl.json index 4a1d8fa..76da148 100644 --- a/data/chains/V1/sepolia-cl.json +++ b/data/chains/V1/sepolia-cl.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/sepolia.json b/data/chains/V1/sepolia.json index f8375e2..faa07bd 100644 --- a/data/chains/V1/sepolia.json +++ b/data/chains/V1/sepolia.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/starknet.json b/data/chains/V1/starknet.json index 2975585..8518485 100644 --- a/data/chains/V1/starknet.json +++ b/data/chains/V1/starknet.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "starknet", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/telos.json b/data/chains/V1/telos.json index 100ad33..878dd79 100644 --- a/data/chains/V1/telos.json +++ b/data/chains/V1/telos.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "telos", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/telostest.json b/data/chains/V1/telostest.json index f928e92..3053b14 100644 --- a/data/chains/V1/telostest.json +++ b/data/chains/V1/telostest.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "telos", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/theta.json b/data/chains/V1/theta.json index 0b3cbb4..754249d 100644 --- a/data/chains/V1/theta.json +++ b/data/chains/V1/theta.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "cosmoshub", "standard": "cosmos", + "rpc_poller": false, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" diff --git a/data/chains/V1/ux.json b/data/chains/V1/ux.json index 8a320c8..c30d3fa 100644 --- a/data/chains/V1/ux.json +++ b/data/chains/V1/ux.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "ux", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/wax.json b/data/chains/V1/wax.json index 93660ec..e5161e1 100644 --- a/data/chains/V1/wax.json +++ b/data/chains/V1/wax.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "wax", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/waxtest.json b/data/chains/V1/waxtest.json index b69441b..11bcc39 100644 --- a/data/chains/V1/waxtest.json +++ b/data/chains/V1/waxtest.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "wax", "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/zkatana.json b/data/chains/V1/zkatana.json index 8e416bf..8adbc6a 100644 --- a/data/chains/V1/zkatana.json +++ b/data/chains/V1/zkatana.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "zkatana", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V2/arbone/meta.ts b/data/chains/V2/arbone/meta.ts index e674207..634b98f 100644 --- a/data/chains/V2/arbone/meta.ts +++ b/data/chains/V2/arbone/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'arbone', graph_id: 'arbitrum-one', name: 'Arbitrum One', alt_names: [], standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/arbone/testnets/arbgoerli/meta.ts b/data/chains/V2/arbone/testnets/arbgoerli/meta.ts index c6d6837..d3df6ee 100644 --- a/data/chains/V2/arbone/testnets/arbgoerli/meta.ts +++ b/data/chains/V2/arbone/testnets/arbgoerli/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'arbgoerli', graph_id: null, name: 'Arbitrum Goerli', alt_names: [], standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/arbone/testnets/arbsepolia/meta.ts b/data/chains/V2/arbone/testnets/arbsepolia/meta.ts index 8e5cf94..4b0542a 100644 --- a/data/chains/V2/arbone/testnets/arbsepolia/meta.ts +++ b/data/chains/V2/arbone/testnets/arbsepolia/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'arbsepolia', graph_id: 'arbitrum-sepolia', name: 'Arbitrum Sepolia', alt_names: [], standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/arweave/meta.ts b/data/chains/V2/arweave/meta.ts index 7a7761e..b32edf4 100644 --- a/data/chains/V2/arweave/meta.ts +++ b/data/chains/V2/arweave/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'arweave', graph_id: 'arweave-mainnet', name: 'Arweave', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.arweave.type.v1.Block', url: 'https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1', diff --git a/data/chains/V2/avalanche/meta.ts b/data/chains/V2/avalanche/meta.ts index 3ca826c..0302428 100644 --- a/data/chains/V2/avalanche/meta.ts +++ b/data/chains/V2/avalanche/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'avalanche', graph_id: 'avalanche', name: 'Avalanche', alt_names: [], standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/base/meta.ts b/data/chains/V2/base/meta.ts index 3d7c121..2618491 100644 --- a/data/chains/V2/base/meta.ts +++ b/data/chains/V2/base/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'base', graph_id: 'base', name: 'Base', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/bitcoin/meta.ts b/data/chains/V2/bitcoin/meta.ts index 002a665..22bbdc3 100644 --- a/data/chains/V2/bitcoin/meta.ts +++ b/data/chains/V2/bitcoin/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'bitcoin', graph_id: null, name: 'Bitcoin', alt_names: ['btc'], standard: 'brc20', + rpc_poller: true, block_type: { label: 'sf.bitcoin.type.v1.Block', url: 'https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1', diff --git a/data/chains/V2/blast/meta.ts b/data/chains/V2/blast/meta.ts index f22b538..464b181 100644 --- a/data/chains/V2/blast/meta.ts +++ b/data/chains/V2/blast/meta.ts @@ -1,12 +1,13 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'blast', name: 'Blast Network', alt_names: [], graph_id: 'blast-mainnet', index: 0, standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/boba/meta.ts b/data/chains/V2/boba/meta.ts index c45e893..9464454 100644 --- a/data/chains/V2/boba/meta.ts +++ b/data/chains/V2/boba/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'boba', name: 'Boba Network', alt_names: [], graph_id: 'boba', standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/boba/testnets/bobasepolia/meta.ts b/data/chains/V2/boba/testnets/bobasepolia/meta.ts new file mode 100644 index 0000000..0d061ad --- /dev/null +++ b/data/chains/V2/boba/testnets/bobasepolia/meta.ts @@ -0,0 +1,21 @@ +import { ___InternalTestnet } from '../../../../../../types/chain.types'; + +const meta: ___InternalTestnet = { + id: 'bobasepolia', + graph_id: null, + name: 'Boba Sepolia', + alt_names: [], + standard: 'erc20', + rpc_poller: true, + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + supported_services: { + rpc: 'unreleased', + firehose: 'unreleased', + substreams: 'unreleased', + }, +}; + +export default meta; diff --git a/data/chains/V2/bsc/meta.ts b/data/chains/V2/bsc/meta.ts index 7f30f60..2e48b0d 100644 --- a/data/chains/V2/bsc/meta.ts +++ b/data/chains/V2/bsc/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'bsc', graph_id: 'bsc', name: 'BNB', alt_names: ['bsc', 'binance'], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/bsc/testnets/chapel/meta.ts b/data/chains/V2/bsc/testnets/chapel/meta.ts index 8730394..056ff45 100644 --- a/data/chains/V2/bsc/testnets/chapel/meta.ts +++ b/data/chains/V2/bsc/testnets/chapel/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'chapel', graph_id: 'chapel', name: 'Chapel', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/cardano/meta.ts b/data/chains/V2/cardano/meta.ts index 1aa6475..6947748 100644 --- a/data/chains/V2/cardano/meta.ts +++ b/data/chains/V2/cardano/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'cardano', graph_id: null, name: 'Cardano', alt_names: [], standard: 'cardano', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/celo/meta.ts b/data/chains/V2/celo/meta.ts index 203b4b4..f93d054 100644 --- a/data/chains/V2/celo/meta.ts +++ b/data/chains/V2/celo/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'celo', graph_id: 'celo', name: 'Celo', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/celo/testnets/alfajores/meta.ts b/data/chains/V2/celo/testnets/alfajores/meta.ts index 85b6275..df38152 100644 --- a/data/chains/V2/celo/testnets/alfajores/meta.ts +++ b/data/chains/V2/celo/testnets/alfajores/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'alfajores', graph_id: null, name: 'Alfajores', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/chains.json b/data/chains/V2/chains.json index 0925853..7f66c0f 100644 --- a/data/chains/V2/chains.json +++ b/data/chains/V2/chains.json @@ -5,6 +5,7 @@ "name": "Ethereum", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -19,18 +20,18 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.593Z", - "full_released_at": "2024-06-03T13:24:30.593Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.593Z", - "full_released_at": "2024-06-03T13:24:30.593Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.593Z", - "full_released_at": "2024-06-03T13:24:30.593Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -45,25 +46,26 @@ "name": "Holesky", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" } }, "index": 1 @@ -74,25 +76,26 @@ "name": "Sepolia", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" } }, "index": 2 @@ -103,25 +106,26 @@ "name": "Goerli", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" } }, "index": 6 @@ -134,19 +138,20 @@ "name": "Ethereum Consensus Layer", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -158,19 +163,20 @@ "name": "Holesky Consensus Layer", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -182,19 +188,20 @@ "name": "Sepolia Consensus Layer", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -206,19 +213,20 @@ "name": "Goerli Consensus Layer", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -234,6 +242,7 @@ "btc" ], "standard": "brc20", + "rpc_poller": true, "block_type": { "label": "sf.bitcoin.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" @@ -249,13 +258,13 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -272,6 +281,7 @@ "matic" ], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -286,18 +296,18 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -312,24 +322,25 @@ "name": "Amoy", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -341,25 +352,26 @@ "name": "Mumbai", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" } }, "index": 11 @@ -375,6 +387,7 @@ "binance" ], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -389,18 +402,18 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -415,24 +428,25 @@ "name": "Chapel", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -446,6 +460,7 @@ "name": "Arbitrum One", "alt_names": [], "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -456,17 +471,17 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null } @@ -482,6 +497,7 @@ "name": "Arbitrum Goerli", "alt_names": [], "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -511,24 +527,25 @@ "name": "Arbitrum Sepolia", "alt_names": [], "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -540,6 +557,7 @@ "name": "Chiado", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -571,19 +589,20 @@ "name": "Chiado Consensus Layer", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -597,6 +616,7 @@ "name": "Avalanche", "alt_names": [], "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -633,6 +653,7 @@ "name": "Optimism", "alt_names": [], "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -652,13 +673,13 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -673,6 +694,7 @@ "name": "Base", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -688,13 +710,13 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -709,6 +731,7 @@ "name": "Near", "alt_names": [], "standard": "near", + "rpc_poller": false, "block_type": { "label": "sf.near.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" @@ -728,13 +751,13 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -749,6 +772,7 @@ "name": "Near-testnet", "alt_names": [], "standard": "near", + "rpc_poller": false, "block_type": { "label": "sf.near.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" @@ -760,13 +784,13 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -780,6 +804,7 @@ "name": "Cardano", "alt_names": [], "standard": "cardano", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -820,6 +845,7 @@ "name": "Decimal", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -834,14 +860,14 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "substreams": { "beta_released_at": null, @@ -860,6 +886,7 @@ "name": "Gnosis", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -874,7 +901,7 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, @@ -900,19 +927,20 @@ "name": "Gnosis Consensus Layer", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -926,6 +954,7 @@ "name": "Fantom", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -940,7 +969,7 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, @@ -966,6 +995,7 @@ "name": "Celo", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1006,6 +1036,7 @@ "name": "Alfajores", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1037,6 +1068,7 @@ "name": "Arweave", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.arweave.type.v1.Block", "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" @@ -1056,13 +1088,13 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -1077,6 +1109,7 @@ "name": "Cosmos Hub", "alt_names": [], "standard": "cosmos", + "rpc_poller": false, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -1096,8 +1129,8 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { @@ -1117,6 +1150,7 @@ "name": "Theta", "alt_names": [], "standard": "cosmos", + "rpc_poller": false, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -1128,9 +1162,9 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "substreams": { "beta_released_at": null, @@ -1146,6 +1180,7 @@ "name": "Juno", "alt_names": [], "standard": "cosmos", + "rpc_poller": false, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -1157,9 +1192,9 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "substreams": { "beta_released_at": null, @@ -1177,6 +1212,7 @@ "name": "Osmosis", "alt_names": [], "standard": "cosmos", + "rpc_poller": false, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -1196,8 +1232,8 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { @@ -1217,6 +1253,7 @@ "name": "Moonbeam", "alt_names": [], "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1257,6 +1294,7 @@ "name": "Scroll", "alt_names": [], "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1297,6 +1335,7 @@ "name": "Starknet", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1337,6 +1376,7 @@ "name": "EOS", "alt_names": [], "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1355,9 +1395,9 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "substreams": { "beta_released_at": null, @@ -1387,9 +1427,9 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "substreams": { "beta_released_at": null, @@ -1407,6 +1447,7 @@ "name": "Jungle4", "alt_names": [], "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1418,9 +1459,9 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "substreams": { "beta_released_at": null, @@ -1436,6 +1477,7 @@ "name": "Kylin", "alt_names": [], "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1447,9 +1489,9 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "substreams": { "beta_released_at": null, @@ -1467,6 +1509,7 @@ "name": "WAX", "alt_names": [], "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1486,13 +1529,13 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -1507,6 +1550,7 @@ "name": "WAX Test", "alt_names": [], "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1518,13 +1562,13 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -1538,6 +1582,7 @@ "name": "Telos", "alt_names": [], "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1578,6 +1623,7 @@ "name": "Telos Test", "alt_names": [], "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1589,13 +1635,13 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -1609,6 +1655,7 @@ "name": "Kava", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1623,7 +1670,7 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, @@ -1650,6 +1697,7 @@ "graph_id": "blast-mainnet", "index": 48, "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1664,17 +1712,17 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null } @@ -1693,6 +1741,7 @@ "alt_names": [], "graph_id": "boba", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1707,22 +1756,53 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null } }, - "testnets": [], + "testnets": [ + { + "id": "bobasepolia", + "graph_id": null, + "name": "Boba Sepolia", + "alt_names": [], + "standard": "erc20", + "rpc_poller": true, + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "rpc": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + }, + "index": 50 + } + ], "consensus": [], "evms": [], "metadata": { @@ -1737,6 +1817,7 @@ "alt_names": [], "graph_id": null, "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1756,9 +1837,9 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.530Z" }, "substreams": { "beta_released_at": null, @@ -1772,7 +1853,7 @@ "metadata": { "website": "https://cronos.org/" }, - "index": 50 + "index": 51 }, { "id": "fuse", @@ -1780,6 +1861,7 @@ "alt_names": [], "graph_id": "fuse", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1794,17 +1876,17 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null } @@ -1816,7 +1898,7 @@ "layer": "L1", "website": "https://fuse.io/" }, - "index": 51 + "index": 52 }, { "id": "linea", @@ -1824,6 +1906,7 @@ "alt_names": [], "graph_id": "linea", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1838,17 +1921,17 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null } @@ -1859,7 +1942,7 @@ "metadata": { "website": "https://linea.build/" }, - "index": 52 + "index": 53 }, { "id": "litecoin", @@ -1869,6 +1952,7 @@ ], "graph_id": null, "standard": "ltc20", + "rpc_poller": false, "block_type": { "label": "sf.litecoin.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-litecoin/docs/main:sf.litecoin.type.v1" @@ -1888,12 +1972,12 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null } @@ -1905,7 +1989,7 @@ "layer": "L1", "website": "https://litecoin.org/" }, - "index": 53 + "index": 54 }, { "id": "mode", @@ -1913,6 +1997,7 @@ "alt_names": [], "graph_id": "mode-mainnet", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1927,17 +2012,17 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null } @@ -1949,7 +2034,7 @@ "layer": "L2", "website": "https://www.mode.network/" }, - "index": 54 + "index": 55 }, { "id": "ronin", @@ -1957,6 +2042,7 @@ "name": "Ronin", "alt_names": [], "standard": "rrc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1989,7 +2075,7 @@ "metadata": { "website": "https://roninchain.com/" }, - "index": 55 + "index": 56 }, { "id": "sei", @@ -1997,6 +2083,7 @@ "name": "Sei", "alt_names": [], "standard": "sei", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -2029,7 +2116,7 @@ "metadata": { "website": "https://www.sei.io/" }, - "index": 56 + "index": 57 }, { "id": "xai", @@ -2037,6 +2124,7 @@ "alt_names": [], "graph_id": null, "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -2056,13 +2144,13 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": null, + "full_released_at": "2024-07-19T15:35:39.530Z", "deprecated_at": null } }, @@ -2073,7 +2161,7 @@ "layer": "L3", "website": "https://xai.games/" }, - "index": 57 + "index": 58 }, { "id": "zkastar", @@ -2081,6 +2169,7 @@ "alt_names": [], "graph_id": null, "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.zkevm.type.v1.Block", "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" @@ -2095,17 +2184,17 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null } @@ -2117,28 +2206,29 @@ "alt_names": [], "graph_id": null, "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.zkevm.type.v1.Block", "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null } }, - "index": 59 + "index": 60 }, { "id": "zkyoto", @@ -2146,28 +2236,29 @@ "alt_names": [], "graph_id": "zkyoto-testnet", "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.zkevm.type.v1.Block", "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null } }, - "index": 60 + "index": 61 } ], "consensus": [], @@ -2176,7 +2267,7 @@ "layer": "L2", "website": "https://astar.network/" }, - "index": 58 + "index": 59 }, { "id": "x-layer", @@ -2184,6 +2275,7 @@ "name": "X-Layer", "alt_names": [], "standard": "erc20", + "rpc_poller": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -2216,14 +2308,15 @@ "metadata": { "website": "https://www.okx.com/fr/xlayer" }, - "index": 61 + "index": 62 }, { "id": "zksync", "graph_id": "zksync-era", "name": "zkSync Era", "alt_names": [], - "standard": "rrc20", + "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -2254,9 +2347,12 @@ } }, "metadata": { - "website": "https://zksync.io/" + "website": "https://zksync.io/", + "tags": [ + "zk" + ] }, - "index": 62 + "index": 63 }, { "id": "zora", @@ -2264,6 +2360,7 @@ "alt_names": [], "graph_id": null, "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -2277,17 +2374,17 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", + "beta_released_at": "2024-07-19T15:35:39.530Z", "full_released_at": null, "deprecated_at": null } @@ -2299,7 +2396,7 @@ "layer": "L2", "website": "https://zora.co/" }, - "index": 63 + "index": 64 }, { "id": "ore", @@ -2307,6 +2404,7 @@ "name": "Ore", "alt_names": [], "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -2321,25 +2419,25 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.531Z" }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.531Z" }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.531Z" } }, "metadata": { "website": "https://ore.network/" }, - "index": 64, + "index": 65, "testnets": [ { "id": "orestage", @@ -2347,28 +2445,29 @@ "name": "Ore Stage", "alt_names": [], "standard": "antelope", + "rpc_poller": false, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "supported_services": { "rpc": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.531Z" }, "firehose": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.531Z" }, "substreams": { - "beta_released_at": "2024-06-03T13:24:30.594Z", - "full_released_at": "2024-06-03T13:24:30.594Z", - "deprecated_at": "2024-06-03T13:24:30.594Z" + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": "2024-07-19T15:35:39.531Z" } }, - "index": 65 + "index": 66 } ] } diff --git a/data/chains/V2/cosmoshub/meta.ts b/data/chains/V2/cosmoshub/meta.ts index 9b42885..33b347e 100644 --- a/data/chains/V2/cosmoshub/meta.ts +++ b/data/chains/V2/cosmoshub/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'cosmoshub', graph_id: 'cosmoshub-4', name: 'Cosmos Hub', alt_names: [], standard: 'cosmos', + rpc_poller: false, block_type: { label: 'sf.cosmos.type.v1.Block', url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', diff --git a/data/chains/V2/cosmoshub/testnets/juno/meta.ts b/data/chains/V2/cosmoshub/testnets/juno/meta.ts index d8ecb06..26d5645 100644 --- a/data/chains/V2/cosmoshub/testnets/juno/meta.ts +++ b/data/chains/V2/cosmoshub/testnets/juno/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'juno', graph_id: null, name: 'Juno', alt_names: [], standard: 'cosmos', + rpc_poller: false, block_type: { label: 'sf.cosmos.type.v1.Block', url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', diff --git a/data/chains/V2/cosmoshub/testnets/theta/meta.ts b/data/chains/V2/cosmoshub/testnets/theta/meta.ts index 0e14eb2..b0f7855 100644 --- a/data/chains/V2/cosmoshub/testnets/theta/meta.ts +++ b/data/chains/V2/cosmoshub/testnets/theta/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'theta', graph_id: 'theta-testnet-001', name: 'Theta', alt_names: [], standard: 'cosmos', + rpc_poller: false, block_type: { label: 'sf.cosmos.type.v1.Block', url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', diff --git a/data/chains/V2/cronos/meta.ts b/data/chains/V2/cronos/meta.ts index a96c9ff..771e632 100644 --- a/data/chains/V2/cronos/meta.ts +++ b/data/chains/V2/cronos/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'cronos', name: 'Cronos', alt_names: [], graph_id: null, standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/decimal/meta.ts b/data/chains/V2/decimal/meta.ts index 630f411..14e54a8 100644 --- a/data/chains/V2/decimal/meta.ts +++ b/data/chains/V2/decimal/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'decimal', graph_id: null, name: 'Decimal', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eos/evms/eosevm/meta.ts b/data/chains/V2/eos/evms/eosevm/meta.ts index 6cfc674..e21c652 100644 --- a/data/chains/V2/eos/evms/eosevm/meta.ts +++ b/data/chains/V2/eos/evms/eosevm/meta.ts @@ -1,6 +1,6 @@ -import { EVM } from '../../../../../../types/chain.types'; +import { ___InternalEVM } from '../../../../../../types/chain.types'; -const meta: EVM = { +const meta: ___InternalEVM = { id: 'eosevm', graph_id: null, name: 'EOS EVM', diff --git a/data/chains/V2/eos/meta.ts b/data/chains/V2/eos/meta.ts index ecb37b3..77c99b6 100644 --- a/data/chains/V2/eos/meta.ts +++ b/data/chains/V2/eos/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'eos', graph_id: null, name: 'EOS', alt_names: [], standard: 'antelope', + rpc_poller: false, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/eos/testnets/jungle4/meta.ts b/data/chains/V2/eos/testnets/jungle4/meta.ts index 24f656a..7810c30 100644 --- a/data/chains/V2/eos/testnets/jungle4/meta.ts +++ b/data/chains/V2/eos/testnets/jungle4/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'jungle4', graph_id: null, name: 'Jungle4', alt_names: [], standard: 'antelope', + rpc_poller: false, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/eos/testnets/kylin/meta.ts b/data/chains/V2/eos/testnets/kylin/meta.ts index 5829f31..2090bfa 100644 --- a/data/chains/V2/eos/testnets/kylin/meta.ts +++ b/data/chains/V2/eos/testnets/kylin/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'kylin', graph_id: null, name: 'Kylin', alt_names: [], standard: 'antelope', + rpc_poller: false, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/eth/consensus/eth-cl/meta.ts b/data/chains/V2/eth/consensus/eth-cl/meta.ts index 57dad2f..f456597 100644 --- a/data/chains/V2/eth/consensus/eth-cl/meta.ts +++ b/data/chains/V2/eth/consensus/eth-cl/meta.ts @@ -1,11 +1,12 @@ -import { ConsensusLayer } from '../../../../../../types/chain.types'; +import { ___InternalConsensusLayer } from '../../../../../../types/chain.types'; -const meta: ConsensusLayer = { +const meta: ___InternalConsensusLayer = { id: 'eth-cl', graph_id: null, name: 'Ethereum Consensus Layer', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eth/consensus/goerli-cl/meta.ts b/data/chains/V2/eth/consensus/goerli-cl/meta.ts index c659540..a75f5ce 100644 --- a/data/chains/V2/eth/consensus/goerli-cl/meta.ts +++ b/data/chains/V2/eth/consensus/goerli-cl/meta.ts @@ -1,11 +1,12 @@ -import { ConsensusLayer } from '../../../../../../types/chain.types'; +import { ___InternalConsensusLayer } from '../../../../../../types/chain.types'; -const meta: ConsensusLayer = { +const meta: ___InternalConsensusLayer = { id: 'goerli-cl', graph_id: null, name: 'Goerli Consensus Layer', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eth/consensus/holesky-cl/meta.ts b/data/chains/V2/eth/consensus/holesky-cl/meta.ts index ab57f93..d7e5736 100644 --- a/data/chains/V2/eth/consensus/holesky-cl/meta.ts +++ b/data/chains/V2/eth/consensus/holesky-cl/meta.ts @@ -1,11 +1,12 @@ -import { ConsensusLayer } from '../../../../../../types/chain.types'; +import { ___InternalConsensusLayer } from '../../../../../../types/chain.types'; -const meta: ConsensusLayer = { +const meta: ___InternalConsensusLayer = { id: 'holesky-cl', graph_id: null, name: 'Holesky Consensus Layer', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eth/consensus/sepolia-cl/meta.ts b/data/chains/V2/eth/consensus/sepolia-cl/meta.ts index 6eff401..78852c6 100644 --- a/data/chains/V2/eth/consensus/sepolia-cl/meta.ts +++ b/data/chains/V2/eth/consensus/sepolia-cl/meta.ts @@ -1,11 +1,12 @@ -import { ConsensusLayer } from '../../../../../../types/chain.types'; +import { ___InternalConsensusLayer } from '../../../../../../types/chain.types'; -const meta: ConsensusLayer = { +const meta: ___InternalConsensusLayer = { id: 'sepolia-cl', graph_id: null, name: 'Sepolia Consensus Layer', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eth/meta.ts b/data/chains/V2/eth/meta.ts index 2d39ccf..4ea7359 100644 --- a/data/chains/V2/eth/meta.ts +++ b/data/chains/V2/eth/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'eth', graph_id: 'mainnet', name: 'Ethereum', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eth/testnets/goerli/meta.ts b/data/chains/V2/eth/testnets/goerli/meta.ts index 24f7309..2e5d5ab 100644 --- a/data/chains/V2/eth/testnets/goerli/meta.ts +++ b/data/chains/V2/eth/testnets/goerli/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'goerli', graph_id: null, name: 'Goerli', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eth/testnets/holesky/meta.ts b/data/chains/V2/eth/testnets/holesky/meta.ts index 7226657..40b2425 100644 --- a/data/chains/V2/eth/testnets/holesky/meta.ts +++ b/data/chains/V2/eth/testnets/holesky/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'holesky', graph_id: null, name: 'Holesky', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eth/testnets/sepolia/meta.ts b/data/chains/V2/eth/testnets/sepolia/meta.ts index 7d30a6f..a61c306 100644 --- a/data/chains/V2/eth/testnets/sepolia/meta.ts +++ b/data/chains/V2/eth/testnets/sepolia/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'sepolia', graph_id: 'sepolia', name: 'Sepolia', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/fantom/meta.ts b/data/chains/V2/fantom/meta.ts index fb0af7f..51777bb 100644 --- a/data/chains/V2/fantom/meta.ts +++ b/data/chains/V2/fantom/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'fantom', graph_id: 'fantom', name: 'Fantom', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/fuse/meta.ts b/data/chains/V2/fuse/meta.ts index db41a04..f1578be 100644 --- a/data/chains/V2/fuse/meta.ts +++ b/data/chains/V2/fuse/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'fuse', name: 'Fuse', alt_names: [], graph_id: 'fuse', standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts b/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts index 593a0cb..bec80c6 100644 --- a/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts +++ b/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts @@ -1,11 +1,12 @@ -import { ConsensusLayer } from '../../../../../../types/chain.types'; +import { ___InternalConsensusLayer } from '../../../../../../types/chain.types'; -const meta: ConsensusLayer = { +const meta: ___InternalConsensusLayer = { id: 'chiado-cl', graph_id: null, name: 'Chiado Consensus Layer', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts b/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts index fd1a92a..bf52a53 100644 --- a/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts +++ b/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts @@ -1,11 +1,12 @@ -import { ConsensusLayer } from '../../../../../../types/chain.types'; +import { ___InternalConsensusLayer } from '../../../../../../types/chain.types'; -const meta: ConsensusLayer = { +const meta: ___InternalConsensusLayer = { id: 'gnosis-cl', graph_id: null, name: 'Gnosis Consensus Layer', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/gnosis/meta.ts b/data/chains/V2/gnosis/meta.ts index d2c9e63..3f69feb 100644 --- a/data/chains/V2/gnosis/meta.ts +++ b/data/chains/V2/gnosis/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'gnosis', graph_id: 'gnosis', name: 'Gnosis', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/gnosis/testnets/chiado/meta.ts b/data/chains/V2/gnosis/testnets/chiado/meta.ts index 37455bc..3d346b7 100644 --- a/data/chains/V2/gnosis/testnets/chiado/meta.ts +++ b/data/chains/V2/gnosis/testnets/chiado/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'chiado', graph_id: null, name: 'Chiado', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/index.ts b/data/chains/V2/index.ts index c96fb01..7069f19 100644 --- a/data/chains/V2/index.ts +++ b/data/chains/V2/index.ts @@ -1,3 +1,7 @@ +// This file is auto-generated on pre-commit to avoid maintaining it. +// Do not modify manually as it will be overwritten. +// Last generation on 7/19/2024, 11:35:39 AM. + export { default as arbone } from './arbone/meta'; export { default as arbgoerli } from './arbone/testnets/arbgoerli/meta'; export { default as arbsepolia } from './arbone/testnets/arbsepolia/meta'; @@ -7,6 +11,7 @@ export { default as base } from './base/meta'; export { default as bitcoin } from './bitcoin/meta'; export { default as blast } from './blast/meta'; export { default as boba } from './boba/meta'; +export { default as bobasepolia } from './boba/testnets/bobasepolia/meta'; export { default as bsc } from './bsc/meta'; export { default as chapel } from './bsc/testnets/chapel/meta'; export { default as cardano } from './cardano/meta'; diff --git a/data/chains/V2/kava/meta.ts b/data/chains/V2/kava/meta.ts index 816d825..97a0e9a 100644 --- a/data/chains/V2/kava/meta.ts +++ b/data/chains/V2/kava/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'kava', graph_id: null, name: 'Kava', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/linea/meta.ts b/data/chains/V2/linea/meta.ts index f705859..ff5aacd 100644 --- a/data/chains/V2/linea/meta.ts +++ b/data/chains/V2/linea/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'linea', name: 'Linea', alt_names: [], graph_id: 'linea', standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/litecoin/meta.ts b/data/chains/V2/litecoin/meta.ts index 2aa57b6..f3e5466 100644 --- a/data/chains/V2/litecoin/meta.ts +++ b/data/chains/V2/litecoin/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'litecoin', name: 'Litecoin', alt_names: ['LTC'], graph_id: null, standard: 'ltc20', + rpc_poller: false, block_type: { label: 'sf.litecoin.type.v1.Block', url: 'https://buf.build/streamingfast/firehose-litecoin/docs/main:sf.litecoin.type.v1', diff --git a/data/chains/V2/mode/meta.ts b/data/chains/V2/mode/meta.ts index ada1c2b..24ff79f 100644 --- a/data/chains/V2/mode/meta.ts +++ b/data/chains/V2/mode/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'mode', name: 'Mode Network', alt_names: [], graph_id: 'mode-mainnet', standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/moonbeam/meta.ts b/data/chains/V2/moonbeam/meta.ts index fe13daa..472f24b 100644 --- a/data/chains/V2/moonbeam/meta.ts +++ b/data/chains/V2/moonbeam/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'moonbeam', graph_id: 'moonbeam', name: 'Moonbeam', alt_names: [], standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/near/meta.ts b/data/chains/V2/near/meta.ts index 7ab696e..e34abd1 100644 --- a/data/chains/V2/near/meta.ts +++ b/data/chains/V2/near/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'near', graph_id: 'near-mainnet', name: 'Near', alt_names: [], standard: 'near', + rpc_poller: false, block_type: { label: 'sf.near.type.v1.Block', url: 'https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1', diff --git a/data/chains/V2/near/testnets/neartest/meta.ts b/data/chains/V2/near/testnets/neartest/meta.ts index 11782e7..b995178 100644 --- a/data/chains/V2/near/testnets/neartest/meta.ts +++ b/data/chains/V2/near/testnets/neartest/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'neartest', graph_id: 'near-testnet', name: 'Near-testnet', alt_names: [], standard: 'near', + rpc_poller: false, block_type: { label: 'sf.near.type.v1.Block', url: 'https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1', diff --git a/data/chains/V2/optimism/meta.ts b/data/chains/V2/optimism/meta.ts index a90cd7d..00ce1ed 100644 --- a/data/chains/V2/optimism/meta.ts +++ b/data/chains/V2/optimism/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'optimism', graph_id: 'optimism', name: 'Optimism', alt_names: [], standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/ore/meta.ts b/data/chains/V2/ore/meta.ts index 76a00e5..453b865 100644 --- a/data/chains/V2/ore/meta.ts +++ b/data/chains/V2/ore/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'ore', graph_id: null, name: 'Ore', alt_names: [], standard: 'antelope', + rpc_poller: false, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/ore/testnets/orestage/meta.ts b/data/chains/V2/ore/testnets/orestage/meta.ts index 6edfb20..5b90b72 100644 --- a/data/chains/V2/ore/testnets/orestage/meta.ts +++ b/data/chains/V2/ore/testnets/orestage/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'orestage', graph_id: null, name: 'Ore Stage', alt_names: [], standard: 'antelope', + rpc_poller: false, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/osmosis/meta.ts b/data/chains/V2/osmosis/meta.ts index e0b66b9..291400a 100644 --- a/data/chains/V2/osmosis/meta.ts +++ b/data/chains/V2/osmosis/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'osmosis', graph_id: 'osmosis-1', name: 'Osmosis', alt_names: [], standard: 'cosmos', + rpc_poller: false, block_type: { label: 'sf.cosmos.type.v1.Block', url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', diff --git a/data/chains/V2/polygon/meta.ts b/data/chains/V2/polygon/meta.ts index 90a5cf1..d791722 100644 --- a/data/chains/V2/polygon/meta.ts +++ b/data/chains/V2/polygon/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'polygon', graph_id: 'matic', name: 'Polygon', alt_names: ['matic'], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/polygon/testnets/amoy/meta.ts b/data/chains/V2/polygon/testnets/amoy/meta.ts index e0e3941..7f5c410 100644 --- a/data/chains/V2/polygon/testnets/amoy/meta.ts +++ b/data/chains/V2/polygon/testnets/amoy/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'amoy', graph_id: 'polygon-amoy', name: 'Amoy', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/polygon/testnets/mumbai/meta.ts b/data/chains/V2/polygon/testnets/mumbai/meta.ts index 7b95805..adc4b61 100644 --- a/data/chains/V2/polygon/testnets/mumbai/meta.ts +++ b/data/chains/V2/polygon/testnets/mumbai/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'mumbai', graph_id: null, name: 'Mumbai', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/ronin/meta.ts b/data/chains/V2/ronin/meta.ts index 48bf7a4..ed9583c 100644 --- a/data/chains/V2/ronin/meta.ts +++ b/data/chains/V2/ronin/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'ronin', graph_id: null, name: 'Ronin', alt_names: [], standard: 'rrc20', + rpc_poller: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/scroll/meta.ts b/data/chains/V2/scroll/meta.ts index cb1aef7..e572ab6 100644 --- a/data/chains/V2/scroll/meta.ts +++ b/data/chains/V2/scroll/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'scroll', graph_id: 'scroll', name: 'Scroll', alt_names: [], standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/sei/meta.ts b/data/chains/V2/sei/meta.ts index fd7b846..e01bb9c 100644 --- a/data/chains/V2/sei/meta.ts +++ b/data/chains/V2/sei/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'sei', graph_id: null, name: 'Sei', alt_names: [], standard: 'sei', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/starknet/meta.ts b/data/chains/V2/starknet/meta.ts index e5b1975..bc3b7b3 100644 --- a/data/chains/V2/starknet/meta.ts +++ b/data/chains/V2/starknet/meta.ts @@ -1,18 +1,17 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'starknet', graph_id: null, - name: 'Starknet', // missing - alt_names: [], // missing - standard: 'erc20', // missing + name: 'Starknet', + alt_names: [], + standard: 'erc20', + rpc_poller: false, block_type: { - // missing label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, icon: { - // missing id: 'networks/starknet', brand_theme: 'both', variants: ['branded', 'mono'], diff --git a/data/chains/V2/telos/meta.ts b/data/chains/V2/telos/meta.ts index 475aa8d..adb707c 100644 --- a/data/chains/V2/telos/meta.ts +++ b/data/chains/V2/telos/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'telos', graph_id: null, name: 'Telos', alt_names: [], standard: 'antelope', + rpc_poller: false, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/telos/testnets/telostest/meta.ts b/data/chains/V2/telos/testnets/telostest/meta.ts index 9aaee5b..34366b0 100644 --- a/data/chains/V2/telos/testnets/telostest/meta.ts +++ b/data/chains/V2/telos/testnets/telostest/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'telostest', graph_id: null, name: 'Telos Test', alt_names: [], standard: 'antelope', + rpc_poller: false, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/wax/meta.ts b/data/chains/V2/wax/meta.ts index 9e2a5a6..3e14561 100644 --- a/data/chains/V2/wax/meta.ts +++ b/data/chains/V2/wax/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'wax', graph_id: null, name: 'WAX', alt_names: [], standard: 'antelope', + rpc_poller: false, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/wax/testnets/waxtest/meta.ts b/data/chains/V2/wax/testnets/waxtest/meta.ts index 0d7f587..d9a1acd 100644 --- a/data/chains/V2/wax/testnets/waxtest/meta.ts +++ b/data/chains/V2/wax/testnets/waxtest/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'waxtest', graph_id: null, name: 'WAX Test', alt_names: [], standard: 'antelope', + rpc_poller: false, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/x-layer/meta.ts b/data/chains/V2/x-layer/meta.ts index dbe468b..a062969 100644 --- a/data/chains/V2/x-layer/meta.ts +++ b/data/chains/V2/x-layer/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'x-layer', graph_id: null, name: 'X-Layer', alt_names: [], standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/xai/meta.ts b/data/chains/V2/xai/meta.ts index 6eaa7c5..5fac7cf 100644 --- a/data/chains/V2/xai/meta.ts +++ b/data/chains/V2/xai/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'xai', name: 'XAI', alt_names: [], graph_id: null, standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/zkastar/meta.ts b/data/chains/V2/zkastar/meta.ts index 13cce4d..75ed9de 100644 --- a/data/chains/V2/zkastar/meta.ts +++ b/data/chains/V2/zkastar/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'zkastar', name: 'Astar zkEVM', alt_names: [], graph_id: null, standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.zkevm.type.v1.Block', url: 'https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1', diff --git a/data/chains/V2/zkastar/testnets/zkatana/meta.ts b/data/chains/V2/zkastar/testnets/zkatana/meta.ts index 8c55f11..2898998 100644 --- a/data/chains/V2/zkastar/testnets/zkatana/meta.ts +++ b/data/chains/V2/zkastar/testnets/zkatana/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'zkatana', name: 'Astar zKatana', alt_names: [], graph_id: null, standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.zkevm.type.v1.Block', url: 'https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1', diff --git a/data/chains/V2/zkastar/testnets/zkyoto/meta.ts b/data/chains/V2/zkastar/testnets/zkyoto/meta.ts index 0c9748e..0124b4f 100644 --- a/data/chains/V2/zkastar/testnets/zkyoto/meta.ts +++ b/data/chains/V2/zkastar/testnets/zkyoto/meta.ts @@ -1,11 +1,12 @@ -import { Testnet } from '../../../../../../types/chain.types'; +import { ___InternalTestnet } from '../../../../../../types/chain.types'; -const meta: Testnet = { +const meta: ___InternalTestnet = { id: 'zkyoto', name: 'Astar zKyoto', alt_names: [], graph_id: 'zkyoto-testnet', standard: 'erc20', + rpc_poller: true, block_type: { label: 'sf.zkevm.type.v1.Block', url: 'https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1', diff --git a/data/chains/V2/zksync/meta.ts b/data/chains/V2/zksync/meta.ts index c6845f4..2a5985b 100644 --- a/data/chains/V2/zksync/meta.ts +++ b/data/chains/V2/zksync/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'zksync', graph_id: 'zksync-era', name: 'zkSync Era', alt_names: [], - standard: 'rrc20', + standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', @@ -22,6 +23,7 @@ const meta: Chain = { }, metadata: { website: 'https://zksync.io/', + tags: ['zk'], }, }; diff --git a/data/chains/V2/zora/meta.ts b/data/chains/V2/zora/meta.ts index 8573b8f..291c938 100644 --- a/data/chains/V2/zora/meta.ts +++ b/data/chains/V2/zora/meta.ts @@ -1,11 +1,12 @@ -import { Chain } from '../../../../types/chain.types'; +import { ___InternalChain } from '../../../../types/chain.types'; -const meta: Chain = { +const meta: ___InternalChain = { id: 'zora', name: 'Zora Network', alt_names: [], graph_id: null, standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/index.config.ts b/data/index.config.ts index c8146f8..d3c0473 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 6/3/2024, 9:24:30 AM. +// Last generation on 7/19/2024, 11:35:39 AM. export default { ordered: { @@ -39,7 +39,7 @@ export default { telos: ['telostest'], kava: [], blast: [], - boba: [], + boba: ['bobasepolia'], cronos: [], fuse: [], linea: [], diff --git a/package-lock.json b/package-lock.json index 8e430d5..24c6763 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,9 @@ "devDependencies": { "@token-icons/core": "^2.8.2", "@types/bun": "latest", + "@types/jest": "^29.5.12", "husky": "^9.0.11", + "jest": "^29.7.0", "prettier": "^3.2.5", "ts-morph": "^22.0.0" }, @@ -18,580 +20,6034 @@ "typescript": "^5.4.4" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">= 8" + "node": ">=6.0.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@babel/compat-data": { + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.9.tgz", + "integrity": "sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==", "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" } }, - "node_modules/@token-icons/core": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.8.2.tgz", - "integrity": "sha512-wK29YO8DJbFbbsfZd1mN1jxuDxBC/gZMJUpTtDzdk6afMY2O/3tsMC+k9Mt9/OYzOKg+4J3yy6vsqwaLwdN75w==", + "node_modules/@babel/core": { + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz", + "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==", "dev": true, - "peerDependencies": { - "typescript": "^5.0.0" + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.9", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-module-transforms": "^7.24.9", + "@babel/helpers": "^7.24.8", + "@babel/parser": "^7.24.8", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@ts-morph/common": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.23.0.tgz", - "integrity": "sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==", + "node_modules/@babel/generator": { + "version": "7.24.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.10.tgz", + "integrity": "sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==", "dev": true, "dependencies": { - "fast-glob": "^3.3.2", - "minimatch": "^9.0.3", - "mkdirp": "^3.0.1", - "path-browserify": "^1.0.1" + "@babel/types": "^7.24.9", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@types/bun": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.1.2.tgz", - "integrity": "sha512-pRBDD3EDqPf83qe95i3EpYu5G2J8bbb78a3736vnCm2K8YWtEE5cvJUq2jkKvJhW07YTfQtbImywIwRhWL8z3Q==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", + "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", "dev": true, "dependencies": { - "bun-types": "1.1.8" + "@babel/compat-data": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@types/node": { - "version": "20.12.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", - "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", "dev": true, "dependencies": { - "undici-types": "~5.26.4" + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "node_modules/@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", "dev": true, "dependencies": { - "@types/node": "*" + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" } }, - "node_modules/bun-types": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.1.8.tgz", - "integrity": "sha512-dwhfuUKSGK8hm5Llcvb5+ejRh+4mIt8ibObJVKhZBsi0ScpXmt+AlaS1eDW6uRXCHj084Qt0kIqAJ08/7ZGC9Q==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz", + "integrity": "sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==", "dev": true, "dependencies": { - "@types/node": "~20.12.8", - "@types/ws": "~8.5.10" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/code-block-writer": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.1.tgz", - "integrity": "sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==", - "dev": true + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { - "node": ">=8.6.0" + "node": ">=6.9.0" } }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", "dev": true, "dependencies": { - "reusify": "^1.0.4" + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=6.9.0" } }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz", + "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.8" }, "engines": { - "node": ">= 6" + "node": ">=6.9.0" } }, - "node_modules/husky": { - "version": "9.0.11", + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, - "license": "MIT", - "bin": { - "husky": "bin.mjs" + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" + "node": ">=6.9.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { - "node": ">=0.12.0" + "node": ">=0.8.0" } }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=8.6" + "node": ">=4" } }, - "node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "node_modules/@babel/parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", + "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, - "bin": { - "mkdirp": "dist/cjs/src/bin.js" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "engines": { - "node": ">=8.6" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/prettier": { - "version": "3.2.5", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { - "node": ">=14" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "funding": [ - { - "type": "github", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", + "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", + "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.8", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.8", + "@babel/types": "^7.24.8", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.9.tgz", + "integrity": "sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@token-icons/core": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.8.2.tgz", + "integrity": "sha512-wK29YO8DJbFbbsfZd1mN1jxuDxBC/gZMJUpTtDzdk6afMY2O/3tsMC+k9Mt9/OYzOKg+4J3yy6vsqwaLwdN75w==", + "dev": true, + "peerDependencies": { + "typescript": "^5.0.0" + } + }, + "node_modules/@ts-morph/common": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.23.0.tgz", + "integrity": "sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==", + "dev": true, + "dependencies": { + "fast-glob": "^3.3.2", + "minimatch": "^9.0.3", + "mkdirp": "^3.0.1", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/bun": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.1.2.tgz", + "integrity": "sha512-pRBDD3EDqPf83qe95i3EpYu5G2J8bbb78a3736vnCm2K8YWtEE5cvJUq2jkKvJhW07YTfQtbImywIwRhWL8z3Q==", + "dev": true, + "dependencies": { + "bun-types": "1.1.8" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/node": { + "version": "20.12.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", + "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, + "node_modules/@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001640", + "electron-to-chromium": "^1.4.820", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bun-types": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.1.8.tgz", + "integrity": "sha512-dwhfuUKSGK8hm5Llcvb5+ejRh+4mIt8ibObJVKhZBsi0ScpXmt+AlaS1eDW6uRXCHj084Qt0kIqAJ08/7ZGC9Q==", + "dev": true, + "dependencies": { + "@types/node": "~20.12.8", + "@types/ws": "~8.5.10" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001642", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz", + "integrity": "sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", + "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", + "dev": true + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/code-block-writer": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.1.tgz", + "integrity": "sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==", + "dev": true + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.829", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.829.tgz", + "integrity": "sha512-5qp1N2POAfW0u1qGAxXEtz6P7bO1m6gpZr5hdf5ve6lxpLM7MpiM4jIPz7xcrNlClQMafbyUDDWjlIQZ1Mw0Rw==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/husky": { + "version": "9.0.11", + "dev": true, + "license": "MIT", + "bin": { + "husky": "bin.mjs" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.17.tgz", + "integrity": "sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prettier": { + "version": "3.2.5", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", "url": "https://github.com/sponsors/feross" }, { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-morph": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-22.0.0.tgz", + "integrity": "sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==", + "dev": true, + "dependencies": { + "@ts-morph/common": "~0.23.0", + "code-block-writer": "^13.0.1" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + } + }, + "@babel/compat-data": { + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.9.tgz", + "integrity": "sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==", + "dev": true + }, + "@babel/core": { + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz", + "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.9", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-module-transforms": "^7.24.9", + "@babel/helpers": "^7.24.8", + "@babel/parser": "^7.24.8", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + } + }, + "@babel/generator": { + "version": "7.24.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.10.tgz", + "integrity": "sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==", + "dev": true, + "requires": { + "@babel/types": "^7.24.9", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", + "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "dev": true, + "requires": { + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "dev": true, + "requires": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "dev": true, + "requires": { + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "requires": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-module-transforms": { + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz", + "integrity": "sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "requires": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dev": true, + "requires": { + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "dev": true + }, + "@babel/helpers": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz", + "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==", + "dev": true, + "requires": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.8" + } + }, + "@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", + "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", + "dev": true + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", + "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/template": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" + } + }, + "@babel/traverse": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", + "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.8", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.8", + "@babel/types": "^7.24.8", + "debug": "^4.3.1", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.9.tgz", + "integrity": "sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "requires": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + } + }, + "@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "requires": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + } + }, + "@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "requires": { + "jest-get-type": "^29.6.3" + } + }, + "@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + } + }, + "@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + } + }, + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "requires": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "requires": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + } + }, + "@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "@token-icons/core": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.8.2.tgz", + "integrity": "sha512-wK29YO8DJbFbbsfZd1mN1jxuDxBC/gZMJUpTtDzdk6afMY2O/3tsMC+k9Mt9/OYzOKg+4J3yy6vsqwaLwdN75w==", + "dev": true, + "requires": {} + }, + "@ts-morph/common": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.23.0.tgz", + "integrity": "sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==", + "dev": true, + "requires": { + "fast-glob": "^3.3.2", + "minimatch": "^9.0.3", + "mkdirp": "^3.0.1", + "path-browserify": "^1.0.1" + } + }, + "@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/bun": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.1.2.tgz", + "integrity": "sha512-pRBDD3EDqPf83qe95i3EpYu5G2J8bbb78a3736vnCm2K8YWtEE5cvJUq2jkKvJhW07YTfQtbImywIwRhWL8z3Q==", + "dev": true, + "requires": { + "bun-types": "1.1.8" + } + }, + "@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "dev": true, + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "@types/node": { + "version": "20.12.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", + "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, + "@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "requires": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "dependencies": { + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + } + } + } + }, + "babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001640", + "electron-to-chromium": "^1.4.820", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.1.0" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "bun-types": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.1.8.tgz", + "integrity": "sha512-dwhfuUKSGK8hm5Llcvb5+ejRh+4mIt8ibObJVKhZBsi0ScpXmt+AlaS1eDW6uRXCHj084Qt0kIqAJ08/7ZGC9Q==", + "dev": true, + "requires": { + "@types/node": "~20.12.8", + "@types/ws": "~8.5.10" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001642", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz", + "integrity": "sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", + "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "code-block-writer": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.1.tgz", + "integrity": "sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "dev": true, + "requires": {} + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.829", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.829.tgz", + "integrity": "sha512-5qp1N2POAfW0u1qGAxXEtz6P7bO1m6gpZr5hdf5ve6lxpLM7MpiM4jIPz7xcrNlClQMafbyUDDWjlIQZ1Mw0Rw==", + "dev": true + }, + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - { - "type": "consulting", - "url": "https://feross.org/support" + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } } - ] + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "requires": { + "function-bind": "^1.1.2" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "husky": { + "version": "9.0.11", + "dev": true + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" + "requires": { + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/ts-morph": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-22.0.0.tgz", - "integrity": "sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==", + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-core-module": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dev": true, - "dependencies": { - "@ts-morph/common": "~0.23.0", - "code-block-writer": "^13.0.1" + "requires": { + "hasown": "^2.0.2" } }, - "node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true - } - }, - "dependencies": { - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "is-extglob": "^2.1.1" } }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "dependencies": { + "semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true + } } }, - "@token-icons/core": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@token-icons/core/-/core-2.8.2.tgz", - "integrity": "sha512-wK29YO8DJbFbbsfZd1mN1jxuDxBC/gZMJUpTtDzdk6afMY2O/3tsMC+k9Mt9/OYzOKg+4J3yy6vsqwaLwdN75w==", + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "requires": {} + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + } }, - "@ts-morph/common": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.23.0.tgz", - "integrity": "sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==", + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "requires": { - "fast-glob": "^3.3.2", - "minimatch": "^9.0.3", - "mkdirp": "^3.0.1", - "path-browserify": "^1.0.1" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" } }, - "@types/bun": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.1.2.tgz", - "integrity": "sha512-pRBDD3EDqPf83qe95i3EpYu5G2J8bbb78a3736vnCm2K8YWtEE5cvJUq2jkKvJhW07YTfQtbImywIwRhWL8z3Q==", + "istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "requires": { - "bun-types": "1.1.8" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, - "@types/node": { - "version": "20.12.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", - "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", + "jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, "requires": { - "undici-types": "~5.26.4" + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" } }, - "@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, "requires": { - "@types/node": "*" + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" } }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "requires": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + } + }, + "jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + } + }, + "jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + } + }, + "jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + } + }, + "jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, "requires": { - "balanced-match": "^1.0.0" + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" } }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, "requires": { - "fill-range": "^7.0.1" + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" } }, - "bun-types": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.1.8.tgz", - "integrity": "sha512-dwhfuUKSGK8hm5Llcvb5+ejRh+4mIt8ibObJVKhZBsi0ScpXmt+AlaS1eDW6uRXCHj084Qt0kIqAJ08/7ZGC9Q==", + "jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "requires": { - "@types/node": "~20.12.8", - "@types/ws": "~8.5.10" + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" } }, - "code-block-writer": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.1.tgz", - "integrity": "sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==", + "jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true }, - "fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "requires": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + } + }, + "jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "requires": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + } + }, + "jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + } + }, + "jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "dependencies": { + "semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true + } + } + }, + "jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + } } }, - "fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, "requires": { - "reusify": "^1.0.4" + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, "requires": { - "to-regex-range": "^5.0.1" + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, - "husky": { - "version": "9.0.11", + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "p-locate": "^4.1.0" } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "requires": { + "semver": "^7.5.3" + }, + "dependencies": { + "semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true + } + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "merge2": { @@ -610,6 +6066,12 @@ "picomatch": "^2.3.1" } }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, "minimatch": { "version": "9.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", @@ -625,28 +6087,256 @@ "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "dev": true }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node-releases": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.17.tgz", + "integrity": "sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + }, + "dependencies": { + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, "path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", "dev": true }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, "prettier": { "version": "3.2.5", "dev": true }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true + }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true + }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -662,6 +6352,183 @@ "queue-microtask": "^1.2.2" } }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -681,6 +6548,18 @@ "code-block-writer": "^13.0.1" } }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, "typescript": { "version": "5.4.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", @@ -692,6 +6571,111 @@ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true + }, + "update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "dev": true, + "requires": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + } + }, + "v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index 837c946..c563e32 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,9 @@ "devDependencies": { "@token-icons/core": "^2.8.2", "@types/bun": "latest", + "@types/jest": "^29.5.12", "husky": "^9.0.11", + "jest": "^29.7.0", "prettier": "^3.2.5", "ts-morph": "^22.0.0" }, diff --git a/scripts/generate/V2/data_index.ts b/scripts/generate/V2/data_index.ts index 5689c83..16db0dc 100644 --- a/scripts/generate/V2/data_index.ts +++ b/scripts/generate/V2/data_index.ts @@ -7,6 +7,11 @@ console.log('🕑 Generating data index...'); const dataDir = path.join(__dirname, '../../../', 'data/chains/V2'); let indexContent = ''; +// Generate the GraphId type definition +const indexGeneratedComment = `// This file is auto-generated on pre-commit to avoid maintaining it.\n// Do not modify manually as it will be overwritten.\n// Last generation on ${new Date().toLocaleString()}.\n\n`; + +indexContent += indexGeneratedComment; + fs.readdirSync(dataDir).forEach((mainnetDir) => { // Ignore index.ts and chains.json files if (mainnetDir === 'index.ts' || mainnetDir === 'chains.json') return; diff --git a/scripts/generate/V2/data_json.ts b/scripts/generate/V2/data_json.ts index 1e7ac87..0d0d916 100644 --- a/scripts/generate/V2/data_json.ts +++ b/scripts/generate/V2/data_json.ts @@ -4,7 +4,12 @@ import * as chainData from '../../../data/chains/V2/index'; import { toCamelCase } from '../../../utils/case'; import indexConf from '../../../data/index.config'; import { IndexConfig } from './index_config_check'; -import { Chain, SupportedServices } from '../../../types'; +import { + Chain, + ServiceID, + ServiceStatusDates, + SupportedServices, +} from '../../../types'; interface SubnetData { id: string; @@ -25,54 +30,39 @@ const data: Chain[] = []; let indexCounter = 0; -const generateSupportedServicesDatesFromCache = ( - services: SupportedServices, -) => { +const generateSupportedServicesDatesFromCache = (services: { + [key: string]: string; +}): SupportedServices => { const currentDate = new Date().toISOString(); + const cacheFilePath = path.join( + __dirname, + '../../../data/V2/chains-lock.json', + ); + const updatedServices: any = {}; + + for (const service in services) { + const status = services[service]; + updatedServices[service as ServiceID] = { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + } as ServiceStatusDates; - return Object.entries(services).reduce((acc, [service, status]) => { switch (status) { case 'beta': - // @ts-ignore - acc[service] = { - beta_released_at: currentDate, - full_released_at: null, - deprecated_at: null, - }; + updatedServices[service].beta_released_at = currentDate; break; case 'released': - // @ts-ignore - acc[service] = { - // @ts-ignore - beta_released_at: acc[service]?.beta_released_at || currentDate, - full_released_at: currentDate, - deprecated_at: null, - }; + updatedServices[service].full_released_at = currentDate; break; case 'deprecated': - // @ts-ignore - acc[service] = { - // @ts-ignore - beta_released_at: currentDate, // Make sure it was once released - full_released_at: currentDate, // Make sure it was once released - ...acc[service], // Overwrite with existing data - deprecated_at: currentDate, - }; - break; - case 'unreleased': - // @ts-ignore - acc[service] = { - beta_released_at: null, - full_released_at: null, - deprecated_at: null, - }; + updatedServices[service].deprecated_at = currentDate; break; - default: - throw new Error(`Unsupported status: ${status}`); + // No case for "unreleased" as all dates remain null } + } - return acc; - }, {} as SupportedServices); + return updatedServices; }; Object.keys(indexConf.ordered).forEach((mainnet, mainnetIndex) => { diff --git a/tests/assert_deprecated_filter.test.ts b/tests/assert_deprecated_filter.test.ts deleted file mode 100644 index 28f0324..0000000 --- a/tests/assert_deprecated_filter.test.ts +++ /dev/null @@ -1 +0,0 @@ -// Test the noDeprecatedFilter function in the utils.ts file. diff --git a/tests/assert_flatten_filter_sort_chain.test.ts b/tests/assert_flatten_filter_sort_chain.test.ts deleted file mode 100644 index 5fbdb66..0000000 --- a/tests/assert_flatten_filter_sort_chain.test.ts +++ /dev/null @@ -1,107 +0,0 @@ -// Test the filterSortChain function in the utils.ts file. -import fs from 'fs'; -import { expect, test, describe, beforeEach } from 'bun:test'; -import { filterSortChains, isChainSupported } from '../utils/chains'; -import { Chain, ChainBase } from '../types'; - -// Read and parse the chains.json file -let chains = JSON.parse( - fs.readFileSync('./data/chains/V2/chains.json', 'utf-8'), -); - -describe('filterSortChain', () => { - beforeEach(() => { - // Reset the chains variable before each test - chains = JSON.parse( - fs.readFileSync('./data/chains/V2/chains.json', 'utf-8'), - ); - }); - - test('should return an empty array if no chains are provided', () => { - const result = filterSortChains([]); - - // fs.writeFileSync('./filterSortChain.1.json', JSON.stringify(result)); - - expect(result).toHaveLength(0); - }); - - test('should return all supported mainnets if a chains array is provided with no other params', () => { - const result = filterSortChains(chains); - - // fs.writeFileSync('./filterSortChain.2.json', JSON.stringify(result)); - - expect(result).toHaveLength( - chains.filter((chain: Chain) => isChainSupported(chain)).length, - ); - }); - - test('should filter the chains based on the provided filter function', () => { - // Define a filter function that only returns the eth chain - // Emulates a search for the ethereum chain - const filterFn = (chain: ChainBase) => - chain.name.toLocaleLowerCase().indexOf('eth') !== -1 || - chain.id.toLocaleLowerCase().indexOf('eth') !== -1 || - chain.alt_names.includes('eth'); - - const result = filterSortChains(chains, () => 0, filterFn); - - // fs.writeFileSync('./filterSortChain.3.json', JSON.stringify(result)); - - expect(result).toHaveLength(1); - }); - - test('should sort the chains based on the provided sort function', () => { - // Define a sort function that sorts the chains in reverse alphabetical order - const sortFn = (a: ChainBase, b: ChainBase) => b.name.localeCompare(a.name); - const result = filterSortChains(chains, sortFn); - - // fs.writeFileSync('./filterSortChain.4.json', JSON.stringify(result)); - - const sortedChains = chains - .filter((chain: Chain) => isChainSupported(chain)) - .sort((a: ChainBase, b: ChainBase) => b.name.localeCompare(a.name)); - expect(result).toEqual(sortedChains); - }); - - test('should include beta chains if includeBeta is true', () => { - const result = filterSortChains( - chains, - () => 0, - () => true, - true, - ); - - // fs.writeFileSync('./filterSortChain.5.json', JSON.stringify(result)); - - expect(result).toHaveLength( - chains.filter((chain: Chain) => isChainSupported(chain, true)).length, - ); - }); - - test('should include testnets if includeTestnet is true', () => { - const result = filterSortChains( - chains, - () => 0, - () => true, - false, - true, - ); - - fs.writeFileSync('./filterSortChain.6.json', JSON.stringify(result)); - - const eth = result.find((chain) => chain.id === 'eth') as Chain; - const ethTestnets = eth?.testnets?.length || 0; - - expect(ethTestnets).toBeGreaterThan(0); - }); - - // test('should include consensus layers if includeConsensusLayer is true', () => { - // // Fail First - // expect(true).toBe(false); - // }); - - // test('should include EVMs if includeEVM is true', () => { - // // Fail First - // expect(true).toBe(false); - // }); -}); diff --git a/tests/assert_no_substreams_wo_firehose.test.ts b/tests/assert_no_substreams_wo_firehose.test.ts deleted file mode 100644 index bb85137..0000000 --- a/tests/assert_no_substreams_wo_firehose.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Test to make sure that each chain that has a Substreams service -// also has a Firehose service (which it's dependent on). diff --git a/tests/assert_supported_utils.test.ts b/tests/assert_supported_utils.test.ts deleted file mode 100644 index d28a14e..0000000 --- a/tests/assert_supported_utils.test.ts +++ /dev/null @@ -1,4 +0,0 @@ -// Tests the supported util functions -// (isFirehoseSupported, isSubstreamsSupported, isRpcSupported, -// isChainSupported, wasFirehoseOnceSupported, wasSubstreamsOnceSupported, -// wasRpcOnceSupported) in utils/chains.ts diff --git a/tests/assert_unexported_chains.test.ts b/tests/assert_unexported_chains.test.ts deleted file mode 100644 index 3322c2c..0000000 --- a/tests/assert_unexported_chains.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Test to make sure that each chain is exported in the index.config.ts file -// and exists in the chains.json file. diff --git a/tests/assert_unique_index.test.ts b/tests/assert_unique_index.test.ts deleted file mode 100644 index 379cb85..0000000 --- a/tests/assert_unique_index.test.ts +++ /dev/null @@ -1 +0,0 @@ -// Test that each chain has a unique index in the index.config.ts file diff --git a/tests/assert_valid_icons.test.ts b/tests/assert_valid_icons.test.ts deleted file mode 100644 index 75bd208..0000000 --- a/tests/assert_valid_icons.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Test that each chain has a valid icon configuration in the meta.ts file -// and that the icon SVG available variants exists in the chain's directory. diff --git a/tests/chain_exported.test.ts b/tests/chain_exported.test.ts new file mode 100644 index 0000000..200676c --- /dev/null +++ b/tests/chain_exported.test.ts @@ -0,0 +1,32 @@ +import fs from 'fs'; +import path from 'path'; +import { Chain } from '../types'; +import { findChainById } from '../utils/chains'; +import indexConfig from '../data/index.config'; + +const setup = (): Array => { + // read the data file as JSON + const chainsFile = path.join(__dirname, '../', 'data/chains/V2/chains.json'); + if (fs.existsSync(chainsFile)) { + const chains = JSON.parse(fs.readFileSync(chainsFile, 'utf8')); + return chains; + } + return []; +}; + +describe('chain_exported', () => { + let chains: Array; + beforeAll(() => { + chains = setup(); + }); + + it('assert_every_indexconfig_chain_is_exported', () => { + const allChainIds = Object.values(indexConfig.ordered).flat(); + + allChainIds.forEach((chainId) => { + const chain = findChainById(chains, chainId); + expect(chain).toBeDefined(); + expect(chain?.id).toBe(chainId); + }); + }); +}); diff --git a/tests/chain_find_by_id.test.ts b/tests/chain_find_by_id.test.ts new file mode 100644 index 0000000..f492c22 --- /dev/null +++ b/tests/chain_find_by_id.test.ts @@ -0,0 +1,51 @@ +import fs from 'fs'; +import path from 'path'; +import { Chain } from '../types'; +import { findChainById, hasChainFullBlockSupport } from '../utils/chains'; + +const setup = (): Array => { + // read the data file as JSON + const chainsFile = path.join(__dirname, '../', 'data/chains/V2/chains.json'); + if (fs.existsSync(chainsFile)) { + const chains = JSON.parse(fs.readFileSync(chainsFile, 'utf8')); + return chains; + } + return []; +}; + +describe('chain_find_by_id', () => { + let chains: Array; + beforeAll(() => { + chains = setup(); + }); + + test('assert_find_mainnet___returns_mainnet', () => { + const chainID = 'eth'; + let chain = findChainById(chains, chainID) as Chain; + expect(chain.id).toBe(chainID); + }); + + test('assert_find_testnet___returns_testnet', () => { + const chainID = 'holesky'; + let chain = findChainById(chains, chainID) as Chain; + expect(chain.id).toBe(chainID); + }); + + test('assert_find_consensus_layer___returns_consensus_layer', () => { + const chainID = 'eth-cl'; + let chain = findChainById(chains, chainID) as Chain; + expect(chain.id).toBe(chainID); + }); + + test('assert_find_evm___returns_evm', () => { + const chainID = 'eosevm'; + let chain = findChainById(chains, chainID) as Chain; + expect(chain.id).toBe(chainID); + }); + + test('assert_find_non_existent___returns_undefined', () => { + const chainID = 'this_is_a_chain_id_that_does_not_exist'; + let chain = findChainById(chains, chainID); + expect(chain).toBe(undefined); + }); +}); diff --git a/tests/chain_has_full_block.test.ts b/tests/chain_has_full_block.test.ts new file mode 100644 index 0000000..3b52d6b --- /dev/null +++ b/tests/chain_has_full_block.test.ts @@ -0,0 +1,39 @@ +import fs from 'fs'; +import path from 'path'; +import { Chain } from '../types'; +import { findChainById, hasChainFullBlockSupport } from '../utils/chains'; + +const setup = (): Array => { + // read the data file as JSON + const chainsFile = path.join(__dirname, '../', 'data/chains/V2/chains.json'); + if (fs.existsSync(chainsFile)) { + const chains = JSON.parse(fs.readFileSync(chainsFile, 'utf8')); + return chains; + } + return []; +}; + +describe('chain_has_full_block', () => { + let chains: Array; + beforeAll(() => { + chains = setup(); + }); + + test('assert_full_block_chain___returns_true', () => { + const chainID = 'eth'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(hasChainFullBlockSupport(chain)).toBe(true); + }); + + test('assert_partial_block_chain___returns_false', () => { + const chainID = 'bitcoin'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(hasChainFullBlockSupport(chain)).toBe(false); + }); +}); diff --git a/tests/chain_has_no_substreams_wo_firehose.test.ts b/tests/chain_has_no_substreams_wo_firehose.test.ts new file mode 100644 index 0000000..7c8ba5c --- /dev/null +++ b/tests/chain_has_no_substreams_wo_firehose.test.ts @@ -0,0 +1,30 @@ +import fs from 'fs'; +import path from 'path'; +import { Chain } from '../types'; + +const setup = (): Array => { + // read the data file as JSON + const chainsFile = path.join(__dirname, '../', 'data/chains/V2/chains.json'); + if (fs.existsSync(chainsFile)) { + const chains = JSON.parse(fs.readFileSync(chainsFile, 'utf8')); + return chains; + } + return []; +}; + +describe('chain_has_no_substreams_wo_firehose', () => { + let chains: Array; + beforeAll(() => { + chains = setup(); + }); + + const hasDuplicates = (array: Array) => { + return new Set(array).size !== array.length; + }; + + test('assert_chain_services_are_valid', () => { + expect( + hasDuplicates(chains.map((chain) => chain.index) as Array), + ).toBe(false); + }); +}); diff --git a/tests/chain_is_consensus_layer.test.ts b/tests/chain_is_consensus_layer.test.ts new file mode 100644 index 0000000..ce6711d --- /dev/null +++ b/tests/chain_is_consensus_layer.test.ts @@ -0,0 +1,41 @@ +import fs from 'fs'; +import path from 'path'; +import { Chain } from '../types'; +import { findChainById, isChainConsensusLayer } from '../utils/chains'; + +const setup = (): Array => { + // read the data file as JSON + const chainsFile = path.join(__dirname, '../', 'data/chains/V2/chains.json'); + if (fs.existsSync(chainsFile)) { + const chains = JSON.parse(fs.readFileSync(chainsFile, 'utf8')); + return chains; + } + return []; +}; + +describe('chain_is_consensus_layer', () => { + let chains: Array; + beforeAll(() => { + chains = setup(); + }); + + test('assert_consensus_layer___returns_true', () => { + const chainID = 'eth-cl'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error( + 'Expected ' + chainID + ' Consensus Layer, but got ' + chain.id, + ); + } + expect(isChainConsensusLayer(chain)).toBe(true); + }); + + test('assert_non_consensus_layer___returns_false', () => { + const chainID = 'eth'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ' Mainnet, but got ' + chain.id); + } + expect(isChainConsensusLayer(chain)).toBe(false); + }); +}); diff --git a/tests/chain_is_deprecated.test.ts b/tests/chain_is_deprecated.test.ts new file mode 100644 index 0000000..7471343 --- /dev/null +++ b/tests/chain_is_deprecated.test.ts @@ -0,0 +1,48 @@ +import fs from 'fs'; +import path from 'path'; +import { Chain } from '../types'; +import { findChainById, isChainDeprecated } from '../utils/chains'; + +const setup = (): Array => { + // read the data file as JSON + const chainsFile = path.join(__dirname, '../', 'data/chains/V2/chains.json'); + if (fs.existsSync(chainsFile)) { + const chains = JSON.parse(fs.readFileSync(chainsFile, 'utf8')); + return chains; + } + return []; +}; + +describe('chain_is_deprecated', () => { + let chains: Array; + beforeAll(() => { + chains = setup(); + }); + + test('assert_deprecated_chain___returns_true', () => { + const chainID = 'goerli'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isChainDeprecated(chain)).toBe(true); + }); + + test('assert_supported_chain___returns_false', () => { + const chainID = 'eth'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isChainDeprecated(chain)).toBe(false); + }); + + test('assert_unsupported_chain___returns_false', () => { + const chainID = 'zksync'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isChainDeprecated(chain)).toBe(false); + }); +}); diff --git a/tests/chain_is_service_beta.test.ts b/tests/chain_is_service_beta.test.ts new file mode 100644 index 0000000..9064242 --- /dev/null +++ b/tests/chain_is_service_beta.test.ts @@ -0,0 +1,57 @@ +import fs from 'fs'; +import path from 'path'; +import { Chain } from '../types'; +import { findChainById, isServiceBeta } from '../utils/chains'; + +const setup = (): Array => { + // read the data file as JSON + const chainsFile = path.join(__dirname, '../', 'data/chains/V2/chains.json'); + if (fs.existsSync(chainsFile)) { + const chains = JSON.parse(fs.readFileSync(chainsFile, 'utf8')); + return chains; + } + return []; +}; + +describe('chain_is_service_beta', () => { + let chains: Array; + beforeAll(() => { + chains = setup(); + }); + + test('assert_beta_service___returns_true', () => { + const chainID = 'mode'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isServiceBeta(chain, 'rpc')).toBe(true); + }); + + test('assert_supported_service___returns_false', () => { + const chainID = 'eth'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isServiceBeta(chain, 'rpc')).toBe(false); + }); + + test('assert_deprecated_service___returns_false', () => { + const chainID = 'goerli'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isServiceBeta(chain, 'firehose')).toBe(false); + }); + + test('assert_unsupported_chain___returns_false', () => { + const chainID = 'zksync'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isServiceBeta(chain, 'firehose')).toBe(false); + }); +}); diff --git a/tests/chain_is_service_deprecated.test.ts b/tests/chain_is_service_deprecated.test.ts new file mode 100644 index 0000000..aa0ab88 --- /dev/null +++ b/tests/chain_is_service_deprecated.test.ts @@ -0,0 +1,48 @@ +import fs from 'fs'; +import path from 'path'; +import { Chain } from '../types'; +import { findChainById, isServiceDeprecated } from '../utils/chains'; + +const setup = (): Array => { + // read the data file as JSON + const chainsFile = path.join(__dirname, '../', 'data/chains/V2/chains.json'); + if (fs.existsSync(chainsFile)) { + const chains = JSON.parse(fs.readFileSync(chainsFile, 'utf8')); + return chains; + } + return []; +}; + +describe('chain_is_service_deprecated', () => { + let chains: Array; + beforeAll(() => { + chains = setup(); + }); + + test('assert_deprecated_service___returns_true', () => { + const chainID = 'goerli'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isServiceDeprecated(chain, 'substreams')).toBe(true); + }); + + test('assert_supported_service___returns_false', () => { + const chainID = 'eth'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isServiceDeprecated(chain, 'rpc')).toBe(false); + }); + + test('assert_unsupported_service___returns_false', () => { + const chainID = 'zksync'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isServiceDeprecated(chain, 'firehose')).toBe(false); + }); +}); diff --git a/tests/chain_is_service_supported.test.ts b/tests/chain_is_service_supported.test.ts new file mode 100644 index 0000000..1ce8d79 --- /dev/null +++ b/tests/chain_is_service_supported.test.ts @@ -0,0 +1,48 @@ +import fs from 'fs'; +import path from 'path'; +import { Chain } from '../types'; +import { findChainById, isServiceSupported } from '../utils/chains'; + +const setup = (): Array => { + // read the data file as JSON + const chainsFile = path.join(__dirname, '../', 'data/chains/V2/chains.json'); + if (fs.existsSync(chainsFile)) { + const chains = JSON.parse(fs.readFileSync(chainsFile, 'utf8')); + return chains; + } + return []; +}; + +describe('chain_is_service_supported', () => { + let chains: Array; + beforeAll(() => { + chains = setup(); + }); + + test('assert_supported_service___returns_true', () => { + const chainID = 'eth'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isServiceSupported(chain, 'rpc')).toBe(true); + }); + + test('assert_deprecated_service___returns_false', () => { + const chainID = 'goerli'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isServiceSupported(chain, 'firehose')).toBe(false); + }); + + test('assert_unsupported_chain___returns_false', () => { + const chainID = 'zksync'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isServiceSupported(chain, 'firehose')).toBe(false); + }); +}); diff --git a/tests/chain_is_supported.test.ts b/tests/chain_is_supported.test.ts new file mode 100644 index 0000000..5279b31 --- /dev/null +++ b/tests/chain_is_supported.test.ts @@ -0,0 +1,48 @@ +import fs from 'fs'; +import path from 'path'; +import { Chain } from '../types'; +import { findChainById, isChainSupported } from '../utils/chains'; + +const setup = (): Array => { + // read the data file as JSON + const chainsFile = path.join(__dirname, '../', 'data/chains/V2/chains.json'); + if (fs.existsSync(chainsFile)) { + const chains = JSON.parse(fs.readFileSync(chainsFile, 'utf8')); + return chains; + } + return []; +}; + +describe('chain_is_supported', () => { + let chains: Array; + beforeAll(() => { + chains = setup(); + }); + + test('assert_supported_chain___returns_true', () => { + const chainID = 'eth'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isChainSupported(chain)).toBe(true); + }); + + test('assert_deprecated_chain___returns_false', () => { + const chainID = 'goerli'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isChainSupported(chain)).toBe(false); + }); + + test('assert_unsupported_chain___returns_false', () => { + const chainID = 'zksync'; + let chain = findChainById(chains, chainID) as Chain; + if (chain.id !== chainID) { + throw new Error('Expected ' + chainID + ', but got ' + chain.id); + } + expect(isChainSupported(chain)).toBe(false); + }); +}); diff --git a/types/chain.types.ts b/types/chain.types.ts index d905b83..4bc5176 100644 --- a/types/chain.types.ts +++ b/types/chain.types.ts @@ -1,7 +1,12 @@ import { BlockType } from './block.types'; import { GraphID } from './graph.types'; import { PinaxID } from './pinax.types'; -import { ConsensusLayerServices, SupportedServices } from './service.types'; +import { + ___InternalConsensusLayerServices, + ___InternalSupportedServices, + ConsensusLayerServices, + SupportedServices, +} from './service.types'; import { Standard } from './standard.types'; export type ChainBase = { @@ -24,13 +29,94 @@ export type ChainBase = { // Chain Standard (ie. ERC20) standard: Standard | null; + // Whether or not the chain uses RPC poller + // Chains with RPC poller only offer partial blocks + rpc_poller: boolean; + // Block Type block_type: BlockType; }; +export type ___InternalTestnet = ChainBase & { + // Whether or not the chain supports our existing services + supported_services: ___InternalSupportedServices; + + metadata?: { + // Chain ID that replaces this (deprecated) chain + deprecated_replacing_chain?: PinaxID; + }; +}; + +export type ___InternalConsensusLayer = ChainBase & { + // Whether or not the chain supports our existing services + // Consensus Layers exist only for services built on top of RPC + // (Firehose, Substreams), and not for the RPC service itself. + supported_services: ___InternalConsensusLayerServices; +}; + +export type ___InternalEVM = ChainBase & { + // Whether or not the chain supports our existing services + supported_services: ___InternalSupportedServices; +}; + +/** + * Describes the Data that needs to be provided for a Chain. + * + * The Chain type theb extends the Chain type to include + * the generated fields. + */ +export interface ___InternalChain extends ChainBase { + icon: { + // Token Icon ID + id: string; + + // Theme of the Icon brand + brand_theme: 'light' | 'dark' | 'both'; + + // Generated by ./scripts/generate/data_json.js + variants?: Array<'branded' | 'mono'>; + }; + + // Whether or not the chain supports our existing services + supported_services: ___InternalSupportedServices; + + // Merged by ./scripts/generate/data_json.js + testnets?: Array<___InternalTestnet>; + + // Merged by ./scripts/generate/data_json.js + consensus?: Array<___InternalConsensusLayer>; + + // Merge by ./scripts/generate/data_json.js + evms?: Array<___InternalEVM>; + + // Any additional metadata we want to store (ie. Wagmi) + metadata?: { + // Layer of the chain + layer?: 'L0' | 'L1' | 'L2' | 'L3'; + + // Website of the chain + website?: string; + + // Mainchain ID, if the chain is a sidechain + // Either a PinaxID or a string, as the mainchain may not be in the list of chains + mainchain_id?: PinaxID | string; + + // tags for the chain + tags?: string[]; + + // Chain ID that replaces this (deprecated) chain + deprecated_replacing_chain?: PinaxID; + }; +} + export type Testnet = ChainBase & { // Whether or not the chain supports our existing services supported_services: SupportedServices; + + metadata?: { + // Chain ID that replaces this (deprecated) chain + deprecated_replacing_chain?: PinaxID; + }; }; export type ConsensusLayer = ChainBase & { @@ -86,5 +172,11 @@ export interface Chain extends ChainBase { // Mainchain ID, if the chain is a sidechain // Either a PinaxID or a string, as the mainchain may not be in the list of chains mainchain_id?: PinaxID | string; + + // tags for the chain + tags?: string[]; + + // Chain ID that replaces this (deprecated) chain + deprecated_replacing_chain?: PinaxID; }; } diff --git a/types/graph.types.ts b/types/graph.types.ts index 825d888..6861e89 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 6/3/2024, 9:24:30 AM. +// Last generation on 7/19/2024, 11:35:39 AM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' @@ -29,8 +29,8 @@ export type GraphID = | 'gnosis-chiado' | 'harmony' | 'holesky' + | 'iotex' | 'linea' - | 'linea-goerli' | 'linea-sepolia' | 'mainnet' | 'matic' @@ -48,11 +48,13 @@ export type GraphID = | 'polygon-amoy' | 'polygon-zkevm' | 'polygon-zkevm-cardona' - | 'polygon-zkevm-testnet' + | 'rootstock' | 'scroll' | 'scroll-sepolia' + | 'sei-mainnet' | 'sei-testnet' | 'sepolia' + | 'solana-mainnet-beta' | 'theta-testnet-001' | 'xlayer-mainnet' | 'xlayer-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index d7501f7..276a7b5 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 6/3/2024, 9:24:31 AM. +// Last generation on 7/19/2024, 11:35:40 AM. export type PinaxID = | 'arbone' | 'arbgoerli' @@ -11,6 +11,7 @@ export type PinaxID = | 'bitcoin' | 'blast' | 'boba' + | 'bobasepolia' | 'bsc' | 'chapel' | 'cardano' diff --git a/types/service.types.ts b/types/service.types.ts index e52453d..956ccb0 100644 --- a/types/service.types.ts +++ b/types/service.types.ts @@ -13,7 +13,24 @@ export type ServiceEndpointStatus = | 'released' | 'deprecated'; -export type ConsensusLayerServices = { +export type ___InternalConsensusLayerServices = { [key in ConsensusLayerServiceID]: ServiceEndpointStatus; }; -export type SupportedServices = { [key in ServiceID]: ServiceEndpointStatus }; + +export type ___InternalSupportedServices = { + [key in ServiceID]: ServiceEndpointStatus; +}; + +export type ServiceStatusDates = { + beta_released_at: string | null; + full_released_at: string | null; + deprecated_at: string | null; +}; + +export type ConsensusLayerServices = { + [key in ConsensusLayerServiceID]: ServiceStatusDates; +}; + +export type SupportedServices = { + [key in ServiceID]: ServiceStatusDates; +}; diff --git a/utils/chains.ts b/utils/chains.ts index c550d32..d2cb01a 100644 --- a/utils/chains.ts +++ b/utils/chains.ts @@ -1,4 +1,8 @@ -import { chains } from '.'; +import { + ConsensusLayerServiceID, + ServiceID, + ServiceStatusDates, +} from '../types'; import { Chain, ChainBase, @@ -7,208 +11,188 @@ import { Testnet, } from '../types/chain.types'; -const isFirehoseSupported = ( +/** + * Checks whether a service is fully supported. + * + * @param chain Chain, Testnet or ConsensusLayer + * @param service ServiceID or ConsensusLayerServiceID + * + * @returns boolean + */ +const isServiceSupported = ( chain: Chain | Testnet | ConsensusLayer, - checkBeta: boolean = false, -): boolean => { - if (checkBeta) { - return ( - chain?.supported_services?.firehose?.beta.released_at !== null && - chain?.supported_services?.firehose?.beta.deprecated_at === null - ); - } + service: ConsensusLayerServiceID | ServiceID, +) => { + // @ts-ignore + const serviceStatusDates = chain.supported_services[service] as + | ServiceStatusDates + | undefined; return ( - chain?.supported_services?.firehose?.full.released_at !== null && - chain?.supported_services?.firehose?.full.deprecated_at === null + serviceStatusDates && + serviceStatusDates.full_released_at !== null && + serviceStatusDates.deprecated_at === null ); }; -const isSubstreamsSupported = ( +/** + * Checks whether a service is in beta. + * + * @param chain Chain, Testnet or ConsensusLayer + * @param service ServiceID or ConsensusLayerServiceID + * + * @returns boolean + */ +const isServiceBeta = ( chain: Chain | Testnet | ConsensusLayer, - checkBeta: boolean = false, -): boolean => { - if (checkBeta) { - return ( - chain?.supported_services?.substreams?.beta.released_at !== null && - chain?.supported_services?.substreams?.beta.deprecated_at === null - ); - } + service: ConsensusLayerServiceID | ServiceID, +) => { + // @ts-ignore + const serviceStatusDates = chain.supported_services[service] as + | ServiceStatusDates + | undefined; return ( - chain?.supported_services?.substreams?.full.released_at !== null && - chain?.supported_services?.substreams?.full.deprecated_at === null + serviceStatusDates && + serviceStatusDates.beta_released_at !== null && + serviceStatusDates.deprecated_at === null && + !isServiceSupported(chain, service) ); }; -const isRpcSupported = ( +/** + * Checks whether a service was once supported. + * + * @param chain Chain, Testnet or ConsensusLayer + * @param service ServiceID or ConsensusLayerServiceID + * + * @returns boolean + */ +const isServiceDeprecated = ( chain: Chain | Testnet | ConsensusLayer, - checkBeta: boolean = false, -): boolean => { - // Can take a Consensus Layer as parameter but will always return false. - const castedChain = chain as any; - if (castedChain.supported_services.rpc === undefined) { - return false; - } - - if (checkBeta) { - return ( - castedChain?.supported_services?.rpc?.beta.released_at !== null && - castedChain?.supported_services?.rpc?.beta.deprecated_at === null - ); - } - + service: ConsensusLayerServiceID | ServiceID, +) => { + // @ts-ignore + const serviceStatusDates = chain.supported_services[service] as + | ServiceStatusDates + | undefined; return ( - castedChain?.supported_services?.rpc?.released_at !== null && - castedChain?.supported_services?.rpc?.deprecated_at === null + serviceStatusDates && + (serviceStatusDates.beta_released_at !== null || + serviceStatusDates.full_released_at !== null) && + serviceStatusDates.deprecated_at !== null ); }; -const isChainSupported = ( - chain: Chain | Testnet | ConsensusLayer, - checkBeta: boolean = false, -): boolean => { +/** + * Checks whether any service is fully supported for a given chain. + * + * @param chain Chain, Testnet or ConsensusLayer + * + * @returns boolean + */ +const isChainSupported = (chain: Chain | Testnet | ConsensusLayer) => { return ( - isFirehoseSupported(chain, checkBeta) || - isSubstreamsSupported(chain, checkBeta) || - isRpcSupported(chain, checkBeta) + isServiceSupported(chain, 'firehose') || + isServiceSupported(chain, 'substreams') || + isServiceSupported(chain, 'rpc') ); }; -const wasFirehoseOnceSupported = ( - chain: Chain | Testnet | ConsensusLayer, - checkBeta: boolean = false, -): boolean => { - if (checkBeta) { - return chain?.supported_services?.firehose?.beta.released_at !== null; - } - return chain?.supported_services?.firehose?.full.released_at !== null; -}; - -const wasSubstreamsOnceSupported = ( - chain: Chain | Testnet | ConsensusLayer, - checkBeta: boolean = false, -): boolean => { - if (checkBeta) { - return chain?.supported_services?.substreams?.beta.released_at !== null; - } - return chain?.supported_services?.substreams?.full.released_at !== null; +/** + * Checks whether any service is in beta for a given chain. + * + * @param chain Chain, Testnet or ConsensusLayer + * + * @returns boolean + */ +const isChainBeta = (chain: Chain | Testnet | ConsensusLayer) => { + return ( + isServiceBeta(chain, 'firehose') || + isServiceBeta(chain, 'substreams') || + isServiceBeta(chain, 'rpc') + ); }; -const wasRpcOnceSupported = ( - chain: Chain | Testnet | ConsensusLayer, - checkBeta: boolean = false, -): boolean => { - // Can take a Consensus Layer as parameter but will always return false. - const castedChain = chain as any; - if (castedChain.supported_services.rpc === undefined) { - return false; - } - - if (checkBeta) { - return castedChain?.supported_services?.rpc?.beta.released_at !== null; - } - - return castedChain?.supported_services?.rpc?.released_at !== null; +/** + * Checks whether any service was once supported for a given chain. + * + * @param chain Chain, Testnet or ConsensusLayer + * + * @returns boolean + */ +const isChainDeprecated = (chain: Chain | Testnet | ConsensusLayer) => { + return ( + isServiceDeprecated(chain, 'firehose') || + isServiceDeprecated(chain, 'substreams') || + isServiceDeprecated(chain, 'rpc') + ); }; -const wasChainOnceSupported = ( +/** + * Checks whether a chain is a consensus layer. + * + * @param chain Chain, Testnet or ConsensusLayer + * + * @returns boolean + */ +const isChainConsensusLayer = ( chain: Chain | Testnet | ConsensusLayer, - checkBeta: boolean = false, ): boolean => { - return ( - wasFirehoseOnceSupported(chain, checkBeta) || - wasSubstreamsOnceSupported(chain, checkBeta) || - wasRpcOnceSupported(chain, checkBeta) - ); + return chain.id.slice(-3).includes('-cl'); }; /** - * This function takes an array of chains and returns a new array that includes the chains - * and their associated testnets, consensus layers, and EVMs, if the corresponding flags are set to true. - * The chains are first filtered based on a provided filter function and whether they are supported. - * Then they are sorted based on a provided sort function. - * - * Note that the sort function is applied at two levels: first to the chains, - * then to the testnets, consensus layers, and EVMs. This is so that the mainnets and - * their associated testnets, consensus layers, and EVMs remain grouped together in the final array. - * - * @param {Array} chains - The array of chains to be processed. - * @param {(a: ChainBase, b: ChainBase) => number} [sortFn=() => 0] - The function used to sort the chains. - * @param {(chain: ChainBase) => boolean} [filterFn=() => true] - The function used to filter the chains. - * @param {boolean} [includeBeta=false] - Whether to include chains that are in beta. - * @param {boolean} [includeTestnet=false] - Whether to include testnets associated with the chains. - * @param {boolean} [includeConsensusLayer=false] - Whether to include consensus layers associated with the chains. - * @param {boolean} [includeEVM=false] - Whether to include EVMs associated with the chains. - * - * @returns {Array} - The new array of chains, testnets, consensus layers, and EVMs. + * Finds a chain by its ID by scanning mainnets, consensus layers, testnets and EVMs. + * Returns first match. + * + * @param db Array of Chains + * @param id Chain ID + * + * @returns Chain, Testnet or ConsensusLayer */ -const filterSortChains = ( - chains: Array, - sortFn: (a: ChainBase, b: ChainBase) => number = () => 0, - filterFn: (chain: ChainBase) => boolean = () => true, - includeBeta: boolean = false, - includeTestnet: boolean = false, - includeConsensusLayer: boolean = false, - includeEVM: boolean = false, -): Array => { - const __internalFilterSortChains = ( - chains: Array, - ) => { - return ( - chains - // Further filter the chains based on support for Firehose, Substreams, and RPC - // Largest potential filter so we do this first - .filter((chain) => isChainSupported(chain as Chain, includeBeta)) - // First filter the chains based on the filter function (search, etc.) - .filter(filterFn) - // Then sort the chains based on the sort function - .sort(sortFn) - ); - }; - - // First filter-sort Mainnets - let filteredSortedChains = __internalFilterSortChains(chains); - - // Then for each Mainnet, include its testnets, consensus layers, and EVM - // if the flags are set to true - let newFilteredSortedChains: Array = - []; - filteredSortedChains.forEach((chain: any) => { - let modifiedChain = chain; - - if (includeTestnet && chain.testnets !== undefined) { - modifiedChain.testnets = __internalFilterSortChains(chain.testnets); - } else { - delete modifiedChain.testnets; +const findChainById = ( + db: Array, + id: string, +): Chain | Testnet | ConsensusLayer | EVM | undefined => { + for (const chain of db) { + if (chain.id === id) { + return chain; } - - if (includeConsensusLayer && chain.consensus !== undefined) { - modifiedChain.consensus = __internalFilterSortChains(chain.consensus); - } else { - delete modifiedChain.consensus; + const consensus = chain.consensus?.find((consensus) => consensus.id === id); + if (consensus) { + return consensus; } - - if (includeEVM && chain.evms !== undefined) { - modifiedChain.evms = __internalFilterSortChains(chain.evms); - } else { - delete modifiedChain.evms; + const testnet = chain.testnets?.find((testnet) => testnet.id === id); + if (testnet) { + return testnet; + } + const evm = chain.evms?.find((evm) => evm.id === id); + if (evm) { + return evm; } - newFilteredSortedChains.push(modifiedChain); - }); - return newFilteredSortedChains; + } + return undefined; }; -const flattenChains = ( - chains: Array, -): Array => {}; +/** + * Checks whether a chain has full block support. Chains that use RPC poller only + * support partial blocks. + * + * @param chain Chain, Testnet or ConsensusLayer + * + * @returns boolean + */ +const hasChainFullBlockSupport = (chain: Chain | Testnet | ConsensusLayer) => { + return !chain.rpc_poller; +}; export { - isFirehoseSupported, - isSubstreamsSupported, - isRpcSupported, + isServiceSupported, + isServiceBeta, + isServiceDeprecated, isChainSupported, - wasFirehoseOnceSupported, - wasSubstreamsOnceSupported, - wasRpcOnceSupported, - wasChainOnceSupported, - filterSortChains, + isChainBeta, + isChainDeprecated, + isChainConsensusLayer, + findChainById, + hasChainFullBlockSupport, }; From 84d70ee65677a09abca8eb82d66ba86e1767bd31 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Thu, 1 Aug 2024 17:03:23 -0400 Subject: [PATCH 42/51] Updated chains, released services, etc. --- data/chains/V1/chains.json | 31 + data/chains/{ => V1}/mode.json | 1 + data/chains/V2/arbone/meta.ts | 18 +- .../V2/arbone/testnets/arbgoerli/meta.ts | 18 +- .../V2/arbone/testnets/arbsepolia/meta.ts | 18 +- data/chains/V2/arweave/meta.ts | 18 +- data/chains/V2/avalanche/meta.ts | 18 +- data/chains/V2/base/meta.ts | 18 +- data/chains/V2/bitcoin/meta.ts | 18 +- data/chains/V2/blast/meta.ts | 18 +- .../V2/blast/testnets/blastsepolia/meta.ts | 34 + data/chains/V2/boba/meta.ts | 18 +- .../V2/boba/testnets/bobasepolia/meta.ts | 18 +- data/chains/V2/bsc/meta.ts | 18 +- data/chains/V2/bsc/testnets/chapel/meta.ts | 18 +- data/chains/V2/cardano/meta.ts | 18 +- data/chains/V2/celo/meta.ts | 18 +- .../chains/V2/celo/testnets/alfajores/meta.ts | 18 +- data/chains/V2/chains-lock.converted.json | 2110 ------------- data/chains/V2/chains-lock.orig.json | 2763 ----------------- data/chains/V2/chains.json | 872 +++--- data/chains/V2/cosmoshub/meta.ts | 18 +- .../chains/V2/cosmoshub/testnets/juno/meta.ts | 18 +- .../V2/cosmoshub/testnets/theta/meta.ts | 18 +- data/chains/V2/cronos/meta.ts | 18 +- data/chains/V2/decimal/meta.ts | 18 +- data/chains/V2/eos/evms/eosevm/meta.ts | 19 +- data/chains/V2/eos/meta.ts | 18 +- data/chains/V2/eos/testnets/jungle4/meta.ts | 18 +- data/chains/V2/eos/testnets/kylin/meta.ts | 18 +- data/chains/V2/eth/consensus/eth-cl/meta.ts | 12 +- .../chains/V2/eth/consensus/goerli-cl/meta.ts | 12 +- .../V2/eth/consensus/holesky-cl/meta.ts | 12 +- .../V2/eth/consensus/sepolia-cl/meta.ts | 12 +- data/chains/V2/eth/meta.ts | 18 +- data/chains/V2/eth/testnets/goerli/meta.ts | 18 +- data/chains/V2/eth/testnets/holesky/meta.ts | 18 +- data/chains/V2/eth/testnets/sepolia/meta.ts | 18 +- data/chains/V2/fantom/meta.ts | 18 +- data/chains/V2/fuse/meta.ts | 18 +- .../V2/gnosis/consensus/chiado-cl/meta.ts | 12 +- .../V2/gnosis/consensus/gnosis-cl/meta.ts | 12 +- data/chains/V2/gnosis/meta.ts | 18 +- data/chains/V2/gnosis/testnets/chiado/meta.ts | 18 +- data/chains/V2/index.ts | 3 +- data/chains/V2/kava/meta.ts | 18 +- data/chains/V2/linea/meta.ts | 18 +- data/chains/V2/litecoin/meta.ts | 18 +- data/chains/V2/mode/meta.ts | 18 +- data/chains/V2/moonbeam/meta.ts | 18 +- data/chains/V2/near/meta.ts | 18 +- data/chains/V2/near/testnets/neartest/meta.ts | 18 +- data/chains/V2/optimism/meta.ts | 18 +- data/chains/V2/ore/meta.ts | 18 +- data/chains/V2/ore/testnets/orestage/meta.ts | 18 +- data/chains/V2/osmosis/meta.ts | 18 +- data/chains/V2/polygon/meta.ts | 18 +- data/chains/V2/polygon/testnets/amoy/meta.ts | 18 +- .../chains/V2/polygon/testnets/mumbai/meta.ts | 18 +- data/chains/V2/ronin/meta.ts | 18 +- data/chains/V2/scroll/meta.ts | 18 +- data/chains/V2/sei/meta.ts | 18 +- data/chains/V2/starknet/meta.ts | 18 +- data/chains/V2/telos/meta.ts | 18 +- .../V2/telos/testnets/telostest/meta.ts | 18 +- data/chains/V2/wax/meta.ts | 18 +- data/chains/V2/wax/testnets/waxtest/meta.ts | 18 +- data/chains/V2/x-layer/meta.ts | 18 +- data/chains/V2/xai/meta.ts | 18 +- data/chains/V2/zkastar/meta.ts | 18 +- .../V2/zkastar/testnets/zkatana/meta.ts | 18 +- .../chains/V2/zkastar/testnets/zkyoto/meta.ts | 18 +- data/chains/V2/zksync/meta.ts | 18 +- data/chains/V2/zora/meta.ts | 18 +- data/chains/amoy.json | 30 - data/index.config.ts | 4 +- scripts/generate/V2/data_json.ts | 47 +- scripts/generate/V2/index_config_check.ts | 2 +- scripts/verify/V2/notion-diff/input/test.txt | 0 types/graph.types.ts | 7 +- types/pinax.types.ts | 3 +- types/service.types.ts | 10 +- 82 files changed, 1515 insertions(+), 5573 deletions(-) rename data/chains/{ => V1}/mode.json (97%) create mode 100644 data/chains/V2/blast/testnets/blastsepolia/meta.ts delete mode 100644 data/chains/V2/chains-lock.converted.json delete mode 100644 data/chains/V2/chains-lock.orig.json delete mode 100644 data/chains/amoy.json delete mode 100644 scripts/verify/V2/notion-diff/input/test.txt diff --git a/data/chains/V1/chains.json b/data/chains/V1/chains.json index cfe2b06..40e785d 100644 --- a/data/chains/V1/chains.json +++ b/data/chains/V1/chains.json @@ -950,6 +950,37 @@ } } }, + { + "id": "mode", + "index": 4, + "graph_id": "mode-mainnet", + "name": "Mode Network", + "alt_names": [], + "mainnet": "mode", + "standard": "erc20", + "rpc_poller": false, + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "img": "https://pinax.network/assets/chains/mode.svg", + "is_img_dt_invert": false, + "is_testnet": false, + "supported_services": { + "firehose": { + "released_at": "2024-06-03T00:00:00.000Z", + "deprecated_at": null + }, + "substreams": { + "released_at": "2024-06-03T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "released_at": "2024-06-03T00:00:00.000Z", + "deprecated_at": null + } + } + }, { "id": "moonbeam", "index": 5, diff --git a/data/chains/mode.json b/data/chains/V1/mode.json similarity index 97% rename from data/chains/mode.json rename to data/chains/V1/mode.json index d7d7968..0bee229 100644 --- a/data/chains/mode.json +++ b/data/chains/V1/mode.json @@ -6,6 +6,7 @@ "alt_names": [], "mainnet": "mode", "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V2/arbone/meta.ts b/data/chains/V2/arbone/meta.ts index 634b98f..f2137cf 100644 --- a/data/chains/V2/arbone/meta.ts +++ b/data/chains/V2/arbone/meta.ts @@ -16,9 +16,21 @@ const meta: ___InternalChain = { brand_theme: 'both', }, supported_services: { - rpc: 'beta', - firehose: 'beta', - substreams: 'beta', + firehose: { + beta_released_at: '2024-06-10T00:00:00.000Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-06-10T00:00:00.000Z', + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: '2024-06-10T00:00:00.000Z', + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://arbitrum.io/', diff --git a/data/chains/V2/arbone/testnets/arbgoerli/meta.ts b/data/chains/V2/arbone/testnets/arbgoerli/meta.ts index d3df6ee..fdc1d11 100644 --- a/data/chains/V2/arbone/testnets/arbgoerli/meta.ts +++ b/data/chains/V2/arbone/testnets/arbgoerli/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: '2024-05-03T00:00:00.000Z', + full_released_at: '2024-05-03T00:00:00.000Z', + deprecated_at: '2024-05-03T00:00:00.000Z', + }, + substreams: { + beta_released_at: '2024-05-03T00:00:00.000Z', + full_released_at: '2024-05-03T00:00:00.000Z', + deprecated_at: '2024-05-03T00:00:00.000Z', + }, + rpc: { + beta_released_at: '2024-05-03T00:00:00.000Z', + full_released_at: '2024-05-03T00:00:00.000Z', + deprecated_at: '2024-05-03T00:00:00.000Z', + }, }, }; diff --git a/data/chains/V2/arbone/testnets/arbsepolia/meta.ts b/data/chains/V2/arbone/testnets/arbsepolia/meta.ts index 4b0542a..21c68bf 100644 --- a/data/chains/V2/arbone/testnets/arbsepolia/meta.ts +++ b/data/chains/V2/arbone/testnets/arbsepolia/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - rpc: 'released', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2024-05-03T00:00:00.000Z', + full_released_at: '2024-05-03T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-05-03T00:00:00.000Z', + full_released_at: '2024-05-03T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: '2024-05-03T00:00:00.000Z', + full_released_at: '2024-05-03T00:00:00.000Z', + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/arweave/meta.ts b/data/chains/V2/arweave/meta.ts index b32edf4..f17c0fc 100644 --- a/data/chains/V2/arweave/meta.ts +++ b/data/chains/V2/arweave/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2024-03-03T00:00:00.000Z', + full_released_at: '2024-03-03T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-03-03T00:00:00.000Z', + full_released_at: '2024-03-03T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://arweave.org/', diff --git a/data/chains/V2/avalanche/meta.ts b/data/chains/V2/avalanche/meta.ts index 0302428..e2500b7 100644 --- a/data/chains/V2/avalanche/meta.ts +++ b/data/chains/V2/avalanche/meta.ts @@ -16,9 +16,21 @@ const meta: ___InternalChain = { brand_theme: 'both', }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: '2024-08-01T00:00:00.000Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-08-01T00:00:00.000Z', + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: '2024-08-01T00:00:00.000Z', + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://www.avax.network/', diff --git a/data/chains/V2/base/meta.ts b/data/chains/V2/base/meta.ts index 2618491..fc88c69 100644 --- a/data/chains/V2/base/meta.ts +++ b/data/chains/V2/base/meta.ts @@ -16,9 +16,21 @@ const meta: ___InternalChain = { brand_theme: 'both', }, supported_services: { - rpc: 'unreleased', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2024-03-06T00:00:00.000Z', + full_released_at: '2024-03-06T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-03-06T00:00:00.000Z', + full_released_at: '2024-03-06T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://www.base.org/', diff --git a/data/chains/V2/bitcoin/meta.ts b/data/chains/V2/bitcoin/meta.ts index 22bbdc3..b6356be 100644 --- a/data/chains/V2/bitcoin/meta.ts +++ b/data/chains/V2/bitcoin/meta.ts @@ -16,9 +16,21 @@ const meta: ___InternalChain = { brand_theme: 'both', }, supported_services: { - rpc: 'unreleased', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-03-21T00:00:00.000Z', + full_released_at: '2023-03-21T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-03-21T00:00:00.000Z', + full_released_at: '2023-03-21T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://bitcoin.org/', diff --git a/data/chains/V2/blast/meta.ts b/data/chains/V2/blast/meta.ts index 464b181..5a43988 100644 --- a/data/chains/V2/blast/meta.ts +++ b/data/chains/V2/blast/meta.ts @@ -18,9 +18,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'beta', - firehose: 'beta', - substreams: 'beta', + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, testnets: [], consensus: [], diff --git a/data/chains/V2/blast/testnets/blastsepolia/meta.ts b/data/chains/V2/blast/testnets/blastsepolia/meta.ts new file mode 100644 index 0000000..88f7e10 --- /dev/null +++ b/data/chains/V2/blast/testnets/blastsepolia/meta.ts @@ -0,0 +1,34 @@ +import { ___InternalTestnet } from '../../../../../../types'; + +const meta: ___InternalTestnet = { + id: 'blastsepolia', + name: 'Blast Network Sepolia', + alt_names: [], + graph_id: 'blast-testnet', + index: 0, + standard: 'erc20', + rpc_poller: true, + block_type: { + label: 'sf.ethereum.type.v2.Block', + url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', + }, + supported_services: { + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + }, +}; + +export default meta; diff --git a/data/chains/V2/boba/meta.ts b/data/chains/V2/boba/meta.ts index 9464454..e9cb0a5 100644 --- a/data/chains/V2/boba/meta.ts +++ b/data/chains/V2/boba/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'beta', - firehose: 'beta', - substreams: 'beta', + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, testnets: [], consensus: [], diff --git a/data/chains/V2/boba/testnets/bobasepolia/meta.ts b/data/chains/V2/boba/testnets/bobasepolia/meta.ts index 0d061ad..28b763b 100644 --- a/data/chains/V2/boba/testnets/bobasepolia/meta.ts +++ b/data/chains/V2/boba/testnets/bobasepolia/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/bsc/meta.ts b/data/chains/V2/bsc/meta.ts index 2e48b0d..5ee2158 100644 --- a/data/chains/V2/bsc/meta.ts +++ b/data/chains/V2/bsc/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'released', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, metadata: { website: 'https://www.bnbchain.org/en/bnb-smart-chain', diff --git a/data/chains/V2/bsc/testnets/chapel/meta.ts b/data/chains/V2/bsc/testnets/chapel/meta.ts index 056ff45..25aec50 100644 --- a/data/chains/V2/bsc/testnets/chapel/meta.ts +++ b/data/chains/V2/bsc/testnets/chapel/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - rpc: 'released', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/cardano/meta.ts b/data/chains/V2/cardano/meta.ts index 6947748..834b24a 100644 --- a/data/chains/V2/cardano/meta.ts +++ b/data/chains/V2/cardano/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://cardano.org/', diff --git a/data/chains/V2/celo/meta.ts b/data/chains/V2/celo/meta.ts index f93d054..8330f55 100644 --- a/data/chains/V2/celo/meta.ts +++ b/data/chains/V2/celo/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://celo.org/', diff --git a/data/chains/V2/celo/testnets/alfajores/meta.ts b/data/chains/V2/celo/testnets/alfajores/meta.ts index df38152..418b454 100644 --- a/data/chains/V2/celo/testnets/alfajores/meta.ts +++ b/data/chains/V2/celo/testnets/alfajores/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/chains-lock.converted.json b/data/chains/V2/chains-lock.converted.json deleted file mode 100644 index a8d649c..0000000 --- a/data/chains/V2/chains-lock.converted.json +++ /dev/null @@ -1,2110 +0,0 @@ -[ - { - "id": "eth", - "graph_id": "mainnet", - "name": "Ethereum", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/ethereum", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "metadata": { - "website": "https://ethereum.org/" - }, - "index": 0, - "testnets": [ - { - "id": "holesky", - "graph_id": null, - "name": "Holesky", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 1 - }, - { - "id": "sepolia", - "graph_id": "sepolia", - "name": "Sepolia", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 2 - }, - { - "id": "goerli", - "graph_id": null, - "name": "Goerli", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "substreams": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "rpc": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } - }, - "index": 6 - } - ], - "consensus": [ - { - "id": "eth-cl", - "graph_id": null, - "name": "Ethereum Consensus Layer", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 3 - }, - { - "id": "holesky-cl", - "graph_id": null, - "name": "Holesky Consensus Layer", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 4 - }, - { - "id": "sepolia-cl", - "graph_id": null, - "name": "Sepolia Consensus Layer", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 5 - }, - { - "id": "goerli-cl", - "graph_id": null, - "name": "Goerli Consensus Layer", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "substreams": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } - }, - "index": 7 - } - ], - "evms": [] - }, - { - "id": "bitcoin", - "graph_id": null, - "name": "Bitcoin", - "alt_names": ["btc"], - "standard": "brc20", - "block_type": { - "label": "sf.bitcoin.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" - }, - "icon": { - "id": "tokens/btc", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-03-21T00:00:00.000Z", - "full_released_at": "2023-03-21T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-03-21T00:00:00.000Z", - "full_released_at": "2023-03-21T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://bitcoin.org/" - }, - "index": 8, - "testnets": [], - "consensus": [], - "evms": [] - }, - { - "id": "polygon", - "graph_id": "matic", - "name": "Polygon", - "alt_names": ["matic"], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/polygon-pos", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "metadata": { - "website": "https://polygon.technology/" - }, - "index": 9, - "testnets": [ - { - "id": "amoy", - "graph_id": "polygon-amoy", - "name": "Amoy", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2024-04-12T00:00:00.000Z", - "full_released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-04-12T00:00:00.000Z", - "full_released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": "2024-04-12T00:00:00.000Z", - "full_released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 10 - }, - { - "id": "mumbai", - "graph_id": null, - "name": "Mumbai", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - }, - "rpc": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - } - }, - "index": 11 - } - ], - "consensus": [], - "evms": [] - }, - { - "id": "bsc", - "graph_id": "bsc", - "name": "BNB", - "alt_names": ["bsc", "binance"], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/binance-smart-chain", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "metadata": { - "website": "https://www.bnbchain.org/en/bnb-smart-chain" - }, - "index": 12, - "testnets": [ - { - "id": "chapel", - "graph_id": "chapel", - "name": "Chapel", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 13 - } - ], - "consensus": [], - "evms": [] - }, - { - "id": "arbone", - "graph_id": "arbitrum-one", - "name": "Arbitrum One", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/arbi", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://arbitrum.io/" - }, - "index": 14, - "testnets": [ - { - "id": "arbgoerli", - "graph_id": null, - "name": "Arbitrum Goerli", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "index": 15 - }, - { - "id": "arbsepolia", - "graph_id": "arbitrum-sepolia", - "name": "Arbitrum Sepolia", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2024-05-03T00:00:00.000Z", - "full_released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-05-03T00:00:00.000Z", - "full_released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": "2024-05-03T00:00:00.000Z", - "full_released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 16 - }, - { - "id": "chiado", - "graph_id": null, - "name": "Chiado", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "index": 18 - } - ], - "consensus": [ - { - "id": "chiado-cl", - "graph_id": null, - "name": "Chiado Consensus Layer", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 17 - } - ], - "evms": [] - }, - { - "id": "avalanche", - "graph_id": "avalanche", - "name": "Avalanche", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/avalanche", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://www.avax.network/" - }, - "index": 19, - "testnets": [], - "consensus": [], - "evms": [] - }, - { - "id": "optimism", - "graph_id": "optimism", - "name": "Optimism", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/optimistic-ethereum", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2024-01-01T00:00:00.000Z", - "full_released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-01-01T00:00:00.000Z", - "full_released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://optimism.io/" - }, - "index": 20, - "testnets": [], - "consensus": [], - "evms": [] - }, - { - "id": "base", - "graph_id": "base", - "name": "Base", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/base", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2024-03-06T00:00:00.000Z", - "full_released_at": "2024-03-06T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-03-06T00:00:00.000Z", - "full_released_at": "2024-03-06T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://www.base.org/" - }, - "index": 21, - "testnets": [], - "consensus": [], - "evms": [] - }, - { - "id": "decimal", - "graph_id": null, - "name": "Decimal", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/del", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://www.decimalchain.com/" - }, - "index": 22, - "testnets": [], - "consensus": [], - "evms": [] - }, - { - "id": "gnosis", - "graph_id": "gnosis", - "name": "Gnosis", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/gno", - "brand_theme": "dark", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://gnosis.io/" - }, - "index": 23, - "consensus": [ - { - "id": "gnosis-cl", - "graph_id": null, - "name": "Gnosis Consensus Layer", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 24 - } - ], - "testnets": [], - "evms": [] - }, - { - "id": "fantom", - "graph_id": "fantom", - "name": "Fantom", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/fantom", - "brand_theme": "light", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://fantom.foundation/" - }, - "index": 25, - "testnets": [], - "consensus": [], - "evms": [] - }, - { - "id": "celo", - "graph_id": "celo", - "name": "Celo", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/celo", - "brand_theme": "light", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://celo.org/" - }, - "index": 26, - "testnets": [ - { - "id": "alfajores", - "graph_id": null, - "name": "Alfajores", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "index": 27 - } - ], - "consensus": [], - "evms": [] - }, - { - "id": "near", - "graph_id": "near-mainnet", - "name": "Near", - "alt_names": [], - "standard": "near", - "block_type": { - "label": "sf.near.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" - }, - "icon": { - "id": "tokens/near", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://near.org/" - }, - "index": 28, - "testnets": [ - { - "id": "neartest", - "graph_id": "near-testnet", - "name": "Near-testnet", - "alt_names": [], - "standard": "near", - "block_type": { - "label": "sf.near.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "index": 29 - } - ], - "consensus": [], - "evms": [] - }, - { - "id": "arweave", - "graph_id": "arweave-mainnet", - "name": "Arweave", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.arweave.type.v1.Block", - "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" - }, - "icon": { - "id": "tokens/ar", - "brand_theme": "dark", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-03-03T00:00:00.000Z", - "full_released_at": "2024-03-03T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://arweave.org/" - }, - "index": 30, - "testnets": [], - "consensus": [], - "evms": [] - }, - { - "id": "cosmoshub", - "graph_id": "cosmoshub-4", - "name": "Cosmos Hub", - "alt_names": [], - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" - }, - "icon": { - "id": "networks/cosmos", - "brand_theme": "dark", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://cosmos.network/" - }, - "index": 31, - "testnets": [ - { - "id": "theta", - "graph_id": "theta-testnet-001", - "name": "Theta", - "alt_names": [], - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "index": 32 - }, - { - "id": "juno", - "graph_id": null, - "name": "Juno", - "alt_names": [], - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "index": 33 - } - ], - "consensus": [], - "evms": [] - }, - { - "id": "osmosis", - "graph_id": "osmosis-1", - "name": "Osmosis", - "alt_names": [], - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" - }, - "icon": { - "id": "networks/osmosis", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2024-01-01T00:00:00.000Z", - "full_released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://osmosis.zone/" - }, - "index": 34, - "testnets": [], - "consensus": [], - "evms": [] - }, - { - "id": "moonbeam", - "graph_id": "moonbeam", - "name": "Moonbeam", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/moonbeam", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://moonbeam.network/" - }, - "index": 35, - "testnets": [], - "consensus": [], - "evms": [] - }, - { - "id": "scroll", - "graph_id": "scroll", - "name": "Scroll", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/scroll", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://scroll.io/" - }, - "index": 36, - "testnets": [], - "consensus": [], - "evms": [] - }, - { - "id": "starknet", - "graph_id": null, - "name": "Starknet", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/starknet", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://www.starknet.io/" - }, - "index": 37, - "testnets": [], - "consensus": [], - "evms": [] - }, - { - "id": "eos", - "graph_id": null, - "name": "EOS", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "icon": { - "id": "tokens/eos", - "brand_theme": "light", - "variants": ["mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://eosnetwork.com/" - }, - "index": 38, - "evms": [ - { - "id": "eosevm", - "graph_id": null, - "name": "EOS EVM", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "index": 39 - } - ], - "testnets": [ - { - "id": "jungle4", - "graph_id": null, - "name": "Jungle4", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 40 - }, - { - "id": "kylin", - "graph_id": null, - "name": "Kylin", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "index": 41 - } - ], - "consensus": [] - }, - { - "id": "wax", - "graph_id": null, - "name": "WAX", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "icon": { - "id": "tokens/waxp", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://wax.io/" - }, - "index": 42, - "testnets": [ - { - "id": "waxtest", - "graph_id": null, - "name": "WAX Test", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "index": 43 - } - ], - "consensus": [], - "evms": [] - }, - { - "id": "telos", - "graph_id": null, - "name": "Telos", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "icon": { - "id": "networks/telos", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://telos.net/" - }, - "index": 44, - "testnets": [ - { - "id": "telostest", - "graph_id": null, - "name": "Telos Test", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "index": 45 - } - ], - "consensus": [], - "evms": [] - }, - { - "id": "kava", - "graph_id": null, - "name": "Kava", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/kava", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://www.kava.io/" - }, - "index": 46, - "testnets": [], - "consensus": [], - "evms": [] - }, - { - "id": "blast", - "name": "Blast Network", - "alt_names": [], - "graph_id": "blast-mainnet", - "index": 47, - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/blast", - "brand_theme": "light", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "firehose": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L2", - "website": "https://blast.io/en" - } - }, - { - "id": "boba", - "name": "Boba Network", - "alt_names": [], - "graph_id": "boba", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/boba", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "firehose": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L2", - "website": "https://boba.network/" - }, - "index": 48 - }, - { - "id": "cronos", - "name": "Cronos", - "alt_names": [], - "graph_id": null, - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/cronos", - "brand_theme": "dark", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "website": "https://cronos.org/" - }, - "index": 49 - }, - { - "id": "fuse", - "name": "Fuse", - "alt_names": [], - "graph_id": "fuse", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/fuse", - "brand_theme": "light", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "firehose": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L1", - "website": "https://fuse.io/" - }, - "index": 50 - }, - { - "id": "linea", - "name": "Linea", - "alt_names": [], - "graph_id": "linea", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/linea", - "brand_theme": "dark", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "firehose": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "website": "https://linea.build/" - }, - "index": 51 - }, - { - "id": "litecoin", - "name": "Litecoin", - "alt_names": ["LTC"], - "graph_id": null, - "standard": "ltc20", - "block_type": { - "label": "sf.litecoin.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-litecoin/docs/main:sf.litecoin.type.v1" - }, - "icon": { - "id": "tokens/ltc", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, - "firehose": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L1", - "website": "https://litecoin.org/" - }, - "index": 52 - }, - { - "id": "mode", - "name": "Mode Network", - "alt_names": [], - "graph_id": "mode-mainnet", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/mode", - "brand_theme": "light", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "firehose": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L2", - "website": "https://www.mode.network/" - }, - "index": 53 - }, - { - "id": "xai", - "name": "XAI", - "alt_names": [], - "graph_id": null, - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/xai", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "firehose": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L3", - "website": "https://xai.games/" - }, - "index": 54 - }, - { - "id": "zkevm", - "name": "Astar zkEVM", - "alt_names": [], - "graph_id": null, - "standard": "erc20", - "block_type": { - "label": "sf.zkevm.type.v1.Block", - "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" - }, - "icon": { - "id": "networks/astar", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "firehose": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - } - }, - "testnets": [ - { - "id": "zkyoto", - "name": "Astar zKyoto", - "alt_names": [], - "graph_id": "zkyoto-testnet", - "standard": "erc20", - "block_type": { - "label": "sf.zkevm.type.v1.Block", - "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" - }, - "supported_services": { - "rpc": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "firehose": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - } - }, - "index": 56 - } - ], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L2", - "website": "https://astar.network/" - }, - "index": 55 - }, - { - "id": "zora", - "name": "Zora Network", - "alt_names": [], - "graph_id": null, - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/zora", - "brand_theme": "both", - "variants": ["branded"] - }, - "supported_services": { - "rpc": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "firehose": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2024-05-14T00:00:00Z", - "full_released_at": null, - "deprecated_at": null - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L2", - "website": "https://zora.co/" - }, - "index": 57 - }, - { - "id": "ore", - "graph_id": null, - "name": "Ore", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "icon": { - "id": "networks/ore", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "firehose": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "substreams": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } - }, - "metadata": { - "website": "https://ore.network/" - }, - "index": 58, - "testnets": [ - { - "id": "orestage", - "graph_id": null, - "name": "Ore Stage", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "supported_services": { - "rpc": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "firehose": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "substreams": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } - }, - "index": 59 - } - ], - "consensus": [], - "evms": [] - } -] diff --git a/data/chains/V2/chains-lock.orig.json b/data/chains/V2/chains-lock.orig.json deleted file mode 100644 index c913f77..0000000 --- a/data/chains/V2/chains-lock.orig.json +++ /dev/null @@ -1,2763 +0,0 @@ -[ - { - "id": "eth", - "graph_id": "mainnet", - "name": "Ethereum", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/ethereum", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "metadata": { - "website": "https://ethereum.org/" - }, - "index": 0, - "testnets": [ - { - "id": "holesky", - "graph_id": null, - "name": "Holesky", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 1 - }, - { - "id": "sepolia", - "graph_id": "sepolia", - "name": "Sepolia", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 2 - }, - { - "id": "goerli", - "graph_id": null, - "name": "Goerli", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "substreams": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "rpc": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } - }, - "index": 6 - } - ], - "consensus": [ - { - "id": "eth-cl", - "graph_id": null, - "name": "Ethereum Consensus Layer", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 3 - }, - { - "id": "holesky-cl", - "graph_id": null, - "name": "Holesky Consensus Layer", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 4 - }, - { - "id": "sepolia-cl", - "graph_id": null, - "name": "Sepolia Consensus Layer", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "index": 5 - }, - { - "id": "goerli-cl", - "graph_id": null, - "name": "Goerli Consensus Layer", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "substreams": { - "beta_released_at": "2023-03-08T00:00:00.000Z", - "full_released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } - }, - "index": 7 - } - ] - }, - { - "id": "bitcoin", - "graph_id": null, - "name": "Bitcoin", - "alt_names": ["btc"], - "standard": "brc20", - "block_type": { - "label": "sf.bitcoin.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" - }, - "icon": { - "id": "tokens/btc", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-03-21T00:00:00.000Z", - "full_released_at": "2023-03-21T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-03-21T00:00:00.000Z", - "full_released_at": "2023-03-21T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - } - }, - "metadata": { - "website": "https://bitcoin.org/" - }, - "index": 8 - }, - { - "id": "polygon", - "graph_id": "matic", - "name": "Polygon", - "alt_names": ["matic"], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/polygon-pos", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "beta_released_at": "2023-12-01T00:00:00.000Z", - "full_released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "metadata": { - "website": "https://polygon.technology/" - }, - "index": 9, - "testnets": [ - { - "id": "amoy", - "graph_id": "polygon-amoy", - "name": "Amoy", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-04-12T00:00:00.000Z", - "deprecated_at": null - } - } - }, - "index": 10 - }, - { - "id": "mumbai", - "graph_id": null, - "name": "Mumbai", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - } - }, - "rpc": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-04-12T00:00:00.000Z" - } - } - }, - "index": 11 - } - ] - }, - { - "id": "bsc", - "graph_id": "bsc", - "name": "BNB", - "alt_names": ["bsc", "binance"], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/binance-smart-chain", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://www.bnbchain.org/en/bnb-smart-chain" - }, - "index": 12, - "testnets": [ - { - "id": "chapel", - "graph_id": "chapel", - "name": "Chapel", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } - }, - "index": 13 - } - ] - }, - { - "id": "arbone", - "graph_id": "arbitrum-one", - "name": "Arbitrum One", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/arbi", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://arbitrum.io/" - }, - "index": 14, - "testnets": [ - { - "id": "arbgoerli", - "graph_id": null, - "name": "Arbitrum Goerli", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "index": 15 - }, - { - "id": "arbsepolia", - "graph_id": "arbitrum-sepolia", - "name": "Arbitrum Sepolia", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-05-03T00:00:00.000Z", - "deprecated_at": null - } - } - }, - "index": 16 - }, - { - "id": "chiado", - "graph_id": null, - "name": "Chiado", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "index": 18 - } - ], - "consensus": [ - { - "id": "chiado-cl", - "graph_id": null, - "name": "Chiado Consensus Layer", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - } - }, - "index": 17 - } - ] - }, - { - "id": "avalanche", - "graph_id": "avalanche", - "name": "Avalanche", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/avalanche", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://www.avax.network/" - }, - "index": 19 - }, - { - "id": "optimism", - "graph_id": "optimism", - "name": "Optimism", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/optimistic-ethereum", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://optimism.io/" - }, - "index": 20 - }, - { - "id": "base", - "graph_id": "base", - "name": "Base", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/base", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2024-03-06T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-03-06T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-03-06T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-03-06T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://www.base.org/" - }, - "index": 21 - }, - { - "id": "decimal", - "graph_id": null, - "name": "Decimal", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/del", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://www.decimalchain.com/" - }, - "index": 22 - }, - { - "id": "gnosis", - "graph_id": "gnosis", - "name": "Gnosis", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/gno", - "brand_theme": "dark", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://gnosis.io/" - }, - "index": 23, - "consensus": [ - { - "id": "gnosis-cl", - "graph_id": null, - "name": "Gnosis Consensus Layer", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-03-08T00:00:00.000Z", - "deprecated_at": null - } - } - }, - "index": 24 - } - ] - }, - { - "id": "fantom", - "graph_id": "fantom", - "name": "Fantom", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/fantom", - "brand_theme": "light", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://fantom.foundation/" - }, - "index": 25 - }, - { - "id": "celo", - "graph_id": "celo", - "name": "Celo", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/celo", - "brand_theme": "light", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://celo.org/" - }, - "index": 26, - "testnets": [ - { - "id": "alfajores", - "graph_id": null, - "name": "Alfajores", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "index": 27 - } - ] - }, - { - "id": "near", - "graph_id": "near-mainnet", - "name": "Near", - "alt_names": [], - "standard": "near", - "block_type": { - "label": "sf.near.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" - }, - "icon": { - "id": "tokens/near", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://near.org/" - }, - "index": 28, - "testnets": [ - { - "id": "neartest", - "graph_id": "near-testnet", - "name": "Near-testnet", - "alt_names": [], - "standard": "near", - "block_type": { - "label": "sf.near.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "index": 29 - } - ] - }, - { - "id": "arweave", - "graph_id": "arweave-mainnet", - "name": "Arweave", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.arweave.type.v1.Block", - "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" - }, - "icon": { - "id": "tokens/ar", - "brand_theme": "dark", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-03-03T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-03-03T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://arweave.org/" - }, - "index": 30 - }, - { - "id": "cosmoshub", - "graph_id": "cosmoshub-4", - "name": "Cosmos Hub", - "alt_names": [], - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" - }, - "icon": { - "id": "networks/cosmos", - "brand_theme": "dark", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://cosmos.network/" - }, - "index": 31, - "testnets": [ - { - "id": "theta", - "graph_id": "theta-testnet-001", - "name": "Theta", - "alt_names": [], - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "index": 32 - }, - { - "id": "juno", - "graph_id": null, - "name": "Juno", - "alt_names": [], - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": "2024-01-15T00:00:00.000Z" - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "index": 33 - } - ] - }, - { - "id": "osmosis", - "graph_id": "osmosis-1", - "name": "Osmosis", - "alt_names": [], - "standard": "cosmos", - "block_type": { - "label": "sf.cosmos.type.v1.Block", - "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" - }, - "icon": { - "id": "networks/osmosis", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2024-01-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://osmosis.zone/" - }, - "index": 34 - }, - { - "id": "moonbeam", - "graph_id": "moonbeam", - "name": "Moonbeam", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/moonbeam", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://moonbeam.network/" - }, - "index": 35 - }, - { - "id": "scroll", - "graph_id": "scroll", - "name": "Scroll", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/scroll", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://scroll.io/" - }, - "index": 36 - }, - { - "id": "starknet", - "graph_id": null, - "name": "Starknet", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/starknet", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://www.starknet.io/" - }, - "index": 37 - }, - { - "id": "eos", - "graph_id": null, - "name": "EOS", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "icon": { - "id": "tokens/eos", - "brand_theme": "light", - "variants": ["mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://eosnetwork.com/" - }, - "index": 38, - "evms": [ - { - "id": "eosevm", - "graph_id": null, - "name": "EOS EVM", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "index": 39 - } - ], - "testnets": [ - { - "id": "jungle4", - "graph_id": null, - "name": "Jungle4", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - } - }, - "index": 40 - }, - { - "id": "kylin", - "graph_id": null, - "name": "Kylin", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "index": 41 - } - ] - }, - { - "id": "wax", - "graph_id": null, - "name": "WAX", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "icon": { - "id": "tokens/waxp", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://wax.io/" - }, - "index": 42, - "testnets": [ - { - "id": "waxtest", - "graph_id": null, - "name": "WAX Test", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "index": 43 - } - ] - }, - { - "id": "telos", - "graph_id": null, - "name": "Telos", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "icon": { - "id": "networks/telos", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://telos.net/" - }, - "index": 44, - "testnets": [ - { - "id": "telostest", - "graph_id": null, - "name": "Telos Test", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - }, - "full": { - "released_at": "2023-12-01T00:00:00.000Z", - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "index": 45 - } - ] - }, - { - "id": "kava", - "graph_id": null, - "name": "Kava", - "alt_names": [], - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/kava", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "metadata": { - "website": "https://www.kava.io/" - }, - "index": 46 - }, - { - "id": "blast", - "name": "Blast Network", - "alt_names": [], - "graph_id": "blast-mainnet", - "index": 47, - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/blast", - "brand_theme": "light", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L2", - "website": "https://blast.io/en" - } - }, - { - "id": "boba", - "name": "Boba Network", - "alt_names": [], - "graph_id": "boba", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/boba", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L2", - "website": "https://boba.network/" - }, - "index": 48 - }, - { - "id": "cronos", - "name": "Cronos", - "alt_names": [], - "graph_id": null, - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/cronos", - "brand_theme": "dark", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "website": "https://cronos.org/" - }, - "index": 49 - }, - { - "id": "fuse", - "name": "Fuse", - "alt_names": [], - "graph_id": "fuse", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "tokens/fuse", - "brand_theme": "light", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L1", - "website": "https://fuse.io/" - }, - "index": 50 - }, - { - "id": "linea", - "name": "Linea", - "alt_names": [], - "graph_id": "linea", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/linea", - "brand_theme": "dark", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "website": "https://linea.build/" - }, - "index": 51 - }, - { - "id": "litecoin", - "name": "Litecoin", - "alt_names": ["LTC"], - "graph_id": null, - "standard": "ltc20", - "block_type": { - "label": "sf.litecoin.type.v1.Block", - "url": "https://buf.build/streamingfast/firehose-litecoin/docs/main:sf.litecoin.type.v1" - }, - "icon": { - "id": "tokens/ltc", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta": { - "released_at": null, - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L1", - "website": "https://litecoin.org/" - }, - "index": 52 - }, - { - "id": "mode", - "name": "Mode Network", - "alt_names": [], - "graph_id": "mode-mainnet", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/mode", - "brand_theme": "light", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L2", - "website": "https://www.mode.network/" - }, - "index": 53 - }, - { - "id": "xai", - "name": "XAI", - "alt_names": [], - "graph_id": null, - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/xai", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L3", - "website": "https://xai.games/" - }, - "index": 54 - }, - { - "id": "zkevm", - "name": "Astar zkEVM", - "alt_names": [], - "graph_id": null, - "standard": "erc20", - "block_type": { - "label": "sf.zkevm.type.v1.Block", - "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" - }, - "icon": { - "id": "networks/astar", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "testnets": [ - { - "id": "zkyoto", - "name": "Astar zKyoto", - "alt_names": [], - "graph_id": "zkyoto-testnet", - "standard": "erc20", - "block_type": { - "label": "sf.zkevm.type.v1.Block", - "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" - }, - "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "index": 56 - } - ], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L2", - "website": "https://astar.network/" - }, - "index": 55 - }, - { - "id": "zora", - "name": "Zora Network", - "alt_names": [], - "graph_id": null, - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "icon": { - "id": "networks/zora", - "brand_theme": "both", - "variants": ["branded"] - }, - "supported_services": { - "rpc": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "firehose": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - }, - "substreams": { - "beta": { - "released_at": "2024-05-14T00:00:00Z", - "deprecated_at": null - }, - "full": { - "released_at": null, - "deprecated_at": null - } - } - }, - "testnets": [], - "consensus": [], - "evms": [], - "metadata": { - "layer": "L2", - "website": "https://zora.co/" - }, - "index": 57 - }, - { - "id": "ore", - "graph_id": null, - "name": "Ore", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "icon": { - "id": "networks/ore", - "brand_theme": "both", - "variants": ["branded", "mono"] - }, - "supported_services": { - "rpc": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "firehose": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "substreams": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } - }, - "metadata": { - "website": "https://ore.network/" - }, - "index": 58, - "testnets": [ - { - "id": "orestage", - "graph_id": null, - "name": "Ore Stage", - "alt_names": [], - "standard": "antelope", - "block_type": { - "label": "sf.antelope.type.v1.Block", - "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" - }, - "supported_services": { - "rpc": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "firehose": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - }, - "substreams": { - "beta_released_at": "2023-03-01T00:00:00.000Z", - "full_released_at": "2023-03-01T00:00:00.000Z", - "deprecated_at": "2023-03-21T00:00:00.000Z" - } - }, - "index": 59 - } - ] - } -] diff --git a/data/chains/V2/chains.json b/data/chains/V2/chains.json index 004984a..60ec696 100644 --- a/data/chains/V2/chains.json +++ b/data/chains/V2/chains.json @@ -19,19 +19,19 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null } }, @@ -52,20 +52,20 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" - }, "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null } }, "index": 1 @@ -82,20 +82,20 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" - }, "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null } }, "index": 2 @@ -112,20 +112,20 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" - }, "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" }, "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" + }, + "rpc": { + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" } }, "index": 6 @@ -145,13 +145,13 @@ }, "supported_services": { "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null } }, @@ -170,13 +170,13 @@ }, "supported_services": { "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null } }, @@ -195,13 +195,13 @@ }, "supported_services": { "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null } }, @@ -220,14 +220,14 @@ }, "supported_services": { "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", - "deprecated_at": null + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" }, "substreams": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", - "deprecated_at": null + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" } }, "index": 7 @@ -252,19 +252,19 @@ "brand_theme": "both" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-03-21T00:00:00.000Z", + "full_released_at": "2023-03-21T00:00:00.000Z", "deprecated_at": null }, "substreams": { + "beta_released_at": "2023-03-21T00:00:00.000Z", + "full_released_at": "2023-03-21T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "full_released_at": null, "deprecated_at": null } }, @@ -295,19 +295,19 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null } }, @@ -328,19 +328,19 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-04-12T00:00:00.000Z", + "full_released_at": "2024-04-12T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-04-12T00:00:00.000Z", + "full_released_at": "2024-04-12T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2024-04-12T00:00:00.000Z", + "full_released_at": "2024-04-12T00:00:00.000Z", "deprecated_at": null } }, @@ -358,20 +358,20 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" - }, "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" }, "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-04-12T00:00:00.000Z" } }, "index": 11 @@ -401,19 +401,19 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null } }, @@ -434,19 +434,19 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null } }, @@ -470,18 +470,18 @@ "brand_theme": "both" }, "supported_services": { - "rpc": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "firehose": { + "beta_released_at": "2024-06-10T00:00:00.000Z", "full_released_at": null, "deprecated_at": null }, - "firehose": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "substreams": { + "beta_released_at": "2024-06-10T00:00:00.000Z", "full_released_at": null, "deprecated_at": null }, - "substreams": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "rpc": { + "beta_released_at": "2024-06-10T00:00:00.000Z", "full_released_at": null, "deprecated_at": null } @@ -503,20 +503,20 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null + "beta_released_at": "2024-05-03T00:00:00.000Z", + "full_released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": "2024-05-03T00:00:00.000Z" }, "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null + "beta_released_at": "2024-05-03T00:00:00.000Z", + "full_released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": "2024-05-03T00:00:00.000Z" + }, + "rpc": { + "beta_released_at": "2024-05-03T00:00:00.000Z", + "full_released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": "2024-05-03T00:00:00.000Z" } }, "index": 15 @@ -533,19 +533,19 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-05-03T00:00:00.000Z", + "full_released_at": "2024-05-03T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-05-03T00:00:00.000Z", + "full_released_at": "2024-05-03T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2024-05-03T00:00:00.000Z", + "full_released_at": "2024-05-03T00:00:00.000Z", "deprecated_at": null } }, @@ -563,18 +563,18 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": { + "firehose": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "firehose": { + "substreams": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "substreams": { - "beta_released_at": null, + "rpc": { + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null } @@ -596,13 +596,13 @@ }, "supported_services": { "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", + "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", + "full_released_at": null, "deprecated_at": null } }, @@ -626,18 +626,18 @@ "brand_theme": "both" }, "supported_services": { - "rpc": { - "beta_released_at": null, + "firehose": { + "beta_released_at": "2024-08-01T00:00:00.000Z", "full_released_at": null, "deprecated_at": null }, - "firehose": { - "beta_released_at": null, + "substreams": { + "beta_released_at": "2024-08-01T00:00:00.000Z", "full_released_at": null, "deprecated_at": null }, - "substreams": { - "beta_released_at": null, + "rpc": { + "beta_released_at": "2024-08-01T00:00:00.000Z", "full_released_at": null, "deprecated_at": null } @@ -667,19 +667,19 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-01-01T00:00:00.000Z", + "full_released_at": "2024-01-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { + "beta_released_at": "2024-01-01T00:00:00.000Z", + "full_released_at": "2024-01-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "full_released_at": null, "deprecated_at": null } }, @@ -704,19 +704,19 @@ "brand_theme": "both" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-03-06T00:00:00.000Z", + "full_released_at": "2024-03-06T00:00:00.000Z", "deprecated_at": null }, "substreams": { + "beta_released_at": "2024-03-06T00:00:00.000Z", + "full_released_at": "2024-03-06T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "full_released_at": null, "deprecated_at": null } }, @@ -745,19 +745,19 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "full_released_at": null, "deprecated_at": null } }, @@ -778,19 +778,19 @@ "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "full_released_at": null, "deprecated_at": null } }, @@ -818,17 +818,17 @@ ] }, "supported_services": { - "rpc": { + "firehose": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "firehose": { + "substreams": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "substreams": { + "rpc": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null @@ -859,20 +859,20 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": "2024-07-19T15:41:48.331Z", - "full_released_at": null, - "deprecated_at": null - }, "firehose": { "beta_released_at": null, "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "deprecated_at": null }, "substreams": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2024-08-01T00:00:000Z", + "full_released_at": null, + "deprecated_at": null } }, "metadata": { @@ -900,11 +900,6 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": "2024-07-19T15:41:48.331Z", - "full_released_at": null, - "deprecated_at": null - }, "firehose": { "beta_released_at": null, "full_released_at": null, @@ -914,6 +909,11 @@ "beta_released_at": null, "full_released_at": null, "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2024-08-01T00:00:000Z", + "full_released_at": null, + "deprecated_at": null } }, "metadata": { @@ -934,13 +934,13 @@ }, "supported_services": { "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-03-08T00:00:00.000Z", + "full_released_at": "2023-03-08T00:00:00.000Z", "deprecated_at": null } }, @@ -968,11 +968,6 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": "2024-07-19T15:41:48.331Z", - "full_released_at": null, - "deprecated_at": null - }, "firehose": { "beta_released_at": null, "full_released_at": null, @@ -982,6 +977,11 @@ "beta_released_at": null, "full_released_at": null, "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2024-08-01T00:00:000Z", + "full_released_at": null, + "deprecated_at": null } }, "metadata": { @@ -1009,17 +1009,17 @@ ] }, "supported_services": { - "rpc": { + "firehose": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "firehose": { + "substreams": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "substreams": { + "rpc": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null @@ -1042,17 +1042,17 @@ "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": { + "firehose": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "firehose": { + "substreams": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "substreams": { + "rpc": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null @@ -1082,19 +1082,19 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-03-03T00:00:00.000Z", + "full_released_at": "2024-03-03T00:00:00.000Z", "deprecated_at": null }, "substreams": { + "beta_released_at": "2024-03-03T00:00:00.000Z", + "full_released_at": "2024-03-03T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "full_released_at": null, "deprecated_at": null } }, @@ -1123,17 +1123,17 @@ ] }, "supported_services": { - "rpc": { + "firehose": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "firehose": { + "substreams": { "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "full_released_at": null, "deprecated_at": null }, - "substreams": { + "rpc": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null @@ -1156,17 +1156,17 @@ "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null }, "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null @@ -1186,17 +1186,17 @@ "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": "2024-01-15T00:00:00.000Z" + }, + "substreams": { "beta_released_at": null, "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "deprecated_at": null }, - "substreams": { + "rpc": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null @@ -1226,17 +1226,17 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, + "firehose": { + "beta_released_at": "2024-01-01T00:00:00.000Z", + "full_released_at": "2024-01-01T00:00:00.000Z", "deprecated_at": null }, - "firehose": { + "substreams": { "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "full_released_at": null, "deprecated_at": null }, - "substreams": { + "rpc": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null @@ -1267,18 +1267,18 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": null, + "firehose": { + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, - "firehose": { - "beta_released_at": null, + "substreams": { + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, - "substreams": { - "beta_released_at": null, + "rpc": { + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null } @@ -1308,18 +1308,18 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": null, + "firehose": { + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, - "firehose": { - "beta_released_at": null, + "substreams": { + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, - "substreams": { - "beta_released_at": null, + "rpc": { + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null } @@ -1349,18 +1349,18 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": null, + "firehose": { + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, - "firehose": { - "beta_released_at": null, + "substreams": { + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, - "substreams": { - "beta_released_at": null, + "rpc": { + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null } @@ -1389,17 +1389,17 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null }, "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null @@ -1416,23 +1416,24 @@ "name": "EOS EVM", "alt_names": [], "standard": "erc20", + "rpc_poller": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" }, "supported_services": { - "rpc": { - "beta_released_at": null, + "firehose": { + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, - "firehose": { - "beta_released_at": null, + "substreams": { + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "deprecated_at": null }, - "substreams": { - "beta_released_at": null, + "rpc": { + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null } @@ -1453,19 +1454,19 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": null, + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null } }, @@ -1483,17 +1484,17 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null }, "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null @@ -1523,19 +1524,19 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "full_released_at": null, "deprecated_at": null } }, @@ -1556,19 +1557,19 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "full_released_at": null, "deprecated_at": null } }, @@ -1596,17 +1597,17 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": null, + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null @@ -1629,19 +1630,19 @@ "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" }, "supported_services": { - "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": null - }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", "deprecated_at": null }, "substreams": { + "beta_released_at": "2023-12-01T00:00:00.000Z", + "full_released_at": "2023-12-01T00:00:00.000Z", + "deprecated_at": null + }, + "rpc": { "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "full_released_at": null, "deprecated_at": null } }, @@ -1669,17 +1670,17 @@ ] }, "supported_services": { - "rpc": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "firehose": { + "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "firehose": { + "substreams": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "substreams": { + "rpc": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null @@ -1712,22 +1713,53 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null } }, - "testnets": [], + "testnets": [ + { + "id": "blastsepolia", + "name": "Blast Network Sepolia", + "alt_names": [], + "graph_id": "blast-testnet", + "index": 49, + "standard": "erc20", + "rpc_poller": true, + "block_type": { + "label": "sf.ethereum.type.v2.Block", + "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" + }, + "supported_services": { + "rpc": { + "beta_released_at": "2024-08-01T00:00:000Z", + "full_released_at": null, + "deprecated_at": null + }, + "firehose": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + }, + "substreams": { + "beta_released_at": null, + "full_released_at": null, + "deprecated_at": null + } + } + } + ], "consensus": [], "evms": [], "metadata": { @@ -1756,17 +1788,17 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null } @@ -1785,22 +1817,22 @@ }, "supported_services": { "rpc": { - "beta_released_at": null, + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": null, + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": null, + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null } }, - "index": 50 + "index": 51 } ], "consensus": [], @@ -1809,7 +1841,7 @@ "layer": "L2", "website": "https://boba.network/" }, - "index": 49 + "index": 50 }, { "id": "cronos", @@ -1832,14 +1864,14 @@ }, "supported_services": { "rpc": { - "beta_released_at": null, + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, "firehose": { "beta_released_at": null, "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "deprecated_at": null }, "substreams": { "beta_released_at": null, @@ -1853,7 +1885,7 @@ "metadata": { "website": "https://cronos.org/" }, - "index": 51 + "index": 52 }, { "id": "fuse", @@ -1876,17 +1908,17 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null } @@ -1898,7 +1930,7 @@ "layer": "L1", "website": "https://fuse.io/" }, - "index": 52 + "index": 53 }, { "id": "linea", @@ -1921,17 +1953,17 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:00Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:00Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:00Z", "full_released_at": null, "deprecated_at": null } @@ -1942,7 +1974,7 @@ "metadata": { "website": "https://linea.build/" }, - "index": 53 + "index": 54 }, { "id": "litecoin", @@ -1972,12 +2004,12 @@ "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": null, "full_released_at": null, "deprecated_at": null } @@ -1989,7 +2021,7 @@ "layer": "L1", "website": "https://litecoin.org/" }, - "index": 54 + "index": 55 }, { "id": "mode", @@ -2012,17 +2044,17 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-05-14T00:00:00Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-05-14T00:00:00Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-05-14T00:00:00Z", "full_released_at": null, "deprecated_at": null } @@ -2034,7 +2066,7 @@ "layer": "L2", "website": "https://www.mode.network/" }, - "index": 55 + "index": 56 }, { "id": "ronin", @@ -2056,17 +2088,17 @@ ] }, "supported_services": { - "rpc": { + "firehose": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "firehose": { + "substreams": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "substreams": { + "rpc": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null @@ -2075,7 +2107,7 @@ "metadata": { "website": "https://roninchain.com/" }, - "index": 56 + "index": 57 }, { "id": "sei", @@ -2097,17 +2129,17 @@ ] }, "supported_services": { - "rpc": { + "firehose": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "firehose": { + "substreams": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "substreams": { + "rpc": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null @@ -2116,7 +2148,7 @@ "metadata": { "website": "https://www.sei.io/" }, - "index": 57 + "index": 58 }, { "id": "xai", @@ -2139,18 +2171,18 @@ }, "supported_services": { "rpc": { - "beta_released_at": null, + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", + "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": null, - "full_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", + "full_released_at": null, "deprecated_at": null } }, @@ -2161,7 +2193,7 @@ "layer": "L3", "website": "https://xai.games/" }, - "index": 58 + "index": 59 }, { "id": "zkastar", @@ -2184,17 +2216,17 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": null, "full_released_at": null, "deprecated_at": null } @@ -2213,22 +2245,22 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": null, "full_released_at": null, "deprecated_at": null } }, - "index": 60 + "index": 61 }, { "id": "zkyoto", @@ -2243,22 +2275,22 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": null, "full_released_at": null, "deprecated_at": null } }, - "index": 61 + "index": 62 } ], "consensus": [], @@ -2267,7 +2299,7 @@ "layer": "L2", "website": "https://astar.network/" }, - "index": 59 + "index": 60 }, { "id": "x-layer", @@ -2289,17 +2321,17 @@ ] }, "supported_services": { - "rpc": { + "firehose": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "firehose": { + "substreams": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null }, - "substreams": { + "rpc": { "beta_released_at": null, "full_released_at": null, "deprecated_at": null @@ -2308,7 +2340,7 @@ "metadata": { "website": "https://www.okx.com/fr/xlayer" }, - "index": 62 + "index": 63 }, { "id": "zksync", @@ -2352,7 +2384,7 @@ "zk" ] }, - "index": 63 + "index": 64 }, { "id": "zora", @@ -2374,17 +2406,17 @@ }, "supported_services": { "rpc": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, "firehose": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null }, "substreams": { - "beta_released_at": "2024-07-19T15:41:48.331Z", + "beta_released_at": "2024-08-01T00:00:000Z", "full_released_at": null, "deprecated_at": null } @@ -2396,7 +2428,7 @@ "layer": "L2", "website": "https://zora.co/" }, - "index": 64 + "index": 65 }, { "id": "ore", @@ -2419,25 +2451,25 @@ }, "supported_services": { "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" }, "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" }, "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" } }, "metadata": { "website": "https://ore.network/" }, - "index": 65, + "index": 66, "testnets": [ { "id": "orestage", @@ -2452,22 +2484,22 @@ }, "supported_services": { "rpc": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" }, "firehose": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" }, "substreams": { - "beta_released_at": null, - "full_released_at": null, - "deprecated_at": "2024-07-19T15:41:48.331Z" + "beta_released_at": "2023-03-01T00:00:00.000Z", + "full_released_at": "2023-03-01T00:00:00.000Z", + "deprecated_at": "2023-03-21T00:00:00.000Z" } }, - "index": 66 + "index": 67 } ] } diff --git a/data/chains/V2/cosmoshub/meta.ts b/data/chains/V2/cosmoshub/meta.ts index 33b347e..d680bbc 100644 --- a/data/chains/V2/cosmoshub/meta.ts +++ b/data/chains/V2/cosmoshub/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'released', - substreams: 'unreleased', + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://cosmos.network/', diff --git a/data/chains/V2/cosmoshub/testnets/juno/meta.ts b/data/chains/V2/cosmoshub/testnets/juno/meta.ts index 26d5645..13162df 100644 --- a/data/chains/V2/cosmoshub/testnets/juno/meta.ts +++ b/data/chains/V2/cosmoshub/testnets/juno/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', }, supported_services: { - rpc: 'unreleased', - firehose: 'deprecated', - substreams: 'unreleased', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-01-15T00:00:00.000Z', + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/cosmoshub/testnets/theta/meta.ts b/data/chains/V2/cosmoshub/testnets/theta/meta.ts index b0f7855..76f77bb 100644 --- a/data/chains/V2/cosmoshub/testnets/theta/meta.ts +++ b/data/chains/V2/cosmoshub/testnets/theta/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', }, supported_services: { - rpc: 'unreleased', - firehose: 'deprecated', - substreams: 'unreleased', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/cronos/meta.ts b/data/chains/V2/cronos/meta.ts index 771e632..198e816 100644 --- a/data/chains/V2/cronos/meta.ts +++ b/data/chains/V2/cronos/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'deprecated', - substreams: 'unreleased', + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, testnets: [], consensus: [], diff --git a/data/chains/V2/decimal/meta.ts b/data/chains/V2/decimal/meta.ts index 14e54a8..2b91a60 100644 --- a/data/chains/V2/decimal/meta.ts +++ b/data/chains/V2/decimal/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'beta', - firehose: 'deprecated', - substreams: 'unreleased', + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://www.decimalchain.com/', diff --git a/data/chains/V2/eos/evms/eosevm/meta.ts b/data/chains/V2/eos/evms/eosevm/meta.ts index e21c652..9327dd2 100644 --- a/data/chains/V2/eos/evms/eosevm/meta.ts +++ b/data/chains/V2/eos/evms/eosevm/meta.ts @@ -6,14 +6,27 @@ const meta: ___InternalEVM = { name: 'EOS EVM', alt_names: [], standard: 'erc20', + rpc_poller: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - rpc: 'unreleased', - firehose: 'deprecated', - substreams: 'unreleased', + firehose: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/eos/meta.ts b/data/chains/V2/eos/meta.ts index 77c99b6..95a8769 100644 --- a/data/chains/V2/eos/meta.ts +++ b/data/chains/V2/eos/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'deprecated', - substreams: 'unreleased', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://eosnetwork.com/', diff --git a/data/chains/V2/eos/testnets/jungle4/meta.ts b/data/chains/V2/eos/testnets/jungle4/meta.ts index 7810c30..f7b8580 100644 --- a/data/chains/V2/eos/testnets/jungle4/meta.ts +++ b/data/chains/V2/eos/testnets/jungle4/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', }, supported_services: { - rpc: 'unreleased', - firehose: 'deprecated', - substreams: 'unreleased', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/eos/testnets/kylin/meta.ts b/data/chains/V2/eos/testnets/kylin/meta.ts index 2090bfa..4c18867 100644 --- a/data/chains/V2/eos/testnets/kylin/meta.ts +++ b/data/chains/V2/eos/testnets/kylin/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', }, supported_services: { - rpc: 'unreleased', - firehose: 'deprecated', - substreams: 'unreleased', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/eth/consensus/eth-cl/meta.ts b/data/chains/V2/eth/consensus/eth-cl/meta.ts index f456597..0afd173 100644 --- a/data/chains/V2/eth/consensus/eth-cl/meta.ts +++ b/data/chains/V2/eth/consensus/eth-cl/meta.ts @@ -12,8 +12,16 @@ const meta: ___InternalConsensusLayer = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-03-08T00:00:00.000Z', + full_released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-03-08T00:00:00.000Z', + full_released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/eth/consensus/goerli-cl/meta.ts b/data/chains/V2/eth/consensus/goerli-cl/meta.ts index a75f5ce..99f8062 100644 --- a/data/chains/V2/eth/consensus/goerli-cl/meta.ts +++ b/data/chains/V2/eth/consensus/goerli-cl/meta.ts @@ -12,8 +12,16 @@ const meta: ___InternalConsensusLayer = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-03-08T00:00:00.000Z', + full_released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, + substreams: { + beta_released_at: '2023-03-08T00:00:00.000Z', + full_released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, }, }; diff --git a/data/chains/V2/eth/consensus/holesky-cl/meta.ts b/data/chains/V2/eth/consensus/holesky-cl/meta.ts index d7e5736..37a22e1 100644 --- a/data/chains/V2/eth/consensus/holesky-cl/meta.ts +++ b/data/chains/V2/eth/consensus/holesky-cl/meta.ts @@ -12,8 +12,16 @@ const meta: ___InternalConsensusLayer = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-03-08T00:00:00.000Z', + full_released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-03-08T00:00:00.000Z', + full_released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/eth/consensus/sepolia-cl/meta.ts b/data/chains/V2/eth/consensus/sepolia-cl/meta.ts index 78852c6..9d45bd1 100644 --- a/data/chains/V2/eth/consensus/sepolia-cl/meta.ts +++ b/data/chains/V2/eth/consensus/sepolia-cl/meta.ts @@ -12,8 +12,16 @@ const meta: ___InternalConsensusLayer = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-03-08T00:00:00.000Z', + full_released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-03-08T00:00:00.000Z', + full_released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/eth/meta.ts b/data/chains/V2/eth/meta.ts index 4ea7359..dc64557 100644 --- a/data/chains/V2/eth/meta.ts +++ b/data/chains/V2/eth/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'released', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, metadata: { website: 'https://ethereum.org/', diff --git a/data/chains/V2/eth/testnets/goerli/meta.ts b/data/chains/V2/eth/testnets/goerli/meta.ts index 2e5d5ab..bd38a95 100644 --- a/data/chains/V2/eth/testnets/goerli/meta.ts +++ b/data/chains/V2/eth/testnets/goerli/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - rpc: 'deprecated', - firehose: 'deprecated', - substreams: 'deprecated', + firehose: { + beta_released_at: '2023-03-01T00:00:00.000Z', + full_released_at: '2023-03-01T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, + substreams: { + beta_released_at: '2023-03-01T00:00:00.000Z', + full_released_at: '2023-03-01T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, + rpc: { + beta_released_at: '2023-03-01T00:00:00.000Z', + full_released_at: '2023-03-01T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, }, }; diff --git a/data/chains/V2/eth/testnets/holesky/meta.ts b/data/chains/V2/eth/testnets/holesky/meta.ts index 40b2425..4cfa522 100644 --- a/data/chains/V2/eth/testnets/holesky/meta.ts +++ b/data/chains/V2/eth/testnets/holesky/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - rpc: 'deprecated', - firehose: 'deprecated', - substreams: 'deprecated', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/eth/testnets/sepolia/meta.ts b/data/chains/V2/eth/testnets/sepolia/meta.ts index a61c306..b87d542 100644 --- a/data/chains/V2/eth/testnets/sepolia/meta.ts +++ b/data/chains/V2/eth/testnets/sepolia/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - rpc: 'deprecated', - firehose: 'deprecated', - substreams: 'deprecated', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/fantom/meta.ts b/data/chains/V2/fantom/meta.ts index 51777bb..8cbd4eb 100644 --- a/data/chains/V2/fantom/meta.ts +++ b/data/chains/V2/fantom/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'beta', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://fantom.foundation/', diff --git a/data/chains/V2/fuse/meta.ts b/data/chains/V2/fuse/meta.ts index f1578be..4ded49b 100644 --- a/data/chains/V2/fuse/meta.ts +++ b/data/chains/V2/fuse/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'beta', - firehose: 'beta', - substreams: 'beta', + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, testnets: [], consensus: [], diff --git a/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts b/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts index bec80c6..1cc42ab 100644 --- a/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts +++ b/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts @@ -12,8 +12,16 @@ const meta: ___InternalConsensusLayer = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts b/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts index bf52a53..323a602 100644 --- a/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts +++ b/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts @@ -12,8 +12,16 @@ const meta: ___InternalConsensusLayer = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-03-08T00:00:00.000Z', + full_released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-03-08T00:00:00.000Z', + full_released_at: '2023-03-08T00:00:00.000Z', + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/gnosis/meta.ts b/data/chains/V2/gnosis/meta.ts index 3f69feb..c3e49fb 100644 --- a/data/chains/V2/gnosis/meta.ts +++ b/data/chains/V2/gnosis/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'beta', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://gnosis.io/', diff --git a/data/chains/V2/gnosis/testnets/chiado/meta.ts b/data/chains/V2/gnosis/testnets/chiado/meta.ts index 3d346b7..4d31833 100644 --- a/data/chains/V2/gnosis/testnets/chiado/meta.ts +++ b/data/chains/V2/gnosis/testnets/chiado/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/index.ts b/data/chains/V2/index.ts index 027b687..6d65252 100644 --- a/data/chains/V2/index.ts +++ b/data/chains/V2/index.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 7/19/2024, 11:41:48 AM. +// Last generation on 8/1/2024, 5:03:23 PM. export { default as arbone } from './arbone/meta'; export { default as arbgoerli } from './arbone/testnets/arbgoerli/meta'; @@ -10,6 +10,7 @@ export { default as avalanche } from './avalanche/meta'; export { default as base } from './base/meta'; export { default as bitcoin } from './bitcoin/meta'; export { default as blast } from './blast/meta'; +export { default as blastsepolia } from './blast/testnets/blastsepolia/meta'; export { default as boba } from './boba/meta'; export { default as bobasepolia } from './boba/testnets/bobasepolia/meta'; export { default as bsc } from './bsc/meta'; diff --git a/data/chains/V2/kava/meta.ts b/data/chains/V2/kava/meta.ts index 97a0e9a..339cbf7 100644 --- a/data/chains/V2/kava/meta.ts +++ b/data/chains/V2/kava/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'beta', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://www.kava.io/', diff --git a/data/chains/V2/linea/meta.ts b/data/chains/V2/linea/meta.ts index ff5aacd..8db8237 100644 --- a/data/chains/V2/linea/meta.ts +++ b/data/chains/V2/linea/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'beta', - firehose: 'beta', - substreams: 'beta', + rpc: { + beta_released_at: '2024-08-01T00:00:00Z', + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: '2024-08-01T00:00:00Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-08-01T00:00:00Z', + full_released_at: null, + deprecated_at: null, + }, }, testnets: [], consensus: [], diff --git a/data/chains/V2/litecoin/meta.ts b/data/chains/V2/litecoin/meta.ts index f3e5466..84cd2e6 100644 --- a/data/chains/V2/litecoin/meta.ts +++ b/data/chains/V2/litecoin/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'beta', - substreams: 'beta', + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, testnets: [], consensus: [], diff --git a/data/chains/V2/mode/meta.ts b/data/chains/V2/mode/meta.ts index 24ff79f..e413e93 100644 --- a/data/chains/V2/mode/meta.ts +++ b/data/chains/V2/mode/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'beta', - firehose: 'beta', - substreams: 'beta', + rpc: { + beta_released_at: '2024-05-14T00:00:00Z', + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: '2024-05-14T00:00:00Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-05-14T00:00:00Z', + full_released_at: null, + deprecated_at: null, + }, }, testnets: [], consensus: [], diff --git a/data/chains/V2/moonbeam/meta.ts b/data/chains/V2/moonbeam/meta.ts index 472f24b..bce10fb 100644 --- a/data/chains/V2/moonbeam/meta.ts +++ b/data/chains/V2/moonbeam/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://moonbeam.network/', diff --git a/data/chains/V2/near/meta.ts b/data/chains/V2/near/meta.ts index e34abd1..5a1ccdb 100644 --- a/data/chains/V2/near/meta.ts +++ b/data/chains/V2/near/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://near.org/', diff --git a/data/chains/V2/near/testnets/neartest/meta.ts b/data/chains/V2/near/testnets/neartest/meta.ts index b995178..d91e9ab 100644 --- a/data/chains/V2/near/testnets/neartest/meta.ts +++ b/data/chains/V2/near/testnets/neartest/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1', }, supported_services: { - rpc: 'unreleased', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/optimism/meta.ts b/data/chains/V2/optimism/meta.ts index 00ce1ed..1f8f910 100644 --- a/data/chains/V2/optimism/meta.ts +++ b/data/chains/V2/optimism/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2024-01-01T00:00:00.000Z', + full_released_at: '2024-01-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-01-01T00:00:00.000Z', + full_released_at: '2024-01-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://optimism.io/', diff --git a/data/chains/V2/ore/meta.ts b/data/chains/V2/ore/meta.ts index 453b865..9e03bb2 100644 --- a/data/chains/V2/ore/meta.ts +++ b/data/chains/V2/ore/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'deprecated', - firehose: 'deprecated', - substreams: 'deprecated', + rpc: { + beta_released_at: '2023-03-01T00:00:00.000Z', + full_released_at: '2023-03-01T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, + firehose: { + beta_released_at: '2023-03-01T00:00:00.000Z', + full_released_at: '2023-03-01T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, + substreams: { + beta_released_at: '2023-03-01T00:00:00.000Z', + full_released_at: '2023-03-01T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, }, metadata: { website: 'https://ore.network/', diff --git a/data/chains/V2/ore/testnets/orestage/meta.ts b/data/chains/V2/ore/testnets/orestage/meta.ts index 5b90b72..6493731 100644 --- a/data/chains/V2/ore/testnets/orestage/meta.ts +++ b/data/chains/V2/ore/testnets/orestage/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', }, supported_services: { - rpc: 'deprecated', - firehose: 'deprecated', - substreams: 'deprecated', + rpc: { + beta_released_at: '2023-03-01T00:00:00.000Z', + full_released_at: '2023-03-01T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, + firehose: { + beta_released_at: '2023-03-01T00:00:00.000Z', + full_released_at: '2023-03-01T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, + substreams: { + beta_released_at: '2023-03-01T00:00:00.000Z', + full_released_at: '2023-03-01T00:00:00.000Z', + deprecated_at: '2023-03-21T00:00:00.000Z', + }, }, }; diff --git a/data/chains/V2/osmosis/meta.ts b/data/chains/V2/osmosis/meta.ts index 291400a..37cce30 100644 --- a/data/chains/V2/osmosis/meta.ts +++ b/data/chains/V2/osmosis/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'released', - substreams: 'unreleased', + firehose: { + beta_released_at: '2024-01-01T00:00:00.000Z', + full_released_at: '2024-01-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://osmosis.zone/', diff --git a/data/chains/V2/polygon/meta.ts b/data/chains/V2/polygon/meta.ts index d791722..ae1cd77 100644 --- a/data/chains/V2/polygon/meta.ts +++ b/data/chains/V2/polygon/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'released', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, }, metadata: { website: 'https://polygon.technology/', diff --git a/data/chains/V2/polygon/testnets/amoy/meta.ts b/data/chains/V2/polygon/testnets/amoy/meta.ts index 7f5c410..20662ca 100644 --- a/data/chains/V2/polygon/testnets/amoy/meta.ts +++ b/data/chains/V2/polygon/testnets/amoy/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - rpc: 'released', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2024-04-12T00:00:00.000Z', + full_released_at: '2024-04-12T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-04-12T00:00:00.000Z', + full_released_at: '2024-04-12T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: '2024-04-12T00:00:00.000Z', + full_released_at: '2024-04-12T00:00:00.000Z', + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/polygon/testnets/mumbai/meta.ts b/data/chains/V2/polygon/testnets/mumbai/meta.ts index adc4b61..8d4977f 100644 --- a/data/chains/V2/polygon/testnets/mumbai/meta.ts +++ b/data/chains/V2/polygon/testnets/mumbai/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', }, supported_services: { - rpc: 'deprecated', - firehose: 'deprecated', - substreams: 'deprecated', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-04-12T00:00:00.000Z', + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-04-12T00:00:00.000Z', + }, + rpc: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: '2024-04-12T00:00:00.000Z', + }, }, }; diff --git a/data/chains/V2/ronin/meta.ts b/data/chains/V2/ronin/meta.ts index ed9583c..07689f1 100644 --- a/data/chains/V2/ronin/meta.ts +++ b/data/chains/V2/ronin/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://roninchain.com/', diff --git a/data/chains/V2/scroll/meta.ts b/data/chains/V2/scroll/meta.ts index e572ab6..4f2f9b7 100644 --- a/data/chains/V2/scroll/meta.ts +++ b/data/chains/V2/scroll/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://scroll.io/', diff --git a/data/chains/V2/sei/meta.ts b/data/chains/V2/sei/meta.ts index e01bb9c..153ca71 100644 --- a/data/chains/V2/sei/meta.ts +++ b/data/chains/V2/sei/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://www.sei.io/', diff --git a/data/chains/V2/starknet/meta.ts b/data/chains/V2/starknet/meta.ts index bc3b7b3..d201222 100644 --- a/data/chains/V2/starknet/meta.ts +++ b/data/chains/V2/starknet/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://www.starknet.io/', diff --git a/data/chains/V2/telos/meta.ts b/data/chains/V2/telos/meta.ts index adb707c..408c505 100644 --- a/data/chains/V2/telos/meta.ts +++ b/data/chains/V2/telos/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://telos.net/', diff --git a/data/chains/V2/telos/testnets/telostest/meta.ts b/data/chains/V2/telos/testnets/telostest/meta.ts index 34366b0..55f7b22 100644 --- a/data/chains/V2/telos/testnets/telostest/meta.ts +++ b/data/chains/V2/telos/testnets/telostest/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', }, supported_services: { - rpc: 'unreleased', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/wax/meta.ts b/data/chains/V2/wax/meta.ts index 3e14561..96c8e26 100644 --- a/data/chains/V2/wax/meta.ts +++ b/data/chains/V2/wax/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://wax.io/', diff --git a/data/chains/V2/wax/testnets/waxtest/meta.ts b/data/chains/V2/wax/testnets/waxtest/meta.ts index d9a1acd..d163a18 100644 --- a/data/chains/V2/wax/testnets/waxtest/meta.ts +++ b/data/chains/V2/wax/testnets/waxtest/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', }, supported_services: { - rpc: 'unreleased', - firehose: 'released', - substreams: 'released', + firehose: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + substreams: { + beta_released_at: '2023-12-01T00:00:00.000Z', + full_released_at: '2023-12-01T00:00:00.000Z', + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/x-layer/meta.ts b/data/chains/V2/x-layer/meta.ts index a062969..14a3cb8 100644 --- a/data/chains/V2/x-layer/meta.ts +++ b/data/chains/V2/x-layer/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://www.okx.com/fr/xlayer', diff --git a/data/chains/V2/xai/meta.ts b/data/chains/V2/xai/meta.ts index 5fac7cf..e876306 100644 --- a/data/chains/V2/xai/meta.ts +++ b/data/chains/V2/xai/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'released', - substreams: 'released', + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, testnets: [], consensus: [], diff --git a/data/chains/V2/zkastar/meta.ts b/data/chains/V2/zkastar/meta.ts index 75ed9de..f8ed5c8 100644 --- a/data/chains/V2/zkastar/meta.ts +++ b/data/chains/V2/zkastar/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'beta', - firehose: 'beta', - substreams: 'beta', + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, testnets: [], consensus: [], diff --git a/data/chains/V2/zkastar/testnets/zkatana/meta.ts b/data/chains/V2/zkastar/testnets/zkatana/meta.ts index 2898998..bbc5dfa 100644 --- a/data/chains/V2/zkastar/testnets/zkatana/meta.ts +++ b/data/chains/V2/zkastar/testnets/zkatana/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1', }, supported_services: { - rpc: 'beta', - firehose: 'beta', - substreams: 'beta', + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/zkastar/testnets/zkyoto/meta.ts b/data/chains/V2/zkastar/testnets/zkyoto/meta.ts index 0124b4f..9f0f09b 100644 --- a/data/chains/V2/zkastar/testnets/zkyoto/meta.ts +++ b/data/chains/V2/zkastar/testnets/zkyoto/meta.ts @@ -12,9 +12,21 @@ const meta: ___InternalTestnet = { url: 'https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1', }, supported_services: { - rpc: 'beta', - firehose: 'beta', - substreams: 'beta', + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, }; diff --git a/data/chains/V2/zksync/meta.ts b/data/chains/V2/zksync/meta.ts index 2a5985b..d19d411 100644 --- a/data/chains/V2/zksync/meta.ts +++ b/data/chains/V2/zksync/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded', 'mono'], }, supported_services: { - rpc: 'unreleased', - firehose: 'unreleased', - substreams: 'unreleased', + rpc: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: null, + full_released_at: null, + deprecated_at: null, + }, }, metadata: { website: 'https://zksync.io/', diff --git a/data/chains/V2/zora/meta.ts b/data/chains/V2/zora/meta.ts index 291c938..686004a 100644 --- a/data/chains/V2/zora/meta.ts +++ b/data/chains/V2/zora/meta.ts @@ -17,9 +17,21 @@ const meta: ___InternalChain = { variants: ['branded'], }, supported_services: { - rpc: 'beta', - firehose: 'beta', - substreams: 'beta', + rpc: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + firehose: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, + substreams: { + beta_released_at: '2024-08-01T00:00:000Z', + full_released_at: null, + deprecated_at: null, + }, }, testnets: [], consensus: [], diff --git a/data/chains/amoy.json b/data/chains/amoy.json deleted file mode 100644 index 6a49256..0000000 --- a/data/chains/amoy.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": "amoy", - "index": 4, - "graph_id": "amoy", - "name": "Amoy", - "alt_names": [], - "mainnet": "polygon", - "standard": "erc20", - "block_type": { - "label": "sf.ethereum.type.v2.Block", - "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" - }, - "img": "https://pinax.network/assets/chains/polygon.svg", - "is_img_dt_invert": false, - "is_testnet": true, - "supported_services": { - "firehose": { - "released_at": "2024-04-18T00:00:00.000Z", - "deprecated_at": null - }, - "substreams": { - "released_at": "2024-04-18T00:00:00.000Z", - "deprecated_at": null - }, - "rpc": { - "released_at": "2024-04-18T00:00:00.000Z", - "deprecated_at": null - } - } -} diff --git a/data/index.config.ts b/data/index.config.ts index a3d5ee6..83de3ee 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 7/19/2024, 11:41:48 AM. +// Last generation on 8/1/2024, 5:03:23 PM. export default { ordered: { @@ -38,7 +38,7 @@ export default { wax: ['waxtest'], telos: ['telostest'], kava: [], - blast: [], + blast: ['blastsepolia'], boba: ['bobasepolia'], cronos: [], fuse: [], diff --git a/scripts/generate/V2/data_json.ts b/scripts/generate/V2/data_json.ts index 0d0d916..aa5b5e9 100644 --- a/scripts/generate/V2/data_json.ts +++ b/scripts/generate/V2/data_json.ts @@ -26,62 +26,27 @@ if (indexConf.missing.length > 0) { process.exit(1); } +// 1. Load the chains-lock file +// 2. Iterate through chain data (from index) +// 3. For each chain, find their lock version using findChainById +// 4. Check lock version dates and update the chain data +// + const data: Chain[] = []; let indexCounter = 0; -const generateSupportedServicesDatesFromCache = (services: { - [key: string]: string; -}): SupportedServices => { - const currentDate = new Date().toISOString(); - const cacheFilePath = path.join( - __dirname, - '../../../data/V2/chains-lock.json', - ); - const updatedServices: any = {}; - - for (const service in services) { - const status = services[service]; - updatedServices[service as ServiceID] = { - beta_released_at: null, - full_released_at: null, - deprecated_at: null, - } as ServiceStatusDates; - - switch (status) { - case 'beta': - updatedServices[service].beta_released_at = currentDate; - break; - case 'released': - updatedServices[service].full_released_at = currentDate; - break; - case 'deprecated': - updatedServices[service].deprecated_at = currentDate; - break; - // No case for "unreleased" as all dates remain null - } - } - - return updatedServices; -}; - Object.keys(indexConf.ordered).forEach((mainnet, mainnetIndex) => { // @ts-ignore const mainnetData: MainnetData = chainData[toCamelCase(mainnet)]; mainnetData.index = indexCounter++; - mainnetData.supported_services = generateSupportedServicesDatesFromCache( - mainnetData.supported_services, - ); (indexConf as IndexConfig).ordered[mainnet].forEach((subnet: any) => { // @ts-ignore const subnetData: SubnetData = chainData[toCamelCase(subnet)]; subnetData.index = indexCounter++; - subnetData.supported_services = generateSupportedServicesDatesFromCache( - subnetData.supported_services, - ); if (subnetData.id.indexOf('-cl') !== -1) { if (!mainnetData.consensus) mainnetData.consensus = []; diff --git a/scripts/generate/V2/index_config_check.ts b/scripts/generate/V2/index_config_check.ts index affb61a..a6f5e1d 100644 --- a/scripts/generate/V2/index_config_check.ts +++ b/scripts/generate/V2/index_config_check.ts @@ -4,7 +4,7 @@ import config from '../../../data/index.config'; export type IndexConfig = { ordered: { [key: string]: string[] }; - missing: string[]; + missing?: string[]; }; console.log('🕑 Checking integrity of index.config.ts...'); diff --git a/scripts/verify/V2/notion-diff/input/test.txt b/scripts/verify/V2/notion-diff/input/test.txt deleted file mode 100644 index e69de29..0000000 diff --git a/types/graph.types.ts b/types/graph.types.ts index 9d89b8b..844e63e 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 7/19/2024, 11:41:48 AM. +// Last generation on 8/1/2024, 5:03:24 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' @@ -20,6 +20,7 @@ export type GraphID = | 'celo-alfajores' | 'chapel' | 'cosmoshub-4' + | 'etherlink-mainnet' | 'etherlink-testnet' | 'fantom' | 'fantom-testnet' @@ -27,9 +28,12 @@ export type GraphID = | 'fuse' | 'gnosis' | 'gnosis-chiado' + | 'gravity-mainnet' + | 'gravity-testnet' | 'harmony' | 'holesky' | 'iotex' + | 'iotex-testnet' | 'linea' | 'linea-sepolia' | 'mainnet' @@ -51,6 +55,7 @@ export type GraphID = | 'rootstock' | 'scroll' | 'scroll-sepolia' + | 'sei-atlantic' | 'sei-mainnet' | 'sei-testnet' | 'sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index d1e992a..f0ff60d 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 7/19/2024, 11:41:48 AM. +// Last generation on 8/1/2024, 5:03:24 PM. export type PinaxID = | 'arbone' | 'arbgoerli' @@ -10,6 +10,7 @@ export type PinaxID = | 'base' | 'bitcoin' | 'blast' + | 'blastsepolia' | 'boba' | 'bobasepolia' | 'bsc' diff --git a/types/service.types.ts b/types/service.types.ts index 956ccb0..44b2f5f 100644 --- a/types/service.types.ts +++ b/types/service.types.ts @@ -7,18 +7,12 @@ export type ServiceEndpoint = { port: number; }; -export type ServiceEndpointStatus = - | 'unreleased' - | 'beta' - | 'released' - | 'deprecated'; - export type ___InternalConsensusLayerServices = { - [key in ConsensusLayerServiceID]: ServiceEndpointStatus; + [key in ConsensusLayerServiceID]: ServiceStatusDates; }; export type ___InternalSupportedServices = { - [key in ServiceID]: ServiceEndpointStatus; + [key in ServiceID]: ServiceStatusDates; }; export type ServiceStatusDates = { From 96a8f85883d590cd43f79e2814b50a9a18c1f495 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Thu, 1 Aug 2024 17:39:41 -0400 Subject: [PATCH 43/51] Renamed RPC poller flag to is_detailed_block --- data/chains/V1/alfajores.json | 2 +- data/chains/V1/amoy.json | 2 +- data/chains/V1/arbgoerli.json | 2 +- data/chains/V1/arbone.json | 2 +- data/chains/V1/arbsepolia.json | 2 +- data/chains/V1/arweave.json | 2 +- data/chains/V1/avalanche.json | 2 +- data/chains/V1/base.json | 2 +- data/chains/V1/bitcoin.json | 2 +- data/chains/V1/bsc.json | 2 +- data/chains/V1/celo.json | 2 +- data/chains/V1/chains.json | 102 ++++++------- data/chains/V1/chapel.json | 2 +- data/chains/V1/chiado-cl.json | 2 +- data/chains/V1/chiado.json | 2 +- data/chains/V1/cosmoshub.json | 2 +- data/chains/V1/decimal.json | 2 +- data/chains/V1/eos.json | 2 +- data/chains/V1/eth-cl.json | 2 +- data/chains/V1/eth.json | 2 +- data/chains/V1/fantom.json | 2 +- data/chains/V1/gnosis-cl.json | 2 +- data/chains/V1/gnosis.json | 2 +- data/chains/V1/goerli-cl.json | 2 +- data/chains/V1/goerli.json | 2 +- data/chains/V1/holesky-cl.json | 2 +- data/chains/V1/holesky.json | 2 +- data/chains/V1/jungle4.json | 2 +- data/chains/V1/juno.json | 2 +- data/chains/V1/kava.json | 2 +- data/chains/V1/kylin.json | 2 +- data/chains/V1/mode.json | 2 +- data/chains/V1/moonbeam.json | 2 +- data/chains/V1/mumbai.json | 2 +- data/chains/V1/near.json | 2 +- data/chains/V1/neartest.json | 2 +- data/chains/V1/optimism.json | 2 +- data/chains/V1/ore.json | 2 +- data/chains/V1/orestage.json | 2 +- data/chains/V1/osmosis.json | 2 +- data/chains/V1/polygon.json | 2 +- data/chains/V1/scroll.json | 2 +- data/chains/V1/sepolia-cl.json | 2 +- data/chains/V1/sepolia.json | 2 +- data/chains/V1/starknet.json | 2 +- data/chains/V1/telos.json | 2 +- data/chains/V1/telostest.json | 2 +- data/chains/V1/theta.json | 2 +- data/chains/V1/ux.json | 2 +- data/chains/V1/wax.json | 2 +- data/chains/V1/waxtest.json | 2 +- data/chains/V1/zkatana.json | 2 +- data/chains/V2/arbone/meta.ts | 2 +- .../V2/arbone/testnets/arbgoerli/meta.ts | 2 +- .../V2/arbone/testnets/arbsepolia/meta.ts | 2 +- data/chains/V2/arweave/meta.ts | 2 +- data/chains/V2/avalanche/meta.ts | 2 +- data/chains/V2/base/meta.ts | 2 +- data/chains/V2/bitcoin/meta.ts | 2 +- data/chains/V2/blast/meta.ts | 2 +- .../V2/blast/testnets/blastsepolia/meta.ts | 2 +- data/chains/V2/boba/meta.ts | 2 +- .../V2/boba/testnets/bobasepolia/meta.ts | 2 +- data/chains/V2/bsc/meta.ts | 2 +- data/chains/V2/bsc/testnets/chapel/meta.ts | 2 +- data/chains/V2/cardano/meta.ts | 2 +- data/chains/V2/celo/meta.ts | 2 +- .../chains/V2/celo/testnets/alfajores/meta.ts | 2 +- data/chains/V2/chains.json | 136 +++++++++--------- data/chains/V2/cosmoshub/meta.ts | 2 +- .../chains/V2/cosmoshub/testnets/juno/meta.ts | 2 +- .../V2/cosmoshub/testnets/theta/meta.ts | 2 +- data/chains/V2/cronos/meta.ts | 2 +- data/chains/V2/decimal/meta.ts | 2 +- data/chains/V2/eos/evms/eosevm/meta.ts | 2 +- data/chains/V2/eos/meta.ts | 2 +- data/chains/V2/eos/testnets/jungle4/meta.ts | 2 +- data/chains/V2/eos/testnets/kylin/meta.ts | 2 +- data/chains/V2/eth/consensus/eth-cl/meta.ts | 2 +- .../chains/V2/eth/consensus/goerli-cl/meta.ts | 2 +- .../V2/eth/consensus/holesky-cl/meta.ts | 2 +- .../V2/eth/consensus/sepolia-cl/meta.ts | 2 +- data/chains/V2/eth/meta.ts | 2 +- data/chains/V2/eth/testnets/goerli/meta.ts | 2 +- data/chains/V2/eth/testnets/holesky/meta.ts | 2 +- data/chains/V2/eth/testnets/sepolia/meta.ts | 2 +- data/chains/V2/fantom/meta.ts | 2 +- data/chains/V2/fuse/meta.ts | 2 +- .../V2/gnosis/consensus/chiado-cl/meta.ts | 2 +- .../V2/gnosis/consensus/gnosis-cl/meta.ts | 2 +- data/chains/V2/gnosis/meta.ts | 2 +- data/chains/V2/gnosis/testnets/chiado/meta.ts | 2 +- data/chains/V2/index.ts | 2 +- data/chains/V2/kava/meta.ts | 2 +- data/chains/V2/linea/meta.ts | 2 +- data/chains/V2/litecoin/meta.ts | 2 +- data/chains/V2/mode/meta.ts | 2 +- data/chains/V2/moonbeam/meta.ts | 2 +- data/chains/V2/near/meta.ts | 2 +- data/chains/V2/near/testnets/neartest/meta.ts | 2 +- data/chains/V2/optimism/meta.ts | 2 +- data/chains/V2/ore/meta.ts | 2 +- data/chains/V2/ore/testnets/orestage/meta.ts | 2 +- data/chains/V2/osmosis/meta.ts | 2 +- data/chains/V2/polygon/meta.ts | 2 +- data/chains/V2/polygon/testnets/amoy/meta.ts | 2 +- .../chains/V2/polygon/testnets/mumbai/meta.ts | 2 +- data/chains/V2/ronin/meta.ts | 2 +- data/chains/V2/scroll/meta.ts | 2 +- data/chains/V2/sei/meta.ts | 2 +- data/chains/V2/starknet/meta.ts | 2 +- data/chains/V2/telos/meta.ts | 2 +- .../V2/telos/testnets/telostest/meta.ts | 2 +- data/chains/V2/wax/meta.ts | 2 +- data/chains/V2/wax/testnets/waxtest/meta.ts | 2 +- data/chains/V2/x-layer/meta.ts | 2 +- data/chains/V2/xai/meta.ts | 2 +- data/chains/V2/zkastar/meta.ts | 2 +- .../V2/zkastar/testnets/zkatana/meta.ts | 2 +- .../chains/V2/zkastar/testnets/zkyoto/meta.ts | 2 +- data/chains/V2/zksync/meta.ts | 2 +- data/chains/V2/zora/meta.ts | 2 +- data/index.config.ts | 2 +- types/chain.types.ts | 2 +- types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- utils/chains.ts | 2 +- 127 files changed, 244 insertions(+), 244 deletions(-) diff --git a/data/chains/V1/alfajores.json b/data/chains/V1/alfajores.json index cf12481..ef0a4ca 100644 --- a/data/chains/V1/alfajores.json +++ b/data/chains/V1/alfajores.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "celo", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/amoy.json b/data/chains/V1/amoy.json index 364859c..fbfb342 100644 --- a/data/chains/V1/amoy.json +++ b/data/chains/V1/amoy.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "polygon", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/arbgoerli.json b/data/chains/V1/arbgoerli.json index 0f0ddce..8e64fab 100644 --- a/data/chains/V1/arbgoerli.json +++ b/data/chains/V1/arbgoerli.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "arbone", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/arbone.json b/data/chains/V1/arbone.json index 8fcdb93..8be6947 100644 --- a/data/chains/V1/arbone.json +++ b/data/chains/V1/arbone.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "arbone", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/arbsepolia.json b/data/chains/V1/arbsepolia.json index f9d2cf5..6b4db7d 100644 --- a/data/chains/V1/arbsepolia.json +++ b/data/chains/V1/arbsepolia.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/arweave.json b/data/chains/V1/arweave.json index 9427116..b6c5d31 100644 --- a/data/chains/V1/arweave.json +++ b/data/chains/V1/arweave.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "arweave", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.arweave.type.v1.Block", "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" diff --git a/data/chains/V1/avalanche.json b/data/chains/V1/avalanche.json index 19ece6f..98e9902 100644 --- a/data/chains/V1/avalanche.json +++ b/data/chains/V1/avalanche.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "avalanche", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/base.json b/data/chains/V1/base.json index 78df459..ead419e 100644 --- a/data/chains/V1/base.json +++ b/data/chains/V1/base.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "base", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/bitcoin.json b/data/chains/V1/bitcoin.json index ddbf301..b842225 100644 --- a/data/chains/V1/bitcoin.json +++ b/data/chains/V1/bitcoin.json @@ -6,7 +6,7 @@ "alt_names": ["btc"], "mainnet": "bitcoin", "standard": "brc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.bitcoin.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" diff --git a/data/chains/V1/bsc.json b/data/chains/V1/bsc.json index 5f10a03..9a09ece 100644 --- a/data/chains/V1/bsc.json +++ b/data/chains/V1/bsc.json @@ -6,7 +6,7 @@ "alt_names": ["bsc", "binance"], "mainnet": "bsc", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/celo.json b/data/chains/V1/celo.json index f99a83e..cd2ff34 100644 --- a/data/chains/V1/celo.json +++ b/data/chains/V1/celo.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "celo", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/chains.json b/data/chains/V1/chains.json index 40e785d..00e41ce 100644 --- a/data/chains/V1/chains.json +++ b/data/chains/V1/chains.json @@ -7,7 +7,7 @@ "alt_names": [], "mainnet": "celo", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -39,7 +39,7 @@ "alt_names": [], "mainnet": "polygon", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -70,7 +70,7 @@ "alt_names": [], "mainnet": "arbone", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -101,7 +101,7 @@ "alt_names": [], "mainnet": "arbone", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -132,7 +132,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -163,7 +163,7 @@ "alt_names": [], "mainnet": "arweave", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.arweave.type.v1.Block", "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" @@ -195,7 +195,7 @@ "alt_names": [], "mainnet": "avalanche", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -227,7 +227,7 @@ "alt_names": [], "mainnet": "base", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -261,7 +261,7 @@ ], "mainnet": "bitcoin", "standard": "brc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.bitcoin.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" @@ -295,7 +295,7 @@ ], "mainnet": "bsc", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -326,7 +326,7 @@ "alt_names": [], "mainnet": "celo", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -358,7 +358,7 @@ "alt_names": [], "mainnet": "bsc", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -389,7 +389,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -420,7 +420,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -451,7 +451,7 @@ "alt_names": [], "mainnet": "cosmoshub", "standard": "cosmos", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -482,7 +482,7 @@ "alt_names": [], "mainnet": "decimal", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -513,7 +513,7 @@ "alt_names": [], "mainnet": "eos", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -545,7 +545,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -577,7 +577,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -609,7 +609,7 @@ "alt_names": [], "mainnet": "fantom", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -641,7 +641,7 @@ "alt_names": [], "mainnet": "gnosis", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -673,7 +673,7 @@ "alt_names": [], "mainnet": "gnosis", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -705,7 +705,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -737,7 +737,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -769,7 +769,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -801,7 +801,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -833,7 +833,7 @@ "alt_names": [], "mainnet": "eos", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -864,7 +864,7 @@ "alt_names": [], "mainnet": "juno", "standard": "cosmos", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -896,7 +896,7 @@ "alt_names": [], "mainnet": "kava", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -927,7 +927,7 @@ "alt_names": [], "mainnet": "eos", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -958,7 +958,7 @@ "alt_names": [], "mainnet": "mode", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -989,7 +989,7 @@ "alt_names": [], "mainnet": "moonbeam", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1020,7 +1020,7 @@ "alt_names": [], "mainnet": "polygon", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1051,7 +1051,7 @@ "alt_names": [], "mainnet": "near", "standard": "near", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.near.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" @@ -1083,7 +1083,7 @@ "alt_names": [], "mainnet": "near", "standard": "near", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.near.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" @@ -1115,7 +1115,7 @@ "alt_names": [], "mainnet": "optimism", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1146,7 +1146,7 @@ "alt_names": [], "mainnet": "ore", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1177,7 +1177,7 @@ "alt_names": [], "mainnet": "ore", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1208,7 +1208,7 @@ "alt_names": [], "mainnet": "osmosis", "standard": "cosmos", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -1241,7 +1241,7 @@ ], "mainnet": "polygon", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1272,7 +1272,7 @@ "alt_names": [], "mainnet": "scroll", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1304,7 +1304,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1336,7 +1336,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1368,7 +1368,7 @@ "alt_names": [], "mainnet": "starknet", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1399,7 +1399,7 @@ "alt_names": [], "mainnet": "telos", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1430,7 +1430,7 @@ "alt_names": [], "mainnet": "telos", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1461,7 +1461,7 @@ "alt_names": [], "mainnet": "cosmoshub", "standard": "cosmos", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -1492,7 +1492,7 @@ "alt_names": [], "mainnet": "ux", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1523,7 +1523,7 @@ "alt_names": [], "mainnet": "wax", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1554,7 +1554,7 @@ "alt_names": [], "mainnet": "wax", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1585,7 +1585,7 @@ "alt_names": [], "mainnet": "zkatana", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/chapel.json b/data/chains/V1/chapel.json index 46879cd..ade809d 100644 --- a/data/chains/V1/chapel.json +++ b/data/chains/V1/chapel.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "bsc", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/chiado-cl.json b/data/chains/V1/chiado-cl.json index 7da86c5..40ab010 100644 --- a/data/chains/V1/chiado-cl.json +++ b/data/chains/V1/chiado-cl.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/chiado.json b/data/chains/V1/chiado.json index 4be0d7a..cbbc358 100644 --- a/data/chains/V1/chiado.json +++ b/data/chains/V1/chiado.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "arbitrum", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/cosmoshub.json b/data/chains/V1/cosmoshub.json index bd5e846..016c1d5 100644 --- a/data/chains/V1/cosmoshub.json +++ b/data/chains/V1/cosmoshub.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "cosmoshub", "standard": "cosmos", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" diff --git a/data/chains/V1/decimal.json b/data/chains/V1/decimal.json index bdd904c..98d0656 100644 --- a/data/chains/V1/decimal.json +++ b/data/chains/V1/decimal.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "decimal", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/eos.json b/data/chains/V1/eos.json index 3e33173..30eac2d 100644 --- a/data/chains/V1/eos.json +++ b/data/chains/V1/eos.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "eos", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/eth-cl.json b/data/chains/V1/eth-cl.json index 6c69da7..2a8bfbd 100644 --- a/data/chains/V1/eth-cl.json +++ b/data/chains/V1/eth-cl.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/eth.json b/data/chains/V1/eth.json index 2b0fc5b..1528338 100644 --- a/data/chains/V1/eth.json +++ b/data/chains/V1/eth.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/fantom.json b/data/chains/V1/fantom.json index cfebad0..3bba80f 100644 --- a/data/chains/V1/fantom.json +++ b/data/chains/V1/fantom.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "fantom", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/gnosis-cl.json b/data/chains/V1/gnosis-cl.json index e3bf0f4..951f2e5 100644 --- a/data/chains/V1/gnosis-cl.json +++ b/data/chains/V1/gnosis-cl.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "gnosis", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/gnosis.json b/data/chains/V1/gnosis.json index ca53f78..f34e2c1 100644 --- a/data/chains/V1/gnosis.json +++ b/data/chains/V1/gnosis.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "gnosis", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/goerli-cl.json b/data/chains/V1/goerli-cl.json index f51771a..acddfed 100644 --- a/data/chains/V1/goerli-cl.json +++ b/data/chains/V1/goerli-cl.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/goerli.json b/data/chains/V1/goerli.json index ce1f372..9b5fc69 100644 --- a/data/chains/V1/goerli.json +++ b/data/chains/V1/goerli.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/holesky-cl.json b/data/chains/V1/holesky-cl.json index 05266bc..78b6f71 100644 --- a/data/chains/V1/holesky-cl.json +++ b/data/chains/V1/holesky-cl.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/holesky.json b/data/chains/V1/holesky.json index 1f36ea1..062544a 100644 --- a/data/chains/V1/holesky.json +++ b/data/chains/V1/holesky.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/jungle4.json b/data/chains/V1/jungle4.json index 1dab48e..3aae677 100644 --- a/data/chains/V1/jungle4.json +++ b/data/chains/V1/jungle4.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "eos", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/juno.json b/data/chains/V1/juno.json index 9efb016..d131282 100644 --- a/data/chains/V1/juno.json +++ b/data/chains/V1/juno.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "juno", "standard": "cosmos", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" diff --git a/data/chains/V1/kava.json b/data/chains/V1/kava.json index 8e67bb9..e01e5c6 100644 --- a/data/chains/V1/kava.json +++ b/data/chains/V1/kava.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "kava", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/kylin.json b/data/chains/V1/kylin.json index dcf740a..a687306 100644 --- a/data/chains/V1/kylin.json +++ b/data/chains/V1/kylin.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "eos", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/mode.json b/data/chains/V1/mode.json index 0bee229..cf9451e 100644 --- a/data/chains/V1/mode.json +++ b/data/chains/V1/mode.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "mode", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/moonbeam.json b/data/chains/V1/moonbeam.json index 78a5e97..ee925f0 100644 --- a/data/chains/V1/moonbeam.json +++ b/data/chains/V1/moonbeam.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "moonbeam", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/mumbai.json b/data/chains/V1/mumbai.json index 0076df3..74035a0 100644 --- a/data/chains/V1/mumbai.json +++ b/data/chains/V1/mumbai.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "polygon", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/near.json b/data/chains/V1/near.json index 206b0f1..8f0a025 100644 --- a/data/chains/V1/near.json +++ b/data/chains/V1/near.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "near", "standard": "near", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.near.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" diff --git a/data/chains/V1/neartest.json b/data/chains/V1/neartest.json index 8474e24..5e756e7 100644 --- a/data/chains/V1/neartest.json +++ b/data/chains/V1/neartest.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "near", "standard": "near", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.near.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" diff --git a/data/chains/V1/optimism.json b/data/chains/V1/optimism.json index b16e5e1..6386513 100644 --- a/data/chains/V1/optimism.json +++ b/data/chains/V1/optimism.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "optimism", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/ore.json b/data/chains/V1/ore.json index 942582f..1ba2639 100644 --- a/data/chains/V1/ore.json +++ b/data/chains/V1/ore.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "ore", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/orestage.json b/data/chains/V1/orestage.json index 6e57c67..e11c5d7 100644 --- a/data/chains/V1/orestage.json +++ b/data/chains/V1/orestage.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "ore", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/osmosis.json b/data/chains/V1/osmosis.json index 1144bb4..6a4c064 100644 --- a/data/chains/V1/osmosis.json +++ b/data/chains/V1/osmosis.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "osmosis", "standard": "cosmos", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" diff --git a/data/chains/V1/polygon.json b/data/chains/V1/polygon.json index d899fdb..505ad07 100644 --- a/data/chains/V1/polygon.json +++ b/data/chains/V1/polygon.json @@ -6,7 +6,7 @@ "alt_names": ["matic"], "mainnet": "polygon", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/scroll.json b/data/chains/V1/scroll.json index 7edab89..6d91625 100644 --- a/data/chains/V1/scroll.json +++ b/data/chains/V1/scroll.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "scroll", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/sepolia-cl.json b/data/chains/V1/sepolia-cl.json index 76da148..66b9b9a 100644 --- a/data/chains/V1/sepolia-cl.json +++ b/data/chains/V1/sepolia-cl.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/sepolia.json b/data/chains/V1/sepolia.json index faa07bd..4f30302 100644 --- a/data/chains/V1/sepolia.json +++ b/data/chains/V1/sepolia.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "eth", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/starknet.json b/data/chains/V1/starknet.json index 8518485..51b69c6 100644 --- a/data/chains/V1/starknet.json +++ b/data/chains/V1/starknet.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "starknet", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V1/telos.json b/data/chains/V1/telos.json index 878dd79..26228a1 100644 --- a/data/chains/V1/telos.json +++ b/data/chains/V1/telos.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "telos", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/telostest.json b/data/chains/V1/telostest.json index 3053b14..8fff68d 100644 --- a/data/chains/V1/telostest.json +++ b/data/chains/V1/telostest.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "telos", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/theta.json b/data/chains/V1/theta.json index 754249d..57d573d 100644 --- a/data/chains/V1/theta.json +++ b/data/chains/V1/theta.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "cosmoshub", "standard": "cosmos", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" diff --git a/data/chains/V1/ux.json b/data/chains/V1/ux.json index c30d3fa..6085f94 100644 --- a/data/chains/V1/ux.json +++ b/data/chains/V1/ux.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "ux", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/wax.json b/data/chains/V1/wax.json index e5161e1..183f73b 100644 --- a/data/chains/V1/wax.json +++ b/data/chains/V1/wax.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "wax", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/waxtest.json b/data/chains/V1/waxtest.json index 11bcc39..1152b73 100644 --- a/data/chains/V1/waxtest.json +++ b/data/chains/V1/waxtest.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "wax", "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V1/zkatana.json b/data/chains/V1/zkatana.json index 8adbc6a..53c8abc 100644 --- a/data/chains/V1/zkatana.json +++ b/data/chains/V1/zkatana.json @@ -6,7 +6,7 @@ "alt_names": [], "mainnet": "zkatana", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" diff --git a/data/chains/V2/arbone/meta.ts b/data/chains/V2/arbone/meta.ts index f2137cf..243cc14 100644 --- a/data/chains/V2/arbone/meta.ts +++ b/data/chains/V2/arbone/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Arbitrum One', alt_names: [], standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/arbone/testnets/arbgoerli/meta.ts b/data/chains/V2/arbone/testnets/arbgoerli/meta.ts index fdc1d11..8111b42 100644 --- a/data/chains/V2/arbone/testnets/arbgoerli/meta.ts +++ b/data/chains/V2/arbone/testnets/arbgoerli/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Arbitrum Goerli', alt_names: [], standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/arbone/testnets/arbsepolia/meta.ts b/data/chains/V2/arbone/testnets/arbsepolia/meta.ts index 21c68bf..4c66859 100644 --- a/data/chains/V2/arbone/testnets/arbsepolia/meta.ts +++ b/data/chains/V2/arbone/testnets/arbsepolia/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Arbitrum Sepolia', alt_names: [], standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/arweave/meta.ts b/data/chains/V2/arweave/meta.ts index f17c0fc..0b3a034 100644 --- a/data/chains/V2/arweave/meta.ts +++ b/data/chains/V2/arweave/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Arweave', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.arweave.type.v1.Block', url: 'https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1', diff --git a/data/chains/V2/avalanche/meta.ts b/data/chains/V2/avalanche/meta.ts index e2500b7..9ce83b3 100644 --- a/data/chains/V2/avalanche/meta.ts +++ b/data/chains/V2/avalanche/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Avalanche', alt_names: [], standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/base/meta.ts b/data/chains/V2/base/meta.ts index fc88c69..b2c65ab 100644 --- a/data/chains/V2/base/meta.ts +++ b/data/chains/V2/base/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Base', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/bitcoin/meta.ts b/data/chains/V2/bitcoin/meta.ts index b6356be..386188a 100644 --- a/data/chains/V2/bitcoin/meta.ts +++ b/data/chains/V2/bitcoin/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Bitcoin', alt_names: ['btc'], standard: 'brc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.bitcoin.type.v1.Block', url: 'https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1', diff --git a/data/chains/V2/blast/meta.ts b/data/chains/V2/blast/meta.ts index 5a43988..2e42352 100644 --- a/data/chains/V2/blast/meta.ts +++ b/data/chains/V2/blast/meta.ts @@ -7,7 +7,7 @@ const meta: ___InternalChain = { graph_id: 'blast-mainnet', index: 0, standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/blast/testnets/blastsepolia/meta.ts b/data/chains/V2/blast/testnets/blastsepolia/meta.ts index 88f7e10..2fb96f9 100644 --- a/data/chains/V2/blast/testnets/blastsepolia/meta.ts +++ b/data/chains/V2/blast/testnets/blastsepolia/meta.ts @@ -7,7 +7,7 @@ const meta: ___InternalTestnet = { graph_id: 'blast-testnet', index: 0, standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/boba/meta.ts b/data/chains/V2/boba/meta.ts index e9cb0a5..1c3e1ef 100644 --- a/data/chains/V2/boba/meta.ts +++ b/data/chains/V2/boba/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { alt_names: [], graph_id: 'boba', standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/boba/testnets/bobasepolia/meta.ts b/data/chains/V2/boba/testnets/bobasepolia/meta.ts index 28b763b..e7aa446 100644 --- a/data/chains/V2/boba/testnets/bobasepolia/meta.ts +++ b/data/chains/V2/boba/testnets/bobasepolia/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Boba Sepolia', alt_names: [], standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/bsc/meta.ts b/data/chains/V2/bsc/meta.ts index 5ee2158..cf1442f 100644 --- a/data/chains/V2/bsc/meta.ts +++ b/data/chains/V2/bsc/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'BNB', alt_names: ['bsc', 'binance'], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/bsc/testnets/chapel/meta.ts b/data/chains/V2/bsc/testnets/chapel/meta.ts index 25aec50..0539432 100644 --- a/data/chains/V2/bsc/testnets/chapel/meta.ts +++ b/data/chains/V2/bsc/testnets/chapel/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Chapel', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/cardano/meta.ts b/data/chains/V2/cardano/meta.ts index 834b24a..29b8197 100644 --- a/data/chains/V2/cardano/meta.ts +++ b/data/chains/V2/cardano/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Cardano', alt_names: [], standard: 'cardano', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/celo/meta.ts b/data/chains/V2/celo/meta.ts index 8330f55..ddcec23 100644 --- a/data/chains/V2/celo/meta.ts +++ b/data/chains/V2/celo/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Celo', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/celo/testnets/alfajores/meta.ts b/data/chains/V2/celo/testnets/alfajores/meta.ts index 418b454..1bd4cc3 100644 --- a/data/chains/V2/celo/testnets/alfajores/meta.ts +++ b/data/chains/V2/celo/testnets/alfajores/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Alfajores', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/chains.json b/data/chains/V2/chains.json index 60ec696..016f8ce 100644 --- a/data/chains/V2/chains.json +++ b/data/chains/V2/chains.json @@ -5,7 +5,7 @@ "name": "Ethereum", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -46,7 +46,7 @@ "name": "Holesky", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -76,7 +76,7 @@ "name": "Sepolia", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -106,7 +106,7 @@ "name": "Goerli", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -138,7 +138,7 @@ "name": "Ethereum Consensus Layer", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -163,7 +163,7 @@ "name": "Holesky Consensus Layer", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -188,7 +188,7 @@ "name": "Sepolia Consensus Layer", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -213,7 +213,7 @@ "name": "Goerli Consensus Layer", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -242,7 +242,7 @@ "btc" ], "standard": "brc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.bitcoin.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-bitcoin/docs/main:sf.bitcoin.type.v1" @@ -281,7 +281,7 @@ "matic" ], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -322,7 +322,7 @@ "name": "Amoy", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -352,7 +352,7 @@ "name": "Mumbai", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -387,7 +387,7 @@ "binance" ], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -428,7 +428,7 @@ "name": "Chapel", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -460,7 +460,7 @@ "name": "Arbitrum One", "alt_names": [], "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -497,7 +497,7 @@ "name": "Arbitrum Goerli", "alt_names": [], "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -527,7 +527,7 @@ "name": "Arbitrum Sepolia", "alt_names": [], "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -557,7 +557,7 @@ "name": "Chiado", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -589,7 +589,7 @@ "name": "Chiado Consensus Layer", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -616,7 +616,7 @@ "name": "Avalanche", "alt_names": [], "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -653,7 +653,7 @@ "name": "Optimism", "alt_names": [], "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -694,7 +694,7 @@ "name": "Base", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -731,7 +731,7 @@ "name": "Near", "alt_names": [], "standard": "near", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.near.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" @@ -772,7 +772,7 @@ "name": "Near-testnet", "alt_names": [], "standard": "near", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.near.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1" @@ -804,7 +804,7 @@ "name": "Cardano", "alt_names": [], "standard": "cardano", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -845,7 +845,7 @@ "name": "Decimal", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -886,7 +886,7 @@ "name": "Gnosis", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -927,7 +927,7 @@ "name": "Gnosis Consensus Layer", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -954,7 +954,7 @@ "name": "Fantom", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -995,7 +995,7 @@ "name": "Celo", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1036,7 +1036,7 @@ "name": "Alfajores", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1068,7 +1068,7 @@ "name": "Arweave", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.arweave.type.v1.Block", "url": "https://buf.build/pinax/firehose-arweave/docs/main:sf.arweave.type.v1" @@ -1109,7 +1109,7 @@ "name": "Cosmos Hub", "alt_names": [], "standard": "cosmos", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -1150,7 +1150,7 @@ "name": "Theta", "alt_names": [], "standard": "cosmos", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -1180,7 +1180,7 @@ "name": "Juno", "alt_names": [], "standard": "cosmos", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -1212,7 +1212,7 @@ "name": "Osmosis", "alt_names": [], "standard": "cosmos", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.cosmos.type.v1.Block", "url": "https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto" @@ -1253,7 +1253,7 @@ "name": "Moonbeam", "alt_names": [], "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1294,7 +1294,7 @@ "name": "Scroll", "alt_names": [], "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1335,7 +1335,7 @@ "name": "Starknet", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1376,7 +1376,7 @@ "name": "EOS", "alt_names": [], "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1416,7 +1416,7 @@ "name": "EOS EVM", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1448,7 +1448,7 @@ "name": "Jungle4", "alt_names": [], "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1478,7 +1478,7 @@ "name": "Kylin", "alt_names": [], "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1510,7 +1510,7 @@ "name": "WAX", "alt_names": [], "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1551,7 +1551,7 @@ "name": "WAX Test", "alt_names": [], "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1583,7 +1583,7 @@ "name": "Telos", "alt_names": [], "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1624,7 +1624,7 @@ "name": "Telos Test", "alt_names": [], "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -1656,7 +1656,7 @@ "name": "Kava", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1698,7 +1698,7 @@ "graph_id": "blast-mainnet", "index": 48, "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1736,7 +1736,7 @@ "graph_id": "blast-testnet", "index": 49, "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1773,7 +1773,7 @@ "alt_names": [], "graph_id": "boba", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1810,7 +1810,7 @@ "name": "Boba Sepolia", "alt_names": [], "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1849,7 +1849,7 @@ "alt_names": [], "graph_id": null, "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1893,7 +1893,7 @@ "alt_names": [], "graph_id": "fuse", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1938,7 +1938,7 @@ "alt_names": [], "graph_id": "linea", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -1984,7 +1984,7 @@ ], "graph_id": null, "standard": "ltc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.litecoin.type.v1.Block", "url": "https://buf.build/streamingfast/firehose-litecoin/docs/main:sf.litecoin.type.v1" @@ -2029,7 +2029,7 @@ "alt_names": [], "graph_id": "mode-mainnet", "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -2074,7 +2074,7 @@ "name": "Ronin", "alt_names": [], "standard": "rrc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -2115,7 +2115,7 @@ "name": "Sei", "alt_names": [], "standard": "sei", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -2156,7 +2156,7 @@ "alt_names": [], "graph_id": null, "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -2201,7 +2201,7 @@ "alt_names": [], "graph_id": null, "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.zkevm.type.v1.Block", "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" @@ -2238,7 +2238,7 @@ "alt_names": [], "graph_id": null, "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.zkevm.type.v1.Block", "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" @@ -2268,7 +2268,7 @@ "alt_names": [], "graph_id": "zkyoto-testnet", "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.zkevm.type.v1.Block", "url": "https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1" @@ -2307,7 +2307,7 @@ "name": "X-Layer", "alt_names": [], "standard": "erc20", - "rpc_poller": true, + "is_detailed_blocks": false, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -2348,7 +2348,7 @@ "name": "zkSync Era", "alt_names": [], "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -2392,7 +2392,7 @@ "alt_names": [], "graph_id": null, "standard": "erc20", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.ethereum.type.v2.Block", "url": "https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2" @@ -2436,7 +2436,7 @@ "name": "Ore", "alt_names": [], "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" @@ -2477,7 +2477,7 @@ "name": "Ore Stage", "alt_names": [], "standard": "antelope", - "rpc_poller": false, + "is_detailed_blocks": true, "block_type": { "label": "sf.antelope.type.v1.Block", "url": "https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1" diff --git a/data/chains/V2/cosmoshub/meta.ts b/data/chains/V2/cosmoshub/meta.ts index d680bbc..f00031b 100644 --- a/data/chains/V2/cosmoshub/meta.ts +++ b/data/chains/V2/cosmoshub/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Cosmos Hub', alt_names: [], standard: 'cosmos', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.cosmos.type.v1.Block', url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', diff --git a/data/chains/V2/cosmoshub/testnets/juno/meta.ts b/data/chains/V2/cosmoshub/testnets/juno/meta.ts index 13162df..58fe073 100644 --- a/data/chains/V2/cosmoshub/testnets/juno/meta.ts +++ b/data/chains/V2/cosmoshub/testnets/juno/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Juno', alt_names: [], standard: 'cosmos', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.cosmos.type.v1.Block', url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', diff --git a/data/chains/V2/cosmoshub/testnets/theta/meta.ts b/data/chains/V2/cosmoshub/testnets/theta/meta.ts index 76f77bb..68c8956 100644 --- a/data/chains/V2/cosmoshub/testnets/theta/meta.ts +++ b/data/chains/V2/cosmoshub/testnets/theta/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Theta', alt_names: [], standard: 'cosmos', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.cosmos.type.v1.Block', url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', diff --git a/data/chains/V2/cronos/meta.ts b/data/chains/V2/cronos/meta.ts index 198e816..b549cf1 100644 --- a/data/chains/V2/cronos/meta.ts +++ b/data/chains/V2/cronos/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { alt_names: [], graph_id: null, standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/decimal/meta.ts b/data/chains/V2/decimal/meta.ts index 2b91a60..5d6201d 100644 --- a/data/chains/V2/decimal/meta.ts +++ b/data/chains/V2/decimal/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Decimal', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eos/evms/eosevm/meta.ts b/data/chains/V2/eos/evms/eosevm/meta.ts index 9327dd2..abd4f24 100644 --- a/data/chains/V2/eos/evms/eosevm/meta.ts +++ b/data/chains/V2/eos/evms/eosevm/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalEVM = { name: 'EOS EVM', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eos/meta.ts b/data/chains/V2/eos/meta.ts index 95a8769..6d74b69 100644 --- a/data/chains/V2/eos/meta.ts +++ b/data/chains/V2/eos/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'EOS', alt_names: [], standard: 'antelope', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/eos/testnets/jungle4/meta.ts b/data/chains/V2/eos/testnets/jungle4/meta.ts index f7b8580..1109834 100644 --- a/data/chains/V2/eos/testnets/jungle4/meta.ts +++ b/data/chains/V2/eos/testnets/jungle4/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Jungle4', alt_names: [], standard: 'antelope', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/eos/testnets/kylin/meta.ts b/data/chains/V2/eos/testnets/kylin/meta.ts index 4c18867..28d21ad 100644 --- a/data/chains/V2/eos/testnets/kylin/meta.ts +++ b/data/chains/V2/eos/testnets/kylin/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Kylin', alt_names: [], standard: 'antelope', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/eth/consensus/eth-cl/meta.ts b/data/chains/V2/eth/consensus/eth-cl/meta.ts index 0afd173..5531389 100644 --- a/data/chains/V2/eth/consensus/eth-cl/meta.ts +++ b/data/chains/V2/eth/consensus/eth-cl/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalConsensusLayer = { name: 'Ethereum Consensus Layer', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eth/consensus/goerli-cl/meta.ts b/data/chains/V2/eth/consensus/goerli-cl/meta.ts index 99f8062..e923dca 100644 --- a/data/chains/V2/eth/consensus/goerli-cl/meta.ts +++ b/data/chains/V2/eth/consensus/goerli-cl/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalConsensusLayer = { name: 'Goerli Consensus Layer', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eth/consensus/holesky-cl/meta.ts b/data/chains/V2/eth/consensus/holesky-cl/meta.ts index 37a22e1..4ad3b23 100644 --- a/data/chains/V2/eth/consensus/holesky-cl/meta.ts +++ b/data/chains/V2/eth/consensus/holesky-cl/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalConsensusLayer = { name: 'Holesky Consensus Layer', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eth/consensus/sepolia-cl/meta.ts b/data/chains/V2/eth/consensus/sepolia-cl/meta.ts index 9d45bd1..8916e55 100644 --- a/data/chains/V2/eth/consensus/sepolia-cl/meta.ts +++ b/data/chains/V2/eth/consensus/sepolia-cl/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalConsensusLayer = { name: 'Sepolia Consensus Layer', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eth/meta.ts b/data/chains/V2/eth/meta.ts index dc64557..f48bb4a 100644 --- a/data/chains/V2/eth/meta.ts +++ b/data/chains/V2/eth/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Ethereum', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eth/testnets/goerli/meta.ts b/data/chains/V2/eth/testnets/goerli/meta.ts index bd38a95..afe926c 100644 --- a/data/chains/V2/eth/testnets/goerli/meta.ts +++ b/data/chains/V2/eth/testnets/goerli/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Goerli', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eth/testnets/holesky/meta.ts b/data/chains/V2/eth/testnets/holesky/meta.ts index 4cfa522..1560b8d 100644 --- a/data/chains/V2/eth/testnets/holesky/meta.ts +++ b/data/chains/V2/eth/testnets/holesky/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Holesky', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/eth/testnets/sepolia/meta.ts b/data/chains/V2/eth/testnets/sepolia/meta.ts index b87d542..ac88f13 100644 --- a/data/chains/V2/eth/testnets/sepolia/meta.ts +++ b/data/chains/V2/eth/testnets/sepolia/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Sepolia', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/fantom/meta.ts b/data/chains/V2/fantom/meta.ts index 8cbd4eb..66cb6b4 100644 --- a/data/chains/V2/fantom/meta.ts +++ b/data/chains/V2/fantom/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Fantom', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/fuse/meta.ts b/data/chains/V2/fuse/meta.ts index 4ded49b..e38c356 100644 --- a/data/chains/V2/fuse/meta.ts +++ b/data/chains/V2/fuse/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { alt_names: [], graph_id: 'fuse', standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts b/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts index 1cc42ab..51da450 100644 --- a/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts +++ b/data/chains/V2/gnosis/consensus/chiado-cl/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalConsensusLayer = { name: 'Chiado Consensus Layer', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts b/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts index 323a602..cfd099a 100644 --- a/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts +++ b/data/chains/V2/gnosis/consensus/gnosis-cl/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalConsensusLayer = { name: 'Gnosis Consensus Layer', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/gnosis/meta.ts b/data/chains/V2/gnosis/meta.ts index c3e49fb..722e4dc 100644 --- a/data/chains/V2/gnosis/meta.ts +++ b/data/chains/V2/gnosis/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Gnosis', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/gnosis/testnets/chiado/meta.ts b/data/chains/V2/gnosis/testnets/chiado/meta.ts index 4d31833..83e5430 100644 --- a/data/chains/V2/gnosis/testnets/chiado/meta.ts +++ b/data/chains/V2/gnosis/testnets/chiado/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Chiado', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/index.ts b/data/chains/V2/index.ts index 6d65252..607d6e1 100644 --- a/data/chains/V2/index.ts +++ b/data/chains/V2/index.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 5:03:23 PM. +// Last generation on 8/1/2024, 5:39:41 PM. export { default as arbone } from './arbone/meta'; export { default as arbgoerli } from './arbone/testnets/arbgoerli/meta'; diff --git a/data/chains/V2/kava/meta.ts b/data/chains/V2/kava/meta.ts index 339cbf7..ed65ad8 100644 --- a/data/chains/V2/kava/meta.ts +++ b/data/chains/V2/kava/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Kava', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/linea/meta.ts b/data/chains/V2/linea/meta.ts index 8db8237..679734b 100644 --- a/data/chains/V2/linea/meta.ts +++ b/data/chains/V2/linea/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { alt_names: [], graph_id: 'linea', standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/litecoin/meta.ts b/data/chains/V2/litecoin/meta.ts index 84cd2e6..3494048 100644 --- a/data/chains/V2/litecoin/meta.ts +++ b/data/chains/V2/litecoin/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { alt_names: ['LTC'], graph_id: null, standard: 'ltc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.litecoin.type.v1.Block', url: 'https://buf.build/streamingfast/firehose-litecoin/docs/main:sf.litecoin.type.v1', diff --git a/data/chains/V2/mode/meta.ts b/data/chains/V2/mode/meta.ts index e413e93..d333c22 100644 --- a/data/chains/V2/mode/meta.ts +++ b/data/chains/V2/mode/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { alt_names: [], graph_id: 'mode-mainnet', standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/moonbeam/meta.ts b/data/chains/V2/moonbeam/meta.ts index bce10fb..237c6d1 100644 --- a/data/chains/V2/moonbeam/meta.ts +++ b/data/chains/V2/moonbeam/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Moonbeam', alt_names: [], standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/near/meta.ts b/data/chains/V2/near/meta.ts index 5a1ccdb..c079de8 100644 --- a/data/chains/V2/near/meta.ts +++ b/data/chains/V2/near/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Near', alt_names: [], standard: 'near', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.near.type.v1.Block', url: 'https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1', diff --git a/data/chains/V2/near/testnets/neartest/meta.ts b/data/chains/V2/near/testnets/neartest/meta.ts index d91e9ab..7ccc589 100644 --- a/data/chains/V2/near/testnets/neartest/meta.ts +++ b/data/chains/V2/near/testnets/neartest/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Near-testnet', alt_names: [], standard: 'near', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.near.type.v1.Block', url: 'https://buf.build/streamingfast/firehose-near/docs/main:sf.near.type.v1', diff --git a/data/chains/V2/optimism/meta.ts b/data/chains/V2/optimism/meta.ts index 1f8f910..d185d54 100644 --- a/data/chains/V2/optimism/meta.ts +++ b/data/chains/V2/optimism/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Optimism', alt_names: [], standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/ore/meta.ts b/data/chains/V2/ore/meta.ts index 9e03bb2..3268945 100644 --- a/data/chains/V2/ore/meta.ts +++ b/data/chains/V2/ore/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Ore', alt_names: [], standard: 'antelope', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/ore/testnets/orestage/meta.ts b/data/chains/V2/ore/testnets/orestage/meta.ts index 6493731..14c7670 100644 --- a/data/chains/V2/ore/testnets/orestage/meta.ts +++ b/data/chains/V2/ore/testnets/orestage/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Ore Stage', alt_names: [], standard: 'antelope', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/osmosis/meta.ts b/data/chains/V2/osmosis/meta.ts index 37cce30..7792527 100644 --- a/data/chains/V2/osmosis/meta.ts +++ b/data/chains/V2/osmosis/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Osmosis', alt_names: [], standard: 'cosmos', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.cosmos.type.v1.Block', url: 'https://github.com/figment-networks/proto-cosmos/blob/main/sf/cosmos/type/v1/type.proto', diff --git a/data/chains/V2/polygon/meta.ts b/data/chains/V2/polygon/meta.ts index ae1cd77..c11cf6a 100644 --- a/data/chains/V2/polygon/meta.ts +++ b/data/chains/V2/polygon/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Polygon', alt_names: ['matic'], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/polygon/testnets/amoy/meta.ts b/data/chains/V2/polygon/testnets/amoy/meta.ts index 20662ca..9755240 100644 --- a/data/chains/V2/polygon/testnets/amoy/meta.ts +++ b/data/chains/V2/polygon/testnets/amoy/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Amoy', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/polygon/testnets/mumbai/meta.ts b/data/chains/V2/polygon/testnets/mumbai/meta.ts index 8d4977f..4763544 100644 --- a/data/chains/V2/polygon/testnets/mumbai/meta.ts +++ b/data/chains/V2/polygon/testnets/mumbai/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Mumbai', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/ronin/meta.ts b/data/chains/V2/ronin/meta.ts index 07689f1..300f3db 100644 --- a/data/chains/V2/ronin/meta.ts +++ b/data/chains/V2/ronin/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Ronin', alt_names: [], standard: 'rrc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/scroll/meta.ts b/data/chains/V2/scroll/meta.ts index 4f2f9b7..49fa445 100644 --- a/data/chains/V2/scroll/meta.ts +++ b/data/chains/V2/scroll/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Scroll', alt_names: [], standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/sei/meta.ts b/data/chains/V2/sei/meta.ts index 153ca71..4e40c36 100644 --- a/data/chains/V2/sei/meta.ts +++ b/data/chains/V2/sei/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Sei', alt_names: [], standard: 'sei', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/starknet/meta.ts b/data/chains/V2/starknet/meta.ts index d201222..cc24da9 100644 --- a/data/chains/V2/starknet/meta.ts +++ b/data/chains/V2/starknet/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Starknet', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/telos/meta.ts b/data/chains/V2/telos/meta.ts index 408c505..f9aa3b9 100644 --- a/data/chains/V2/telos/meta.ts +++ b/data/chains/V2/telos/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'Telos', alt_names: [], standard: 'antelope', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/telos/testnets/telostest/meta.ts b/data/chains/V2/telos/testnets/telostest/meta.ts index 55f7b22..dd99f71 100644 --- a/data/chains/V2/telos/testnets/telostest/meta.ts +++ b/data/chains/V2/telos/testnets/telostest/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'Telos Test', alt_names: [], standard: 'antelope', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/wax/meta.ts b/data/chains/V2/wax/meta.ts index 96c8e26..f8c51dd 100644 --- a/data/chains/V2/wax/meta.ts +++ b/data/chains/V2/wax/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'WAX', alt_names: [], standard: 'antelope', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/wax/testnets/waxtest/meta.ts b/data/chains/V2/wax/testnets/waxtest/meta.ts index d163a18..73b5629 100644 --- a/data/chains/V2/wax/testnets/waxtest/meta.ts +++ b/data/chains/V2/wax/testnets/waxtest/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { name: 'WAX Test', alt_names: [], standard: 'antelope', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.antelope.type.v1.Block', url: 'https://buf.build/pinax/firehose-antelope/docs/main:sf.antelope.type.v1', diff --git a/data/chains/V2/x-layer/meta.ts b/data/chains/V2/x-layer/meta.ts index 14a3cb8..9e96ad5 100644 --- a/data/chains/V2/x-layer/meta.ts +++ b/data/chains/V2/x-layer/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'X-Layer', alt_names: [], standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/xai/meta.ts b/data/chains/V2/xai/meta.ts index e876306..72b0ed6 100644 --- a/data/chains/V2/xai/meta.ts +++ b/data/chains/V2/xai/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { alt_names: [], graph_id: null, standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/zkastar/meta.ts b/data/chains/V2/zkastar/meta.ts index f8ed5c8..1f30427 100644 --- a/data/chains/V2/zkastar/meta.ts +++ b/data/chains/V2/zkastar/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { alt_names: [], graph_id: null, standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.zkevm.type.v1.Block', url: 'https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1', diff --git a/data/chains/V2/zkastar/testnets/zkatana/meta.ts b/data/chains/V2/zkastar/testnets/zkatana/meta.ts index bbc5dfa..fe73a73 100644 --- a/data/chains/V2/zkastar/testnets/zkatana/meta.ts +++ b/data/chains/V2/zkastar/testnets/zkatana/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { alt_names: [], graph_id: null, standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.zkevm.type.v1.Block', url: 'https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1', diff --git a/data/chains/V2/zkastar/testnets/zkyoto/meta.ts b/data/chains/V2/zkastar/testnets/zkyoto/meta.ts index 9f0f09b..93a939a 100644 --- a/data/chains/V2/zkastar/testnets/zkyoto/meta.ts +++ b/data/chains/V2/zkastar/testnets/zkyoto/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalTestnet = { alt_names: [], graph_id: 'zkyoto-testnet', standard: 'erc20', - rpc_poller: true, + is_detailed_blocks: false, block_type: { label: 'sf.zkevm.type.v1.Block', url: 'https://buf.build/pinax/firehose-zkevm/docs/main:sf.zkevm.type.v1', diff --git a/data/chains/V2/zksync/meta.ts b/data/chains/V2/zksync/meta.ts index d19d411..9904f41 100644 --- a/data/chains/V2/zksync/meta.ts +++ b/data/chains/V2/zksync/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { name: 'zkSync Era', alt_names: [], standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/chains/V2/zora/meta.ts b/data/chains/V2/zora/meta.ts index 686004a..4e2d03e 100644 --- a/data/chains/V2/zora/meta.ts +++ b/data/chains/V2/zora/meta.ts @@ -6,7 +6,7 @@ const meta: ___InternalChain = { alt_names: [], graph_id: null, standard: 'erc20', - rpc_poller: false, + is_detailed_blocks: true, block_type: { label: 'sf.ethereum.type.v2.Block', url: 'https://buf.build/streamingfast/firehose-ethereum/docs/main:sf.ethereum.type.v2', diff --git a/data/index.config.ts b/data/index.config.ts index 83de3ee..a416f63 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 8/1/2024, 5:03:23 PM. +// Last generation on 8/1/2024, 5:39:41 PM. export default { ordered: { diff --git a/types/chain.types.ts b/types/chain.types.ts index 4bc5176..ff3b44f 100644 --- a/types/chain.types.ts +++ b/types/chain.types.ts @@ -31,7 +31,7 @@ export type ChainBase = { // Whether or not the chain uses RPC poller // Chains with RPC poller only offer partial blocks - rpc_poller: boolean; + is_detailed_blocks: boolean; // Block Type block_type: BlockType; diff --git a/types/graph.types.ts b/types/graph.types.ts index 844e63e..23e459a 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 5:03:24 PM. +// Last generation on 8/1/2024, 5:39:42 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index f0ff60d..5eb1a53 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 5:03:24 PM. +// Last generation on 8/1/2024, 5:39:42 PM. export type PinaxID = | 'arbone' | 'arbgoerli' diff --git a/utils/chains.ts b/utils/chains.ts index d2cb01a..3a422c6 100644 --- a/utils/chains.ts +++ b/utils/chains.ts @@ -182,7 +182,7 @@ const findChainById = ( * @returns boolean */ const hasChainFullBlockSupport = (chain: Chain | Testnet | ConsensusLayer) => { - return !chain.rpc_poller; + return chain.is_detailed_blocks; }; export { From 433fa1484bb0863b2a060ca824747db5fcaed77e Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Thu, 1 Aug 2024 18:21:38 -0400 Subject: [PATCH 44/51] Added DOCS --- data/chains/V2/index.ts | 2 +- data/index.config.ts | 2 +- docs/adding_updating_deprecating.md | 25 ------- docs/beta_chains.md | 4 +- docs/chain_icons.md | 8 ++- docs/how_to_use.md | 103 ++++++++++++++++++++++++++++ docs/retrieve_graph_ids.md | 2 +- docs/updating_indexes.md | 2 +- types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 10 files changed, 117 insertions(+), 35 deletions(-) delete mode 100644 docs/adding_updating_deprecating.md create mode 100644 docs/how_to_use.md diff --git a/data/chains/V2/index.ts b/data/chains/V2/index.ts index 607d6e1..49ad233 100644 --- a/data/chains/V2/index.ts +++ b/data/chains/V2/index.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 5:39:41 PM. +// Last generation on 8/1/2024, 6:21:38 PM. export { default as arbone } from './arbone/meta'; export { default as arbgoerli } from './arbone/testnets/arbgoerli/meta'; diff --git a/data/index.config.ts b/data/index.config.ts index a416f63..15c4f3a 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 8/1/2024, 5:39:41 PM. +// Last generation on 8/1/2024, 6:21:38 PM. export default { ordered: { diff --git a/docs/adding_updating_deprecating.md b/docs/adding_updating_deprecating.md deleted file mode 100644 index 25ffdeb..0000000 --- a/docs/adding_updating_deprecating.md +++ /dev/null @@ -1,25 +0,0 @@ -### Adding a new chain - -Adding a new chain is as simple as adding a new file to the `data/chains` directory. The file should be named after the chain's official Pinax ID and should contain the metadata of the chain. The chain files are in Typescript, so make sure to cast them to the appropriate type to get the proper validations. - -Also make sure to run the `npm run generate:type_pinaxid` and `npm run generate:data_json` commands to update the related types and index if you're encountering any type issue there. - -If you're unsure about the fields you need to fill, you can have a look at the [Chain Type](/types/chain.types.ts) to learn more about the fields you need to fill. - -### Updating an existing chain - -To update an existing chain, you can simply open a PR with the changes you want to make to the chain's metadata. - -### Adding / Validating Graph IDs - -We use the `graph_id` field to match our chains to The Graph's. You can check the available graph IDs in the [Graphs](/types/graph.types.ts) file, which is [generated automatically](/scripts/generate/graphid_type.js) by fetching supported chains from The Graph's API. You can run `npm run generate:type_graphid` to update the graph IDs. - -### Updating the Chain Type - -If you want to add a new field to the chain type, you can simply open a PR with the changes you want to make to the chain type and make sure every chain's metadata is updated to include the new field if required. - -Removing a field from the chain type is not recommended, as it may break the metadata of the chains. If you want to remove a field, please open an issue to discuss it first. - -### Removing a chain - -If a chain data stream is no longer supported, simply set the `deprecated_at` field as the date of the deprecation. This allows the different services to know when to stop supporting the chain, and enables us to keep track of the chains we've supported in the past for proper redirects and such. \ No newline at end of file diff --git a/docs/beta_chains.md b/docs/beta_chains.md index 24de515..ecd3d8e 100644 --- a/docs/beta_chains.md +++ b/docs/beta_chains.md @@ -1,5 +1,3 @@ # Beta Chains -Beta chains are chains that are not yet officially supported by Pinax. These chains are not yet available in the Pinax UI, but endpoints are available for developers to use. - -Any chain that has a file here is considered a beta chain, until it has a release data and is not deprecated. \ No newline at end of file +Beta chains are chains that are not yet officially supported by Pinax. These chains are not yet available in the Pinax UI, but endpoints are available for developers to use. \ No newline at end of file diff --git a/docs/chain_icons.md b/docs/chain_icons.md index c349bc5..ad8bd35 100644 --- a/docs/chain_icons.md +++ b/docs/chain_icons.md @@ -2,4 +2,10 @@ For our chain icons, we use [Edge & Node's Token Icons library](https://tokenicons.io/). The library is a collection of SVG icons for various blockchain tokens and chains. The library is available on [GitHub](https://github.com/0xa3k5/token-icons), [NPM](https://www.npmjs.com/package/@token-icons/react) and [Figma](https://www.figma.com/community/file/1355517329090639687/token-icons-community). -In this repository, we leverage the library's metadata (in the final data.json generation script), to make sure that the chain icons are up-to-date with the latest changes. See [data_json.js](../scripts/generate/data_json.js) for more information. \ No newline at end of file +We wrote a script to leverage the library's metadata (in the final data.json generation script), to make sure that the chain icons are up-to-date with the latest changes. + +The [copy_token_icons.ts script](../scripts/generate/V2/copy_token_icons.ts) iterates through our supported chains and makes sure that every mainnet has its associated token-icons logos. The script will attempt to retrieve the `branded` and `mono` versions of the chains logo. It will then copy those over and with the mono version of the logo create the `dark` and `light` variants. For more information, please read [chain_icons.md](./chain_icons.md). + +If it can't find them, you'll receive an error and may need to provide an ID match in the script's code. + +See [copy_token_icons.ts](../scripts/generate/V2/copy_token_icons.ts) for more information. \ No newline at end of file diff --git a/docs/how_to_use.md b/docs/how_to_use.md new file mode 100644 index 0000000..bea3dda --- /dev/null +++ b/docs/how_to_use.md @@ -0,0 +1,103 @@ +# How to Use the Chains Repository + +**Content** + +- [Metadata Updates](#metadata-updates) + - [Adding a new chain](#adding-a-new-chain) + - [Updating an Existing Chain](#updating-an-existing-chain) + - [Deprecating a Chain](#deprecating-a-chain) +- [Scripts](#scripts) +- [Types](#types) + - [Typing & Updating Auto-Generated Types](#typing--updating-auto-generated-types) + - [Updating the Chain Type](#updating-the-chain-type) + +## Metadata Updates + +In this section, you'll learn all you need to update the chains metadata, to either add newly supported chains by Pinax, deprecated chains, etc. + +### Adding a new chain + +Adding a new chain is as simple as adding a new file under the `data/chains/V2` directory (we're deprecating V1). The folder structure should respect the following; + +``` +/data/chains/V2 +├── MAINNET_ID/ +│ ├── meta.ts # Metadata of the Mainnet +│ ├── MAINNET_ID.branded.svg # Auto-generated Token-icons +│ ├── MAINNET_ID.dark.svg +│ ├── MAINNET_ID.light.svg +│ ├── consensus/ +│ │ ├── TESTNET_ID/ +│ │ ├── meta.ts # Metadata of the consensus subnet (can be testnets) +│ │ └── ... +│ ├── evms/ +│ │ ├── EVM_ID/ +│ │ ├── meta.ts # Metadata of the EVM subnet +│ │ └── ... +│ ├── testnets/ +│ │ ├── TESTNET_ID/ +│ │ ├── meta.ts # Metadata of the testnet +│ │ └── ... +│ └── +└── ... +``` + +The folders should be named after the chain's official Pinax ID and should contain the `meta.ts` file describing the chain. + +### Updating an Existing Chain + +To update an existing chain, you can simply open a PR with the changes you want to make to the chain's metadata. + +### Deprecating a Chain + +If a chain data stream is no longer supported, simply set the `deprecated_at` field as the date of the deprecation. This allows the different services to know when to stop supporting the chain, and enables us to keep track of the chains we've supported in the past for proper redirects and such. + +## Scripts + +As maintaining this huge list of chain can become challenging and repetitive, we've developed a few scripts to help automate certain tasks. You can review those scripts under the `/scripts` folder, but we'll summarize what they do here; + +### Generation Scripts + +Generation scripts use external data or project structure to extrapolate data to automate repetitive tasks. + +#### Script: Copy Token Icons + +This script iterates through our supported chains and makes sure that every mainnet has its associated token-icons logos. The script will attempt to retrieve the `branded` and `mono` versions of the chains logo. It will then copy those over and with the mono version of the logo create the `dark` and `light` variants. For more information, please read [chain_icons.md](./chain_icons.md). + +#### Script: Data Index + +This script maintains the index.ts file exporting all `meta.ts` from the `/data/chains/V2` folder (and nested folders), so we don't have to worry about unexported chains. + +#### Script: Index Config Check + +This script validates that every chain was placed in the `index.config.ts`, to be given a unique, prioritized index relative to other chains. If any chains are found in the `/data/chains/V2` folder but isn't configured in the `index.config.ts` file, it will throw an error and add those missing chains in the `missing` array of the file. + +#### Script: Graph IDs + +This script fetches The Graph endpoint of supported chains and updates our type definition for valid Graph network IDs. + +#### Script: Pinax IDs + +This script iterates through the files in the `/data/chains/V2` and updates our type definition for valid Pinax network IDs. + +### Verification Scripts + +For now, no verification script is implemented, but it would be a good idea to implement a script that can check our metadata against [Notion's Blockchain Service Matrix](https://www.notion.so/pinaxnetwork/bfec60491b1d48509980ef69e31e7651?v=93922339441443698c3ebc8a695b61bd) (or whatever chosen selected single-source-of-truth for Pinax-supported chains). The folder structure for such a script is already there, but the scripts would need to be implemented. + +## Types + +Core types are located under `/types/`. Make sure to review those files to familiarize yourself with the data format we enforce for mainnets and their subnets. + +### Typing & Updating Auto-Generated Types + +The chain files are in Typescript, so make sure to cast them to the appropriate type to get the proper validations (Chain, Testnet, Consensus). + +Also make sure to run the `npm run generate:type_pinaxid` and `npm run generate:data_json` commands to update the related types and index if you're encountering any ID type issue there. + +If you're unsure about the fields you need to fill, you can have a look at the [Chain Type](/types/chain.types.ts) to learn more about the fields you need to fill. + +### Updating the Chain Type + +If you want to add a new field to the chain type, you can simply open a PR with the changes you want to make to the chain type and make sure every chain's metadata is updated to include the new field if required. + +Removing a field from the chain type is not recommended, as it may break the metadata of the chains. If you want to remove a field, please open an issue to discuss it first. \ No newline at end of file diff --git a/docs/retrieve_graph_ids.md b/docs/retrieve_graph_ids.md index 7d12c08..62a1903 100644 --- a/docs/retrieve_graph_ids.md +++ b/docs/retrieve_graph_ids.md @@ -6,7 +6,7 @@ In the case that the chain is not available on The Graph, we set its `graph_id` ## Steps to retrieve The Graph Chain IDs -**OPTION A: Run `npm run fetch-graph-ids.js` in the project** +**OPTION A: Run `npm run fetch-graph-ids` in the project** 1. Clone the repository 2. At the root of the project, run `npm run fetch-graph-ids` diff --git a/docs/updating_indexes.md b/docs/updating_indexes.md index 2cacfb3..45c3be5 100644 --- a/docs/updating_indexes.md +++ b/docs/updating_indexes.md @@ -1,3 +1,3 @@ # Updating Indexes -To display the chains in the UI, each chain has an index score that is used to sort the chains. To reorganize the chains, you can update the [index.config.ts](../data/index.config.ts) file. \ No newline at end of file +To display the chains in the UI, each chain has an index score that is used to sort the chains. To reorganize the chains, you can update the [index.config.ts](../data/index.config.ts) file. Indexes are given in ascending order. \ No newline at end of file diff --git a/types/graph.types.ts b/types/graph.types.ts index 23e459a..1c9220f 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 5:39:42 PM. +// Last generation on 8/1/2024, 6:21:39 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 5eb1a53..6076e40 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 5:39:42 PM. +// Last generation on 8/1/2024, 6:21:39 PM. export type PinaxID = | 'arbone' | 'arbgoerli' From 6bc4a17b7d17ee317a1293221f73041bbf96b310 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Thu, 1 Aug 2024 18:22:43 -0400 Subject: [PATCH 45/51] Saved how to file... --- data/chains/V2/index.ts | 2 +- data/index.config.ts | 2 +- docs/how_to_use.md | 22 ++++++++++++++++++---- types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 5 files changed, 22 insertions(+), 8 deletions(-) diff --git a/data/chains/V2/index.ts b/data/chains/V2/index.ts index 49ad233..2d6a6ad 100644 --- a/data/chains/V2/index.ts +++ b/data/chains/V2/index.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 6:21:38 PM. +// Last generation on 8/1/2024, 6:22:44 PM. export { default as arbone } from './arbone/meta'; export { default as arbgoerli } from './arbone/testnets/arbgoerli/meta'; diff --git a/data/index.config.ts b/data/index.config.ts index 15c4f3a..c9b0008 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 8/1/2024, 6:21:38 PM. +// Last generation on 8/1/2024, 6:22:44 PM. export default { ordered: { diff --git a/docs/how_to_use.md b/docs/how_to_use.md index bea3dda..5d6d51d 100644 --- a/docs/how_to_use.md +++ b/docs/how_to_use.md @@ -1,12 +1,19 @@ # How to Use the Chains Repository -**Content** +This file is the best place to learn everything there is to know about the chains repository! Feel free to use this as a quickstart guide or as a reference as you work inside the project. + +## Content - [Metadata Updates](#metadata-updates) - [Adding a new chain](#adding-a-new-chain) - [Updating an Existing Chain](#updating-an-existing-chain) - [Deprecating a Chain](#deprecating-a-chain) - [Scripts](#scripts) + - [Script: Copy Token Icons](#script-copy-token-icons) + - [Script: Data Index](#script-data-index) + - [Script: Index Config Check](#script-index-config-check) + - [Script: Graph IDs Type](#script-graph-ids-type) + - [Script: Pinax IDs Type](#script-pinax-ids-type) - [Types](#types) - [Typing & Updating Auto-Generated Types](#typing--updating-auto-generated-types) - [Updating the Chain Type](#updating-the-chain-type) @@ -72,13 +79,20 @@ This script maintains the index.ts file exporting all `meta.ts` from the `/data/ This script validates that every chain was placed in the `index.config.ts`, to be given a unique, prioritized index relative to other chains. If any chains are found in the `/data/chains/V2` folder but isn't configured in the `index.config.ts` file, it will throw an error and add those missing chains in the `missing` array of the file. -#### Script: Graph IDs +#### Script: Graph IDs Type This script fetches The Graph endpoint of supported chains and updates our type definition for valid Graph network IDs. -#### Script: Pinax IDs +#### Script: Pinax IDs Type + +This script iterates through the files in the `/data/chains/V2` and updates our type definition for valid Pinax network IDs. + + +#### Script Automation + +All of those scripts are defined in the `package.json`, so you can run them manually by using NPM commands. You may find that you need to need some scripts manually, one good example being `generate:type_pinaxid` and `generate:type_graphid` while adding new chains. -This script iterates through the files in the `/data/chains/V2` and updates our type definition for valid Pinax network IDs. +But in most cases, you shouldn't have to worry to much about those scripts, they're run pre-commit, so everything _**should**_ update automagically, otherwise you'll receive errors explaning the steps that needs to be taken. ### Verification Scripts diff --git a/types/graph.types.ts b/types/graph.types.ts index 1c9220f..cafa7e0 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 6:21:39 PM. +// Last generation on 8/1/2024, 6:22:44 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 6076e40..e66bc52 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 6:21:39 PM. +// Last generation on 8/1/2024, 6:22:44 PM. export type PinaxID = | 'arbone' | 'arbgoerli' From 30db06ba1033eeea988ed73bcb7bb0536b89d855 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Thu, 1 Aug 2024 18:27:06 -0400 Subject: [PATCH 46/51] Linked other docs --- data/chains/V2/index.ts | 2 +- data/index.config.ts | 2 +- docs/beta_chains.md | 4 +++- docs/how_to_use.md | 6 +++--- docs/retrieve_graph_ids.md | 2 +- types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/data/chains/V2/index.ts b/data/chains/V2/index.ts index 2d6a6ad..693ab13 100644 --- a/data/chains/V2/index.ts +++ b/data/chains/V2/index.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 6:22:44 PM. +// Last generation on 8/1/2024, 6:27:06 PM. export { default as arbone } from './arbone/meta'; export { default as arbgoerli } from './arbone/testnets/arbgoerli/meta'; diff --git a/data/index.config.ts b/data/index.config.ts index c9b0008..18c7b8d 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 8/1/2024, 6:22:44 PM. +// Last generation on 8/1/2024, 6:27:06 PM. export default { ordered: { diff --git a/docs/beta_chains.md b/docs/beta_chains.md index ecd3d8e..4864489 100644 --- a/docs/beta_chains.md +++ b/docs/beta_chains.md @@ -1,3 +1,5 @@ # Beta Chains -Beta chains are chains that are not yet officially supported by Pinax. These chains are not yet available in the Pinax UI, but endpoints are available for developers to use. \ No newline at end of file +Beta chains are chains that are not yet officially supported by Pinax. These chains are not yet available in the Pinax UI, but endpoints are available for developers to use. These chains are typically requested to use by The Graph and while we do not productize them, we support them and they _**should**_ have the stability required by our contract with The Graph. + +We assume those are still risky to use on a production app. \ No newline at end of file diff --git a/docs/how_to_use.md b/docs/how_to_use.md index 5d6d51d..e78263e 100644 --- a/docs/how_to_use.md +++ b/docs/how_to_use.md @@ -49,7 +49,7 @@ Adding a new chain is as simple as adding a new file under the `data/chains/V2` └── ... ``` -The folders should be named after the chain's official Pinax ID and should contain the `meta.ts` file describing the chain. +The folders should be named after the chain's official Pinax ID and should contain the `meta.ts` file describing the chain. You may also like to read about [Beta Chains](./beta_chains.md). ### Updating an Existing Chain @@ -77,11 +77,11 @@ This script maintains the index.ts file exporting all `meta.ts` from the `/data/ #### Script: Index Config Check -This script validates that every chain was placed in the `index.config.ts`, to be given a unique, prioritized index relative to other chains. If any chains are found in the `/data/chains/V2` folder but isn't configured in the `index.config.ts` file, it will throw an error and add those missing chains in the `missing` array of the file. +This script validates that every chain was placed in the `index.config.ts`, to be given a unique, prioritized index relative to other chains. If any chains are found in the `/data/chains/V2` folder but isn't configured in the `index.config.ts` file, it will throw an error and add those missing chains in the `missing` array of the file. For more info, please read [updating_indexes.md](./updating_indexes.md). #### Script: Graph IDs Type -This script fetches The Graph endpoint of supported chains and updates our type definition for valid Graph network IDs. +This script fetches The Graph endpoint of supported chains and updates our type definition for valid Graph network IDs. For more info, please read [retrieve_graph_ids.md](./retrieve_graph_ids.md). #### Script: Pinax IDs Type diff --git a/docs/retrieve_graph_ids.md b/docs/retrieve_graph_ids.md index 62a1903..2d0e074 100644 --- a/docs/retrieve_graph_ids.md +++ b/docs/retrieve_graph_ids.md @@ -1,6 +1,6 @@ # Retrieve The Graph Chain IDs -This process is useful to add a supported chain to the app, as we need to make sure that the chain is available on The Graph to provide a valid TOML quickstart config. GraphID type is automatically updated daily by a GitHub Action, so in most cases you don't need to worry about it. +This process is useful to add a supported chain to the app, as we need to make sure that the chain is available on The Graph to provide a valid TOML quickstart config. GraphID type is automatically updated on pre-commit, so in most cases you don't need to worry about it. In the case that the chain is not available on The Graph, we set its `graph_id` to null, so that the TOML config shows `This chain is not supported by The Graph Network`. diff --git a/types/graph.types.ts b/types/graph.types.ts index cafa7e0..1a8106a 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 6:22:44 PM. +// Last generation on 8/1/2024, 6:27:07 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index e66bc52..3d2be60 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 6:22:44 PM. +// Last generation on 8/1/2024, 6:27:07 PM. export type PinaxID = | 'arbone' | 'arbgoerli' From e2af6b0e1347389a36cdb80378d1b43b37587b70 Mon Sep 17 00:00:00 2001 From: Dominic Fournier <36671850+DominicF96@users.noreply.github.com> Date: Fri, 2 Aug 2024 02:14:59 -0400 Subject: [PATCH 47/51] Update README.md --- README.md | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index a43b8cf..a1f8073 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,42 @@ # Pinax Chains -This is the single-source-of-truth for the metadata of chains supported by Pinax **_products_** (we have a separate, private list for internal ops). To make it more accessible, we've published it as a [npm package](#install_from_npm) and created a [public endpoint to fetch chains metadata](#public_endpoint). +Welcome to the Pinax Chains repository. This is the definitive source for the metadata of chains supported by Pinax **_products_**. Note that we maintain a separate, private list for internal operations. -You can have a look at the [Chain Type](/types/chain.types.ts) and at our [list of supported, to-be-supported, or once-supported chains](/types/pinax.types.ts). +To enhance accessibility, we offer the metadata as an [npm package](#install_from_npm) and provide a [public API endpoint](#public_endpoint) for fetching the data. -> **Note**: Some chains may be listed but won't have any service supported or may have been deprecated, see each chain's metadata to ensure the chain is truly supported. +You can view details about the [Chain Type](/types/chain.types.ts) and explore our [list of supported, to-be-supported, or deprecated chains](/types/pinax.types.ts). + +> **Note**: Some chains may be listed without supported services or may have been deprecated. Always check the chain's metadata to confirm its current support status. ## What's New -With the 2.0 release, we've done massive changes to improve QoL for developers and maintainers. The most important changes are; - -- ✅ Added suppoert for EVM chains -- ✅ Reintroduced Typescript support -- ✅ Easier to manage chain indexes (priority order) -- ✅ Bundled the chains utils between multiple projects -- ✅ Bundled the service configs between multiple projects -- ✅ Bundled chain icons and automated check for missing icons -- ✅ Added script to automatically check changes from the Notion page (CSV export) -- ✅ Easier to understand data model that better reflects relationships between chains, services, and networks -- ✅ Added beta chains +With the 2.0 release, we’ve made significant improvements to enhance developer and maintainer experience. Key updates include: + +- ✅ Support for EVM chains +- ✅ Reintroduced TypeScript support +- ✅ Improved management of chain indexes (priority order) +- ✅ Consolidated chain utilities and service configurations across projects +- ✅ Automated checks for missing chain icons +- ✅ Simplified data model reflecting better relationships between chains, services, and networks +- ✅ Inclusion of beta chains - ✅ Support for `unreleased` and `beta` services -- ✅ No more need to maintain a bunch of flags that can be extrapolated from data -- ✅ No more duplicated information in mainnets and subnets -- ✅ Added chains website to metadata -- And many more... +- ✅ Eliminated redundant flags and information +- ✅ Integrated chains website into metadata +- And more... ## Installation ### From npm +To install the package, run: + ```bash npm install @pinax/chains ``` ### Public Endpoint -You can fetch the publicly available chains metadata from the following endpoint: +Access the chains metadata via the public API endpoint: ```bash curl https://pinax.network/api/chains @@ -43,4 +44,4 @@ curl https://pinax.network/api/chains ## Contributing -If you want to contribute to the metadata of chains, please open a PR with the changes you want to make. We'll review it and merge it if it's correct. Make sure to read any relevant [documentation](/docs) before contributing. +If you wish to contribute to the chain metadata, please open a pull request (PR) with your proposed changes. We will review and merge it if accurate. Be sure to consult the [documentation](/docs) before contributing. \ No newline at end of file From 306a5a8fafb1ac01bd64b71148cd85f974e56fa2 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Fri, 2 Aug 2024 09:55:55 -0400 Subject: [PATCH 48/51] Documented detailed blocks --- data/chains/V2/index.ts | 2 +- data/index.config.ts | 2 +- package.json | 4 ++-- types/chain.types.ts | 7 +++++-- types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 6 files changed, 11 insertions(+), 8 deletions(-) diff --git a/data/chains/V2/index.ts b/data/chains/V2/index.ts index 693ab13..27c2a6a 100644 --- a/data/chains/V2/index.ts +++ b/data/chains/V2/index.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 6:27:06 PM. +// Last generation on 8/2/2024, 9:55:56 AM. export { default as arbone } from './arbone/meta'; export { default as arbgoerli } from './arbone/testnets/arbgoerli/meta'; diff --git a/data/index.config.ts b/data/index.config.ts index 18c7b8d..d9d6785 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 8/1/2024, 6:27:06 PM. +// Last generation on 8/2/2024, 9:55:56 AM. export default { ordered: { diff --git a/package.json b/package.json index c563e32..6f75416 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,8 @@ "ssot" ], "author": "Dominic ", - "main": "data.json", - "types": "data.d.ts", + "main": "data/chains/V2/data.json", + "types": "/types/index.ts", "files": [ "index.ts", "/utils/**/**.ts", diff --git a/types/chain.types.ts b/types/chain.types.ts index ff3b44f..afd77aa 100644 --- a/types/chain.types.ts +++ b/types/chain.types.ts @@ -29,8 +29,11 @@ export type ChainBase = { // Chain Standard (ie. ERC20) standard: Standard | null; - // Whether or not the chain uses RPC poller - // Chains with RPC poller only offer partial blocks + // Whether or not the chain supports detailed blocks. + // Not all chains are equal, some uses RPC poller + // which only offer partial blocks. + // See whether or not RPC poller is ticked on the + // Blockchain Service Matrix (https://www.notion.so/pinaxnetwork/Blockchain-Service-Matrix). is_detailed_blocks: boolean; // Block Type diff --git a/types/graph.types.ts b/types/graph.types.ts index 1a8106a..638cd81 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 6:27:07 PM. +// Last generation on 8/2/2024, 9:55:57 AM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 3d2be60..4e2feb5 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 8/1/2024, 6:27:07 PM. +// Last generation on 8/2/2024, 9:55:57 AM. export type PinaxID = | 'arbone' | 'arbgoerli' From db5d9d09fd9a447def1b42cf76c324794e0b085c Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Fri, 2 Aug 2024 11:58:31 -0400 Subject: [PATCH 49/51] Removed test testnet --- README.md | 2 ++ data/chains/V2/index.ts | 2 +- data/index.config.ts | 2 +- package.json | 2 +- scripts/generate/V2/data_json.ts | 7 +------ types/chain.types.ts | 7 +++++++ types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 8 files changed, 15 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index a1f8073..23aac1c 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,8 @@ With the 2.0 release, we’ve made significant improvements to enhance developer ## Installation +You first need to install [bun](https://bun.sh/). + ### From npm To install the package, run: diff --git a/data/chains/V2/index.ts b/data/chains/V2/index.ts index 27c2a6a..8f45bbb 100644 --- a/data/chains/V2/index.ts +++ b/data/chains/V2/index.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/2/2024, 9:55:56 AM. +// Last generation on 8/2/2024, 11:58:31 AM. export { default as arbone } from './arbone/meta'; export { default as arbgoerli } from './arbone/testnets/arbgoerli/meta'; diff --git a/data/index.config.ts b/data/index.config.ts index d9d6785..2cf328f 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 8/2/2024, 9:55:56 AM. +// Last generation on 8/2/2024, 11:58:31 AM. export default { ordered: { diff --git a/package.json b/package.json index 6f75416..871851d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@pinax/chains", - "version": "2.0.5-rc1", + "version": "2.0.6", "description": "Single-source-of-truth for the metadata of chains supported by Pinax.", "keywords": [ "chains", diff --git a/scripts/generate/V2/data_json.ts b/scripts/generate/V2/data_json.ts index aa5b5e9..90bc83e 100644 --- a/scripts/generate/V2/data_json.ts +++ b/scripts/generate/V2/data_json.ts @@ -4,12 +4,7 @@ import * as chainData from '../../../data/chains/V2/index'; import { toCamelCase } from '../../../utils/case'; import indexConf from '../../../data/index.config'; import { IndexConfig } from './index_config_check'; -import { - Chain, - ServiceID, - ServiceStatusDates, - SupportedServices, -} from '../../../types'; +import { Chain, SupportedServices } from '../../../types'; interface SubnetData { id: string; diff --git a/types/chain.types.ts b/types/chain.types.ts index afd77aa..4340ca2 100644 --- a/types/chain.types.ts +++ b/types/chain.types.ts @@ -27,6 +27,8 @@ export type ChainBase = { index?: number; // Chain Standard (ie. ERC20) + // One good reference to determine chain standard is + // https://thegraph.com/docs/en/developing/supported-networks/ standard: Standard | null; // Whether or not the chain supports detailed blocks. @@ -71,9 +73,14 @@ export type ___InternalEVM = ChainBase & { export interface ___InternalChain extends ChainBase { icon: { // Token Icon ID + // See if icon is available on https://tokenicons.io/, if not create PR to add it. + // Then go on the Github Repo and find the icon ID under /packages/core/src/metadata/ + // https://github.com/0xa3k5/token-icons id: string; // Theme of the Icon brand + // To avoid placing a dark icon on a dark background. + // If the brand is in midtones or some vibrant color, use 'both'. brand_theme: 'light' | 'dark' | 'both'; // Generated by ./scripts/generate/data_json.js diff --git a/types/graph.types.ts b/types/graph.types.ts index 638cd81..b617d02 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/2/2024, 9:55:57 AM. +// Last generation on 8/2/2024, 11:58:31 AM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 4e2feb5..83ff6ce 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 8/2/2024, 9:55:57 AM. +// Last generation on 8/2/2024, 11:58:32 AM. export type PinaxID = | 'arbone' | 'arbgoerli' From 2f9b8c93a6b20556345e45aba01b8d09b50dbf82 Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Fri, 2 Aug 2024 11:59:03 -0400 Subject: [PATCH 50/51] Removed unecessary comment --- data/chains/V2/index.ts | 2 +- data/index.config.ts | 2 +- scripts/generate/V2/data_json.ts | 6 ------ types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 5 files changed, 4 insertions(+), 10 deletions(-) diff --git a/data/chains/V2/index.ts b/data/chains/V2/index.ts index 8f45bbb..ae9e0f6 100644 --- a/data/chains/V2/index.ts +++ b/data/chains/V2/index.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/2/2024, 11:58:31 AM. +// Last generation on 8/2/2024, 11:59:03 AM. export { default as arbone } from './arbone/meta'; export { default as arbgoerli } from './arbone/testnets/arbgoerli/meta'; diff --git a/data/index.config.ts b/data/index.config.ts index 2cf328f..74d687d 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 8/2/2024, 11:58:31 AM. +// Last generation on 8/2/2024, 11:59:03 AM. export default { ordered: { diff --git a/scripts/generate/V2/data_json.ts b/scripts/generate/V2/data_json.ts index 90bc83e..59d797e 100644 --- a/scripts/generate/V2/data_json.ts +++ b/scripts/generate/V2/data_json.ts @@ -21,12 +21,6 @@ if (indexConf.missing.length > 0) { process.exit(1); } -// 1. Load the chains-lock file -// 2. Iterate through chain data (from index) -// 3. For each chain, find their lock version using findChainById -// 4. Check lock version dates and update the chain data -// - const data: Chain[] = []; let indexCounter = 0; diff --git a/types/graph.types.ts b/types/graph.types.ts index b617d02..96c85b2 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/2/2024, 11:58:31 AM. +// Last generation on 8/2/2024, 11:59:04 AM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 83ff6ce..77cb4f4 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 8/2/2024, 11:58:32 AM. +// Last generation on 8/2/2024, 11:59:04 AM. export type PinaxID = | 'arbone' | 'arbgoerli' From fbd2572c4394ed5a687c0b0f674254972bdad07c Mon Sep 17 00:00:00 2001 From: Dominic Fournier Date: Fri, 2 Aug 2024 12:13:17 -0400 Subject: [PATCH 51/51] Added how to link in readme --- README.md | 4 ++++ data/chains/V2/index.ts | 2 +- data/index.config.ts | 2 +- types/graph.types.ts | 2 +- types/pinax.types.ts | 2 +- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 23aac1c..b25cafb 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,10 @@ Access the chains metadata via the public API endpoint: curl https://pinax.network/api/chains ``` +### How to use + +Please see [How to use](/docs/how_to_use.md) documentation for more information. + ## Contributing If you wish to contribute to the chain metadata, please open a pull request (PR) with your proposed changes. We will review and merge it if accurate. Be sure to consult the [documentation](/docs) before contributing. \ No newline at end of file diff --git a/data/chains/V2/index.ts b/data/chains/V2/index.ts index ae9e0f6..9342a2a 100644 --- a/data/chains/V2/index.ts +++ b/data/chains/V2/index.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/2/2024, 11:59:03 AM. +// Last generation on 8/2/2024, 12:13:17 PM. export { default as arbone } from './arbone/meta'; export { default as arbgoerli } from './arbone/testnets/arbgoerli/meta'; diff --git a/data/index.config.ts b/data/index.config.ts index 74d687d..0dd88f3 100644 --- a/data/index.config.ts +++ b/data/index.config.ts @@ -2,7 +2,7 @@ // Chains under ordered were manually placed, to manage the z-index (priority order) of chains. // Chains under missing are generated from available data, make sure to order them. // Include deprecated or future chains. -// Last generation on 8/2/2024, 11:59:03 AM. +// Last generation on 8/2/2024, 12:13:17 PM. export default { ordered: { diff --git a/types/graph.types.ts b/types/graph.types.ts index 96c85b2..af4c1b3 100644 --- a/types/graph.types.ts +++ b/types/graph.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it. // Do not modify manually as it will be overwritten. -// Last generation on 8/2/2024, 11:59:04 AM. +// Last generation on 8/2/2024, 12:13:18 PM. export type GraphID = | 'arbitrum-one' | 'arbitrum-sepolia' diff --git a/types/pinax.types.ts b/types/pinax.types.ts index 77cb4f4..7512d2c 100644 --- a/types/pinax.types.ts +++ b/types/pinax.types.ts @@ -1,6 +1,6 @@ // This file is auto-generated on pre-commit to avoid maintaining it / circular dependencies. // Do not modify manually as it will be overwritten. -// Last generation on 8/2/2024, 11:59:04 AM. +// Last generation on 8/2/2024, 12:13:18 PM. export type PinaxID = | 'arbone' | 'arbgoerli'