diff --git a/.changeset/new-gorillas-scream.md b/.changeset/new-gorillas-scream.md new file mode 100644 index 000000000..7b3911a7b --- /dev/null +++ b/.changeset/new-gorillas-scream.md @@ -0,0 +1,11 @@ +--- +'@graphprotocol/graph-cli': minor +--- + +- add networks registry support +- improve `graph init` flow + - filter through the networks as you type + - more information about the networks + - remove unnecessary options depending on the selection + - ESC key to go back +- allow specifying ipfs/url for substreams package diff --git a/.prettierignore b/.prettierignore index e8faf75b2..b613e565b 100644 --- a/.prettierignore +++ b/.prettierignore @@ -5,5 +5,6 @@ generated packages/cli/tests/cli/init packages/cli/tests/cli/validation packages/cli/tests/cli/add +packages/cli/config/TheGraphNetworksRegistry.json pnpm-lock.yaml website/src/graphql-env.d.ts diff --git a/examples/aggregations/package.json b/examples/aggregations/package.json index ee5830812..d45881028 100644 --- a/examples/aggregations/package.json +++ b/examples/aggregations/package.json @@ -10,9 +10,9 @@ "scripts": { "build": "graph build", "codegen": "graph codegen", - "create": "graph create example --node https://api.thegraph.com/deploy/", + "create": "graph create example --node https://api.studio.thegraph.com/deploy/", "create-local": "graph create example --node http://127.0.0.1:8020", - "deploy": "graph deploy example --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/", + "deploy": "graph deploy example --ipfs https://api.thegraph.com/ipfs/ --node https://api.studio.thegraph.com/deploy/", "deploy-local": "graph deploy example --ipfs http://127.0.0.1:5001 --node http://127.0.0.1:8020", "test": "graph test" }, diff --git a/examples/arweave-blocks-transactions/package.json b/examples/arweave-blocks-transactions/package.json index c608c3304..bf76c9b6a 100644 --- a/examples/arweave-blocks-transactions/package.json +++ b/examples/arweave-blocks-transactions/package.json @@ -12,9 +12,9 @@ "scripts": { "build": "graph build", "codegen": "graph codegen", - "create": "graph create arweave-example --node https://api.thegraph.com/deploy/", + "create": "graph create arweave-example --node https://api.studio.thegraph.com/deploy/", "create-local": "graph create arweave-example --node http://localhost:8020", - "deploy": "graph deploy arweave-example --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/", + "deploy": "graph deploy arweave-example --ipfs https://api.thegraph.com/ipfs/ --node https://api.studio.thegraph.com/deploy/", "deploy-local": "graph deploy arweave-example -l v0.1.0 --ipfs http://localhost:5001 --node http://localhost:8020", "remove-local": "graph remove arweave-example --node http://localhost:8020" }, diff --git a/examples/cosmos-block-filtering/package.json b/examples/cosmos-block-filtering/package.json index 231eaee3a..dd8b7d839 100644 --- a/examples/cosmos-block-filtering/package.json +++ b/examples/cosmos-block-filtering/package.json @@ -11,9 +11,9 @@ "scripts": { "build": "graph build", "codegen": "graph codegen", - "create": "graph create cosmos-block-filtering --node https://api.thegraph.com/deploy/", + "create": "graph create cosmos-block-filtering --node https://api.studio.thegraph.com/deploy/", "create-local": "graph create cosmos-block-filtering --node http://127.0.0.1:8020", - "deploy": "graph deploy cosmos-block-filtering --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/", + "deploy": "graph deploy cosmos-block-filtering --ipfs https://api.thegraph.com/ipfs/ --node https://api.studio.thegraph.com/deploy/", "deploy-local": "graph deploy cosmos-block-filtering -l v0.1.0 --ipfs http://127.0.0.1:5001 --node http://127.0.0.1:8020", "prepare:cosmoshub": "mustache config/cosmoshub.json subgraph.template.yaml > subgraph.yaml", "prepare:osmosis": "mustache config/osmosis.json subgraph.template.yaml > subgraph.yaml", diff --git a/examples/cosmos-osmosis-token-swaps/package.json b/examples/cosmos-osmosis-token-swaps/package.json index 9be4cb1ab..e28e0827d 100644 --- a/examples/cosmos-osmosis-token-swaps/package.json +++ b/examples/cosmos-osmosis-token-swaps/package.json @@ -11,9 +11,9 @@ "scripts": { "build": "graph build", "codegen": "graph codegen", - "create": "graph create osmosis-token-swaps --node https://api.thegraph.com/deploy/", + "create": "graph create osmosis-token-swaps --node https://api.studio.thegraph.com/deploy/", "create-local": "graph create osmosis-token-swaps --node http://0.0.0.0:8020", - "deploy": "graph deploy osmosis-token-swaps --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/", + "deploy": "graph deploy osmosis-token-swaps --ipfs https://api.thegraph.com/ipfs/ --node https://api.studio.thegraph.com/deploy/", "deploy-local": "graph deploy osmosis-token-swaps -l v0.1.0 --ipfs http://0.0.0.0:5001 --node http://0.0.0.0:8020", "remove-local": "graph remove osmosis-token-swaps --node http://0.0.0.0:8020" }, diff --git a/examples/cosmos-validator-delegations/package.json b/examples/cosmos-validator-delegations/package.json index 79c7fd7dd..572e875e4 100644 --- a/examples/cosmos-validator-delegations/package.json +++ b/examples/cosmos-validator-delegations/package.json @@ -11,9 +11,9 @@ "scripts": { "build": "graph build", "codegen": "graph codegen", - "create": "graph create cosmos-validator-delegations --node https://api.thegraph.com/deploy/", + "create": "graph create cosmos-validator-delegations --node https://api.studio.thegraph.com/deploy/", "create-local": "graph create cosmos-validator-delegations --node http://127.0.0.1:8020", - "deploy": "graph deploy cosmos-validator-delegations --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/", + "deploy": "graph deploy cosmos-validator-delegations --ipfs https://api.thegraph.com/ipfs/ --node https://api.studio.thegraph.com/deploy/", "deploy-local": "graph deploy cosmos-validator-delegations -l v0.1.0 --ipfs http://127.0.0.1:5001 --node http://127.0.0.1:8020", "prepare:cosmoshub": "mustache config/cosmoshub.json subgraph.template.yaml > subgraph.yaml", "prepare:osmosis": "mustache config/osmosis.json subgraph.template.yaml > subgraph.yaml", diff --git a/examples/cosmos-validator-rewards/package.json b/examples/cosmos-validator-rewards/package.json index 723f6ee14..45c49d870 100644 --- a/examples/cosmos-validator-rewards/package.json +++ b/examples/cosmos-validator-rewards/package.json @@ -11,9 +11,9 @@ "scripts": { "build": "graph build", "codegen": "graph codegen", - "create": "graph create cosmos-validator-rewards --node https://api.thegraph.com/deploy/", + "create": "graph create cosmos-validator-rewards --node https://api.studio.thegraph.com/deploy/", "create-local": "graph create cosmos-validator-rewards --node http://127.0.0.1:8020", - "deploy": "graph deploy cosmos-validator-rewards --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/", + "deploy": "graph deploy cosmos-validator-rewards --ipfs https://api.thegraph.com/ipfs/ --node https://api.studio.thegraph.com/deploy/", "deploy-local": "graph deploy cosmos-validator-rewards -l v0.1.0 --ipfs http://127.0.0.1:5001 --node http://127.0.0.1:8020", "prepare:cosmoshub": "mustache config/cosmoshub.json subgraph.template.yaml > subgraph.yaml", "prepare:osmosis": "mustache config/osmosis.json subgraph.template.yaml > subgraph.yaml", diff --git a/examples/ethereum-basic-event-handlers/test/handlers.js b/examples/ethereum-basic-event-handlers/test/handlers.ts similarity index 93% rename from examples/ethereum-basic-event-handlers/test/handlers.js rename to examples/ethereum-basic-event-handlers/test/handlers.ts index d176fdcb5..5175e16b9 100644 --- a/examples/ethereum-basic-event-handlers/test/handlers.js +++ b/examples/ethereum-basic-event-handlers/test/handlers.ts @@ -1,8 +1,8 @@ -const path = require('node:path'); -const { system, patching, filesystem } = require('gluegun'); -const { createApolloFetch } = require('apollo-fetch'); -const { ethers } = require('hardhat'); -const { expect } = require('chai'); +import path from 'node:path'; +import { createApolloFetch } from 'apollo-fetch'; +import { expect } from 'chai'; +import { filesystem, patching, system } from 'gluegun'; +import { ethers } from 'hardhat'; const srcDir = path.join(__dirname, '..'); @@ -56,7 +56,7 @@ describe('Basic event handlers', () => { await patching.replace( path.join(srcDir, 'subgraph.yaml'), 'DEPLOYED_CONTRACT_ADDRESS', - registry.target, + String(registry.target), ); await registry.setMythicalGravatar(); diff --git a/examples/ethereum-basic-event-handlers/tsconfig.json b/examples/ethereum-basic-event-handlers/tsconfig.json index 3fe28461e..d26308040 100644 --- a/examples/ethereum-basic-event-handlers/tsconfig.json +++ b/examples/ethereum-basic-event-handlers/tsconfig.json @@ -3,6 +3,7 @@ "target": "es6", "module": "commonjs", "moduleResolution": "node", - "outDir": "dist" + "outDir": "dist", + "esModuleInterop": true } } diff --git a/examples/ethereum-gravatar/package.json b/examples/ethereum-gravatar/package.json index 9b6a8c708..bda33a86d 100644 --- a/examples/ethereum-gravatar/package.json +++ b/examples/ethereum-gravatar/package.json @@ -12,9 +12,9 @@ "build": "graph build", "build:contract": "hardhat compile", "codegen": "graph codegen", - "create": "graph create example --node https://api.thegraph.com/deploy/", + "create": "graph create example --node https://api.studio.thegraph.com/deploy/", "create-local": "graph create example --node http://127.0.0.1:8020", - "deploy": "graph deploy example --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/", + "deploy": "graph deploy example --ipfs https://api.thegraph.com/ipfs/ --node https://api.studio.thegraph.com/deploy/", "deploy-local": "graph deploy example --ipfs http://127.0.0.1:5001 --node http://127.0.0.1:8020" }, "devDependencies": { diff --git a/examples/near-blocks/package.json b/examples/near-blocks/package.json index 8e7629f77..83bee499c 100644 --- a/examples/near-blocks/package.json +++ b/examples/near-blocks/package.json @@ -11,9 +11,9 @@ "scripts": { "build": "graph build", "codegen": "graph codegen", - "create": "graph create example --node https://api.thegraph.com/deploy/", + "create": "graph create example --node https://api.studio.thegraph.com/deploy/", "create-local": "graph create example --node http://127.0.0.1:8020", - "deploy": "graph deploy example --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/", + "deploy": "graph deploy example --ipfs https://api.thegraph.com/ipfs/ --node https://api.studio.thegraph.com/deploy/", "deploy-local": "graph deploy example --ipfs http://localhost:5001 --node http://127.0.0.1:8020" }, "devDependencies": { diff --git a/examples/near-receipts/package.json b/examples/near-receipts/package.json index 0c51f9e2a..4a4d6b75f 100644 --- a/examples/near-receipts/package.json +++ b/examples/near-receipts/package.json @@ -11,9 +11,9 @@ "scripts": { "build": "graph build", "codegen": "graph codegen", - "create": "graph create example --node https://api.thegraph.com/deploy/", + "create": "graph create example --node https://api.studio.thegraph.com/deploy/", "create-local": "graph create example --node http://127.0.0.1:8020", - "deploy": "graph deploy example --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/", + "deploy": "graph deploy example --ipfs https://api.thegraph.com/ipfs/ --node https://api.studio.thegraph.com/deploy/", "deploy-local": "graph deploy example --ipfs http://localhost:5001 --node http://127.0.0.1:8020" }, "devDependencies": { diff --git a/packages/cli/config/TheGraphNetworksRegistry.json b/packages/cli/config/TheGraphNetworksRegistry.json new file mode 100644 index 000000000..4b6564acb --- /dev/null +++ b/packages/cli/config/TheGraphNetworksRegistry.json @@ -0,0 +1,6363 @@ +{ + "$schema": "https://registry.thegraph.com/TheGraphNetworksRegistrySchema_v0_6.json", + "version": "0.6.13", + "title": "The Graph networks registry", + "description": "This registry was generated and validated. To add a chain, open a pull request: https://github.com/graphprotocol/networks-registry", + "updatedAt": "2024-12-03T00:42:10.602Z", + "networks": [ + { + "id": "mainnet", + "shortName": "Ethereum", + "fullName": "Ethereum Mainnet", + "aliases": [ + "ethereum", + "eth", + "eth-mainnet", + "evm-1" + ], + "caip2Id": "eip155:1", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://etherscan.io" + ], + "rpcUrls": [ + "https://rpc.ankr.com/eth", + "https://cloudflare-eth.com", + "https://eth.rpc.pinax.network/v1/{PINAX_API_KEY}", + "https://mainnet.infura.io/v3/{INFURA_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://mainnet.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://eth.blockscout.com/api", + "kind": "blockscout" + }, + { + "url": "https://api.routescan.io/v2/network/mainnet/evm/1/etherscan/api", + "kind": "etherscan" + } + ], + "networkType": "mainnet", + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "eth.firehose.pinax.network:443", + "mainnet.eth.streamingfast.io:443" + ], + "substreams": [ + "eth.substreams.pinax.network:443", + "mainnet.eth.streamingfast.io:443" + ] + }, + "issuanceRewards": true, + "nativeToken": "ETH", + "docsUrl": "https://ethereum.org/en/developers/docs", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/ethereum", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "ethereum" + } + } + }, + { + "id": "optimism", + "shortName": "Optimism", + "fullName": "OP Mainnet", + "aliases": [ + "evm-10", + "op-mainnet" + ], + "caip2Id": "eip155:10", + "graphNode": { + "protocol": "ethereum" + }, + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "explorerUrls": [ + "https://optimistic.etherscan.io" + ], + "rpcUrls": [ + "https://mainnet.optimism.io", + "https://optimism-rpc.publicnode.com", + "https://optimism.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://optimism.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://optimism.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "mainnet.optimism.streamingfast.io:443", + "optimism.firehose.pinax.network:443" + ], + "substreams": [ + "mainnet.optimism.streamingfast.io:443", + "optimism.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "issuanceRewards": true, + "nativeToken": "ETH", + "docsUrl": "https://docs.optimism.io", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/optimism", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0x7ca38a1916c42007829c55e69d3e9a73265554b586a499015373241b8a3fa48b", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "optimistic-ethereum" + } + } + }, + { + "id": "gnosis", + "shortName": "Gnosis", + "fullName": "Gnosis Mainnet", + "aliases": [ + "evm-100", + "gnosis-mainnet" + ], + "caip2Id": "eip155:100", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://gnosisscan.io", + "https://gnosis.blockscout.com" + ], + "rpcUrls": [ + "https://rpc.gnosischain.com", + "https://gnosis.rpc.pinax.network/v1/{PINAX_API_KEY}", + "https://rpc.gnosis.gateway.fm", + "https://rpc.ankr.com/gnosis" + ], + "apiUrls": [ + { + "url": "https://gnosis.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://gnosis.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "mainnet", + "issuanceRewards": true, + "nativeToken": "XDAI", + "docsUrl": "https://docs.gnosischain.com", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/gnosis", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0x4f1dd23188aab3a76b463e4af801b52b1248ef073c648cbdc4c9333d3da79756", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "gnosis" + } + } + }, + { + "id": "kaia-testnet", + "shortName": "Kaia", + "secondName": "Kairos", + "fullName": "Kaia Kairos Testnet", + "aliases": [ + "evm-1001" + ], + "caip2Id": "eip155:1001", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://kairos.kaiascan.io" + ], + "rpcUrls": [ + "https://public-en-kairos.node.kaia.io" + ], + "apiUrls": [], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "kaia" + } + ], + "issuanceRewards": false, + "nativeToken": "KAIA", + "docsUrl": "https://docs.kaia.io", + "genesis": { + "hash": "0xe33ff05ceec2581ca9496f38a2bf9baad5d4eed629e896ccb33d1dc991bc4b4a", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "klay-token" + } + } + }, + { + "id": "gnosis-chiado", + "shortName": "Gnosis", + "secondName": "Chiado", + "fullName": "Gnosis Chiado Testnet", + "aliases": [ + "chiado" + ], + "caip2Id": "eip155:10200", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://blockscout.chiadochain.net" + ], + "rpcUrls": [ + "https://rpc.chiadochain.net", + "https://chiado.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://gnosis-chiado.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "gnosis" + } + ], + "issuanceRewards": false, + "nativeToken": "XDAI", + "docsUrl": "https://docs.gnosischain.com", + "genesis": { + "hash": "0xada44fd8d2ecab8b08f256af07ad3e777f17fb434f8f8e678b312f576212ba9a", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "gnosis" + } + } + }, + { + "id": "clover", + "shortName": "CLV", + "fullName": "CLV Parachain", + "aliases": [ + "clv-mainnet", + "evm-1023" + ], + "caip2Id": "eip155:1023", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://clvscan.com" + ], + "rpcUrls": [ + "https://api-para.clv.org" + ], + "apiUrls": [ + { + "url": "https://clvscan.com/api", + "kind": "blockscout" + } + ], + "networkType": "mainnet", + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "issuanceRewards": false, + "nativeToken": "CLV", + "docsUrl": "https://docs.clv.org", + "genesis": { + "hash": "0x7c11fb21c186dd7846d92e09af5c02fa4c8a08b83c99d7361b8b9fd5dc1650fb", + "height": 1 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "clover" + } + } + }, + { + "id": "polygon-zkevm", + "shortName": "Polygon zkEVM", + "fullName": "Polygon zkEVM Mainnet", + "aliases": [], + "caip2Id": "eip155:1101", + "graphNode": { + "protocol": "ethereum" + }, + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "explorerUrls": [ + "https://zkevm.polygonscan.com" + ], + "rpcUrls": [ + "https://zkevm-rpc.com", + "https://polygonzk.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://polygon-zkevm.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://zkevm.blockscout.com/api", + "kind": "blockscout" + } + ], + "networkType": "mainnet", + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "polygonzk.firehose.pinax.network:443" + ], + "substreams": [ + "polygonzk.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://polygon.technology/polygon-zkevm", + "genesis": { + "hash": "0x81005434635456a16f74ff7023fbe0bf423abbc8a8deb093ffff455c0ad3b741", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "polygon-zkevm" + } + } + }, + { + "id": "abstract-testnet", + "shortName": "Abstract", + "fullName": "Abstract Testnet", + "aliases": [ + "evm-11124", + "abstract-sepolia" + ], + "caip2Id": "eip155:11124", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://explorer.testnet.abs.xyz" + ], + "rpcUrls": [ + "https://api.testnet.abs.xyz" + ], + "apiUrls": [ + { + "url": "https://block-explorer-api.testnet.abs.xyz/api", + "kind": "etherscan" + }, + { + "url": "https://api.routescan.io/v2/network/testnet/evm/11124/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "abstract" + }, + { + "kind": "l2Of", + "network": "sepolia" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.abs.xyz", + "genesis": { + "hash": "0xfbb449463d9f1ec874d597d80d911f60857cc2fbf93f8ac83c70f8cfa2220a74", + "height": 1 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "abstract" + } + } + }, + { + "id": "sepolia", + "shortName": "Ethereum", + "secondName": "Sepolia", + "fullName": "Ethereum Sepolia Testnet", + "aliases": [ + "evm-11155111" + ], + "caip2Id": "eip155:11155111", + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "mainnet" + } + ], + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://sepolia.etherscan.io", + "https://sepolia.otterscan.io" + ], + "rpcUrls": [ + "https://rpc.sepolia.org", + "https://sepolia.rpc.pinax.network/v1/{PINAX_API_KEY}", + "https://sepolia.infura.io/v3/${INFURA_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://sepolia.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://eth-sepolia.blockscout.com/api", + "kind": "blockscout" + }, + { + "url": "https://api.routescan.io/v2/network/testnet/evm/11155111/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "sepolia.firehose.pinax.network:443", + "sepolia.eth.streamingfast.io:443" + ], + "substreams": [ + "sepolia.substreams.pinax.network:443", + "sepolia.eth.streamingfast.io:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://sepolia.dev", + "genesis": { + "hash": "0x25a5cc106eea7138acab33231d7160d69cb777ee0c2c553fcddf5138993e6dd9", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "ethereum" + } + } + }, + { + "id": "optimism-sepolia", + "shortName": "Optimism", + "secondName": "Sepolia", + "fullName": "OP Sepolia Testnet", + "aliases": [ + "op-sepolia", + "opsepolia" + ], + "caip2Id": "eip155:11155420", + "graphNode": { + "protocol": "ethereum" + }, + "relations": [ + { + "kind": "l2Of", + "network": "sepolia" + }, + { + "kind": "testnetOf", + "network": "optimism" + } + ], + "explorerUrls": [ + "https://optimism-sepolia.blockscout.com" + ], + "rpcUrls": [ + "https://sepolia.optimism.io", + "https://opsepolia.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://optimism-sepolia.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://optimism-sepolia.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "opsepolia.firehose.pinax.network:443" + ], + "substreams": [ + "opsepolia.substreams.pinax.network:443" + ] + }, + "networkType": "testnet", + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.optimism.io", + "genesis": { + "hash": "0x102de6ffb001480cc9b8b548fd05c34cd4f46ae4aa91759393db90ea0409887d", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "optimistic-ethereum" + } + } + }, + { + "id": "fuse-testnet", + "shortName": "Fuse", + "fullName": "Fuse Testnet", + "aliases": [ + "evm-12001" + ], + "caip2Id": "eip155:12001", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://explorer.fusespark.io" + ], + "rpcUrls": [ + "https://rpc.fusespark.io" + ], + "apiUrls": [ + { + "url": "https://explorer.fusespark.io/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "fuse" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.fuse.io", + "genesis": { + "hash": "0xfd643f387cd7386d21e8d34f8762188865789196dee77c98f8210dbbc15616ae", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "fuse" + } + } + }, + { + "id": "fuse", + "shortName": "Fuse", + "fullName": "Fuse Mainnet", + "aliases": [ + "evm-122", + "fuse-mainnet" + ], + "caip2Id": "eip155:122", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://explorer.fuse.io" + ], + "rpcUrls": [ + "https://rpc.fuse.io", + "https://fuse.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://explorer.fuse.io/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "fuse.firehose.pinax.network:443" + ], + "substreams": [ + "fuse.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "issuanceRewards": true, + "nativeToken": "FUSE", + "docsUrl": "https://docs.fuse.io", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/fuse", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0x6e778e9491576a28bd06fac93844d8494be1f153e60ba7d29b4b51d991d4f830", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "fuse" + } + } + }, + { + "id": "neox-testnet", + "shortName": "Neo X", + "fullName": "Neo X Testnet", + "aliases": [ + "evm-12227332" + ], + "caip2Id": "eip155:12227332", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://xt4scan.ngd.network" + ], + "rpcUrls": [ + "https://testnet.rpc.banelabs.org" + ], + "apiUrls": [ + { + "url": "https://xt4scan.ngd.network/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "neox" + } + ], + "issuanceRewards": false, + "nativeToken": "GAS", + "docsUrl": "https://xdocs.ngd.network", + "genesis": { + "hash": "0x221f7d0a47dd80fe10f476625d62303947c9cd336113e119c64d919f0e9beb71", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "neo-x" + } + } + }, + { + "id": "etherlink-testnet", + "shortName": "Etherlink", + "fullName": "Etherlink Testnet", + "aliases": [], + "caip2Id": "eip155:128123", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://testnet.explorer.etherlink.com" + ], + "rpcUrls": [ + "https://node.ghostnet.etherlink.com" + ], + "apiUrls": [ + { + "url": "https://testnet.explorer.etherlink.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "etherlink-mainnet" + } + ], + "issuanceRewards": false, + "nativeToken": "XTZ", + "docsUrl": "https://docs.etherlink.com", + "genesis": { + "hash": "0x2cf11372c813c0007ef080103fc813cf26ad9a374e88d589ef536dfc3dd1fee9", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "etherlink" + } + } + }, + { + "id": "moonbeam", + "shortName": "Moonbeam", + "fullName": "Moonbeam Mainnet", + "aliases": [ + "evm-1284", + "mbeam" + ], + "caip2Id": "eip155:1284", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://moonbeam.moonscan.io" + ], + "rpcUrls": [ + "https://rpc.api.moonbeam.network", + "https://moonbeam.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://moonbeam.abi.pinax.network/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "moonbeam.firehose.pinax.network:443" + ], + "substreams": [ + "moonbeam.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "issuanceRewards": false, + "nativeToken": "GLMR", + "docsUrl": "https://docs.moonbeam.network", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/moonbeam", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0x7e6b3bbed86828a558271c9c9f62354b1d8b5aa15ff85fd6f1e7cbe9af9dde7e", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "moonbeam" + } + } + }, + { + "id": "moonriver", + "shortName": "Moonriver", + "fullName": "Moonriver Mainnet", + "aliases": [ + "evm-1285", + "mriver" + ], + "caip2Id": "eip155:1285", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://moonriver.moonscan.io" + ], + "rpcUrls": [ + "https://rpc.api.moonriver.moonbeam.network", + "https://moonriver.rpc.pinax.network/v1/{PINAX_API_KEY}", + "https://moonriver.public.blastapi.io" + ], + "apiUrls": [ + { + "url": "https://api-moonriver.moonscan.io/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "moonriver.firehose.pinax.network:443" + ], + "substreams": [ + "moonriver.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "other", + "network": "moonbeam" + } + ], + "issuanceRewards": false, + "nativeToken": "MOVR", + "docsUrl": "https://docs.moonbeam.network", + "genesis": { + "hash": "0xce24348303f7a60c4d2d3c82adddf55ca57af89cd9e2cd4b863906ef53b89b3c", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "moonriver", + "variants": [ + "mono", + "branded" + ] + } + } + }, + { + "id": "mbase", + "shortName": "Moonbase", + "secondName": "Alpha", + "fullName": "Moonbase Alpha Testnet", + "aliases": [ + "evm-1287", + "moonbase" + ], + "caip2Id": "eip155:1287", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://moonbase.moonscan.io" + ], + "rpcUrls": [ + "https://rpc.api.moonbase.moonbeam.network" + ], + "apiUrls": [ + { + "url": "https://moonbase.abi.pinax.network/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "moonbeam" + } + ], + "issuanceRewards": false, + "nativeToken": "DEV", + "docsUrl": "https://docs.moonbeam.network/learn/platform/networks/moonbase", + "genesis": { + "hash": "0x33638dde636f9264b6472b9d976d58e757fe88badac53f204f3f530ecc5aacfa", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "moonbeam" + } + } + }, + { + "id": "unichain-testnet", + "shortName": "Unichain", + "secondName": "Sepolia", + "fullName": "Unichain Sepolia Testnet", + "aliases": [ + "evm-1301" + ], + "caip2Id": "eip155:1301", + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "unichain-testnet" + }, + { + "kind": "l2Of", + "network": "sepolia" + } + ], + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://unichain-sepolia.blockscout.com" + ], + "rpcUrls": [ + "https://sepolia.unichain.org", + "https://unisepolia.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://unichain-sepolia.blockscout.com/api", + "kind": "etherscan" + }, + { + "url": "https://api.routescan.io/v2/network/testnet/evm/1301/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "unisepolia.firehose.pinax.network:443" + ], + "substreams": [ + "unisepolia.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.unichain.org", + "genesis": { + "hash": "0xb7fe0bc9f98ca03294ca0094ff9374cc3e64130b6ec85850d6e260191f48bfe7", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "unichain" + } + } + }, + { + "id": "aurora", + "shortName": "Aurora", + "fullName": "Aurora Mainnet", + "aliases": [ + "evm-1313161554", + "aurora-mainnet" + ], + "caip2Id": "eip155:1313161554", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://explorer.aurora.dev" + ], + "rpcUrls": [ + "https://mainnet.aurora.dev" + ], + "apiUrls": [ + { + "url": "https://explorer.mainnet.aurora.dev/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "mainnet", + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://doc.aurora.dev", + "genesis": { + "hash": "0x0475c3f1fb767b161d8691d243a8daa3ff1621c181d21ca215b327d72df7fd11", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "aurora" + } + } + }, + { + "id": "aurora-testnet", + "shortName": "Aurora", + "fullName": "Aurora Testnet", + "aliases": [ + "evm-1313161555" + ], + "caip2Id": "eip155:1313161555", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://explorer.testnet.aurora.dev" + ], + "rpcUrls": [ + "https://testnet.aurora.dev" + ], + "apiUrls": [ + { + "url": "https://explorer.testnet.aurora.dev/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "aurora" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://doc.aurora.dev", + "genesis": { + "hash": "0x250d32dc5dc0113f25f82987daf09e1dc5a79b09e53e78d475728f71248767b0", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "aurora" + } + } + }, + { + "id": "sei-atlantic", + "shortName": "Sei", + "secondName": "Atlantic", + "fullName": "Sei Atlantic Testnet", + "aliases": [ + "sei-testnet", + "sei-atlantic2" + ], + "caip2Id": "eip155:1328", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://seitrace.com/?chain=atlantic-2" + ], + "rpcUrls": [ + "https://evm-rpc-testnet.sei-apis.com" + ], + "apiUrls": [ + { + "url": "https://seitrace.com/atlantic-2/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "sei-mainnet" + } + ], + "issuanceRewards": false, + "nativeToken": "SEI", + "docsUrl": "https://docs.seitrace.com", + "genesis": { + "hash": "0xf9d3845df25b43b1c6926f3ceda6845c17f5624e12212fd8847d0ba01da1ab9e", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "sei-network" + } + } + }, + { + "id": "sei-mainnet", + "shortName": "Sei", + "fullName": "Sei Network", + "aliases": [ + "sei-evm-mainnet", + "sei" + ], + "caip2Id": "eip155:1329", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://seitrace.com" + ], + "rpcUrls": [ + "https://sei-evm-rpc.publicnode.com" + ], + "apiUrls": [ + { + "url": "https://seitrace.com/pacific-1/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "evm-mainnet.sei.streamingfast.io:443" + ], + "substreams": [ + "evm-mainnet.sei.streamingfast.io:443" + ] + }, + "networkType": "mainnet", + "issuanceRewards": false, + "nativeToken": "SEI", + "docsUrl": "https://docs.seitrace.com", + "genesis": { + "hash": "0xe43c3e52a4f74dc7bb35f55cc813ed2ce97e46aafb3fcf8884056b0a757f5b75", + "height": 79123881 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "sei-network" + } + } + }, + { + "id": "gravity-testnet", + "shortName": "Gravity", + "secondName": "Sepolia", + "fullName": "Gravity Sepolia Testnet", + "aliases": [ + "gravity-sepolia" + ], + "caip2Id": "eip155:13505", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://explorer-sepolia.gravity.xyz" + ], + "rpcUrls": [ + "https://rpc-sepolia.gravity.xyz" + ], + "apiUrls": [ + { + "url": "https://explorer-sepolia.gravity.xyz/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "l2Of", + "network": "sepolia" + }, + { + "kind": "testnetOf", + "network": "gravity-mainnet" + } + ], + "issuanceRewards": false, + "nativeToken": "G", + "docsUrl": "https://docs.gravity.xyz", + "genesis": { + "hash": "0xdf76dabe0734fed9d517027a494bc00662576d30aee9672a6fab5184e06ee8ca", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "gravity" + } + } + }, + { + "id": "matic", + "shortName": "Polygon", + "fullName": "Polygon Mainnet", + "aliases": [ + "polygon", + "matic-mainnet" + ], + "caip2Id": "eip155:137", + "graphNode": { + "protocol": "ethereum" + }, + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "explorerUrls": [ + "https://polygonscan.com" + ], + "rpcUrls": [ + "https://polygon-rpc.com", + "https://polygon.rpc.pinax.network/v1/{PINAX_API_KEY}", + "https://rpc.ankr.com/polygon" + ], + "apiUrls": [ + { + "url": "https://polygon.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://polygon.blockscout.com/api", + "kind": "blockscout" + } + ], + "networkType": "mainnet", + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "polygon.firehose.pinax.network:443", + "polygon.streamingfast.io:443" + ], + "substreams": [ + "polygon.substreams.pinax.network:443", + "polygon.streamingfast.io:443" + ] + }, + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/polygon", + "description": "Archive Nodes 101" + } + ], + "issuanceRewards": true, + "nativeToken": "POL", + "docsUrl": "https://docs.polygon.technology", + "genesis": { + "hash": "0xa9c28ce2141b56c474f1dc504bee9b01eb1bd7d1a507580d5519d4437a97de1b", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "polygon-pos" + } + } + }, + { + "id": "jungle4-evm", + "shortName": "EOS EVM", + "secondName": "Jungle4", + "fullName": "EOS Jungle4 EVM Testnet", + "aliases": [ + "jungle4-evm-testnet", + "eos-evm-testnet", + "evm-15557" + ], + "caip2Id": "eip155:15557", + "graphNode": { + "protocol": "ethereum" + }, + "relations": [ + { + "kind": "evmOf", + "network": "jungle4" + }, + { + "kind": "testnetOf", + "network": "eos-evm" + } + ], + "explorerUrls": [ + "https://explorer.testnet.evm.eosnetwork.com" + ], + "rpcUrls": [ + "https://api.testnet.evm.eosnetwork.com", + "https://jungle4evm.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "kind": "etherscan", + "url": "https://explorer.testnet.evm.eosnetwork.com/api" + } + ], + "services": { + "firehose": [ + "jungle4evm.firehose.pinax.network:443" + ], + "substreams": [ + "jungle4evm.substreams.pinax.network:443" + ] + }, + "networkType": "testnet", + "issuanceRewards": false, + "nativeToken": "EOS", + "docsUrl": "https://eosnetwork.com/eos-evm", + "genesis": { + "hash": "0xc613831e8473c17c47ab60605e4e92693f0f37e767a1defa2f74160626e5d9ca", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "eos" + } + } + }, + { + "id": "gravity-mainnet", + "shortName": "Gravity", + "secondName": "Alpha", + "fullName": "Gravity Alpha Mainnet", + "aliases": [ + "gravity" + ], + "caip2Id": "eip155:1625", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://explorer.gravity.xyz" + ], + "rpcUrls": [ + "https://rpc.gravity.xyz", + "https://gravity.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://explorer.gravity.xyz/api", + "kind": "etherscan" + } + ], + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "gravity.firehose.pinax.network:443" + ], + "substreams": [ + "gravity.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "issuanceRewards": false, + "nativeToken": "G", + "docsUrl": "https://docs.gravity.xyz", + "genesis": { + "hash": "0x6eb5f2e11f3e026992cb3860e4518f672f0019fdc3c595e06cd22894fb6d7c36", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "gravity" + } + } + }, + { + "id": "harmony", + "shortName": "Harmony", + "fullName": "Harmony Mainnet Shard 0", + "aliases": [ + "evm-1666600000", + "harmony-mainnet" + ], + "caip2Id": "eip155:1666600000", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://explorer.harmony.one/?shard=0" + ], + "rpcUrls": [ + "https://api.harmony.one/?shard=0" + ], + "apiUrls": [ + { + "url": "https://explorer.harmony.one/api?shard=0", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "mainnet", + "issuanceRewards": false, + "nativeToken": "ONE", + "docsUrl": "https://docs.harmony.one", + "genesis": { + "hash": "0xb4d158b82ac8a653c42b78697ab1cd0c6a0d9a15ab3bc34130f0b719fb174d2a", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "harmony" + } + } + }, + { + "id": "blast-testnet", + "shortName": "Blast", + "secondName": "Sepolia", + "fullName": "Blast Sepolia Testnet", + "aliases": [ + "evm-168587773", + "blast-sepolia" + ], + "caip2Id": "eip155:168587773", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://sepolia.blastscan.io" + ], + "rpcUrls": [ + "https://sepolia.blast.io", + "https://blastsepolia.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://blast-testnet.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://blast-testnet.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "blastsepolia.firehose.pinax.network:443" + ], + "substreams": [ + "blastsepolia.substreams.pinax.network:443" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "l2Of", + "network": "sepolia" + }, + { + "kind": "testnetOf", + "network": "blast-mainnet" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.blast.io", + "genesis": { + "hash": "0x26a1c0faad7b041f34569a1bb383f00ab74b335883a44bed53e9f41ced5fd906", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "blast" + } + } + }, + { + "id": "holesky", + "shortName": "Ethereum", + "secondName": "Holesky", + "fullName": "Ethereum Holesky Testnet", + "aliases": [ + "evm-17000" + ], + "caip2Id": "eip155:17000", + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "mainnet" + } + ], + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://holesky.etherscan.io", + "https://holesky.otterscan.io" + ], + "rpcUrls": [ + "https://ethereum-holesky-rpc.publicnode.com", + "https://rpc.holesky.ethpandaops.io", + "https://holesky.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://eth-holesky.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "holesky.firehose.pinax.network:443", + "holesky.eth.streamingfast.io:443" + ], + "substreams": [ + "holesky.substreams.pinax.network:443", + "holesky.eth.streamingfast.io:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://holesky.dev", + "genesis": { + "hash": "0xb5f7f912443c940f21fd611f12828d75b534364ed9e95ca4e307729a4661bde4", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "ethereum" + } + } + }, + { + "id": "eos-evm", + "shortName": "EOS EVM", + "fullName": "EOS EVM Network", + "aliases": [ + "eosevm", + "eos-evm-mainnet", + "evm-17777" + ], + "caip2Id": "eip155:17777", + "graphNode": { + "protocol": "ethereum" + }, + "relations": [ + { + "kind": "evmOf", + "network": "eos" + } + ], + "explorerUrls": [ + "https://explorer.evm.eosnetwork.com" + ], + "rpcUrls": [ + "https://api.evm.eosnetwork.com", + "https://eosevm.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "kind": "etherscan", + "url": "https://explorer.evm.eosnetwork.com/api" + } + ], + "services": { + "firehose": [ + "eosevm.firehose.pinax.network:443" + ], + "substreams": [ + "eosevm.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "issuanceRewards": false, + "nativeToken": "EOS", + "docsUrl": "https://eosnetwork.com/eos-evm", + "genesis": { + "hash": "0xcc936a8dc9ecf18dfd876f3566d240486d331f51ffcbb467e47f1c80ebb77440", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "eos" + } + } + }, + { + "id": "soneium-testnet", + "shortName": "Soneium", + "secondName": "Minato", + "fullName": "Soneium Minato Testnet", + "aliases": [ + "soneium-minato-testnet", + "soneium-minato", + "minato" + ], + "caip2Id": "eip155:1946", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://soneium-minato.blockscout.com" + ], + "rpcUrls": [ + "https://rpc.minato.soneium.org", + "https://minato.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://soneium-minato.blockscout.com/api", + "kind": "etherscan" + }, + { + "url": "https://api.routescan.io/v2/network/testnet/evm/1946/etherscan/api", + "kind": "etherscan" + } + ], + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "soneium-testnet" + }, + { + "kind": "l2Of", + "network": "sepolia" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "minato.firehose.pinax.network:443" + ], + "substreams": [ + "minato.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://soneium.org/en/docs", + "genesis": { + "hash": "0x7ec49d93fa8f47c00e98cc5965cd3903a8faa9238743d2eba0e0550ab4c45c43", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "soneium" + } + } + }, + { + "id": "xlayer-sepolia", + "shortName": "X Layer", + "secondName": "Sepolia", + "fullName": "X Layer Sepolia Testnet", + "aliases": [ + "evm-195" + ], + "caip2Id": "eip155:195", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://www.oklink.com/xlayer-test" + ], + "rpcUrls": [ + "https://testrpc.xlayer.tech" + ], + "apiUrls": [], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "l2Of", + "network": "sepolia" + }, + { + "kind": "testnetOf", + "network": "xlayer-mainnet" + } + ], + "issuanceRewards": false, + "nativeToken": "OKB", + "docsUrl": "https://www.okx.com/xlayer", + "genesis": { + "hash": "0x22a8085892b367833bd7431fa5a90ff6b5d3769167cdaa29ce8571d07bc8f866", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "x-layer" + } + } + }, + { + "id": "xlayer-mainnet", + "shortName": "X Layer", + "fullName": "X Layer Mainnet", + "aliases": [ + "evm-196", + "xlayer" + ], + "caip2Id": "eip155:196", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://www.oklink.com/xlayer" + ], + "rpcUrls": [ + "https://rpc.xlayer.tech", + "https://xlayer.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "xlayer.firehose.pinax.network:443" + ], + "substreams": [ + "xlayer.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "issuanceRewards": false, + "nativeToken": "OKB", + "docsUrl": "https://www.okx.com/xlayer", + "genesis": { + "hash": "0x11f32f605beb94a1acb783cb3b6da6d7975461ce3addf441e7ad60c2ec95e88f", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "x-layer" + } + } + }, + { + "id": "bnb-op", + "shortName": "opBNB", + "fullName": "opBNB Mainnet", + "aliases": [ + "evm-204", + "opbnb", + "bsc-op" + ], + "caip2Id": "eip155:204", + "graphNode": { + "protocol": "ethereum" + }, + "relations": [ + { + "kind": "l2Of", + "network": "bsc" + } + ], + "explorerUrls": [ + "https://opbnbscan.com" + ], + "rpcUrls": [ + "https://opbnb-mainnet-rpc.bnbchain.org", + "https://opbnb.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [], + "services": { + "firehose": [ + "opbnb.firehose.pinax.network:443" + ], + "substreams": [ + "opbnb.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "issuanceRewards": false, + "nativeToken": "BNB", + "docsUrl": "https://docs.bnbchain.org/bnb-opbnb", + "genesis": { + "hash": "0x4dd61178c8b0f01670c231597e7bcb368e84545acd46d940a896d6a791dd6df4", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "binance-smart-chain" + } + } + }, + { + "id": "corn", + "shortName": "Corn", + "fullName": "Corn Maizenet", + "aliases": [ + "corn-maizenet", + "corn-mainnet" + ], + "caip2Id": "eip155:21000000", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://maizenet-explorer.usecorn.com" + ], + "rpcUrls": [ + "https://maizenet-rpc.usecorn.com" + ], + "apiUrls": [ + { + "url": "https://maizenet-explorer.usecorn.com/api", + "kind": "etherscan" + }, + { + "url": "https://api.routescan.io/v2/network/mainnet/evm/21000000/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "issuanceRewards": false, + "nativeToken": "BTCN", + "docsUrl": "https://docs.usecorn.com", + "genesis": { + "hash": "0x80cd408e666fa2755da953bfd9056f09618318d5f71011a8247cebe2a13ae30f", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + } + }, + { + "id": "corn-testnet", + "shortName": "Corn", + "fullName": "Corn Testnet", + "aliases": [ + "corn-sepolia" + ], + "caip2Id": "eip155:21000001", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://testnet-explorer.usecorn.com" + ], + "rpcUrls": [ + "https://testnet-rpc.usecorn.com" + ], + "apiUrls": [ + { + "url": "https://testnet-explorer.usecorn.com/api", + "kind": "etherscan" + }, + { + "url": "https://api.routescan.io/v2/network/testnet/evm/21000001/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "l2Of", + "network": "sepolia" + }, + { + "kind": "testnetOf", + "network": "corn" + } + ], + "issuanceRewards": false, + "nativeToken": "BTCN", + "docsUrl": "https://docs.usecorn.com", + "genesis": { + "hash": "0x110954744ffd9d4bcd4f7998896d1948f654c9e5ccf6fcda1637a35a1863a71d", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + } + }, + { + "id": "kava", + "shortName": "Kava", + "fullName": "Kava Mainnet", + "aliases": [ + "kava-mainnet", + "evm-2222" + ], + "caip2Id": "eip155:2222", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://kavascan.io" + ], + "rpcUrls": [ + "https://evm.kava.io", + "https://kava.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [], + "networkType": "mainnet", + "services": {}, + "issuanceRewards": false, + "nativeToken": "KAVA", + "docsUrl": "https://docs.kava.io", + "genesis": { + "hash": "0x9d2af876309bb9174604004a813dcfee94f4947b08c5bb4c1a042f318488851e", + "height": 1 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "kava" + } + } + }, + { + "id": "polygon-zkevm-cardona", + "shortName": "Polygon zkEVM", + "secondName": "Cardona", + "fullName": "Polygon zkEVM Cardona Testnet", + "aliases": [ + "polygon-cardona" + ], + "caip2Id": "eip155:2442", + "graphNode": { + "protocol": "ethereum" + }, + "relations": [ + { + "kind": "l2Of", + "network": "sepolia" + }, + { + "kind": "testnetOf", + "network": "polygon-zkevm" + } + ], + "explorerUrls": [ + "https://cardona-zkevm.polygonscan.com" + ], + "rpcUrls": [ + "https://rpc.cardona.zkevm-rpc.com", + "https://cardona.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://api-cardona-zkevm.polygonscan.com/api", + "kind": "blockscout" + }, + { + "url": "https://polygon-zkevm-cardona.abi.pinax.network/api", + "kind": "etherscan" + } + ], + "networkType": "testnet", + "services": { + "firehose": [ + "cardona.firehose.pinax.network:443" + ], + "substreams": [ + "cardona.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://polygon.technology/polygon-zkevm", + "genesis": { + "hash": "0x676c1a76a6c5855a32bdf7c61977a0d1510088a4eeac1330466453b3d08b60b9", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "polygon-zkevm" + } + } + }, + { + "id": "cronos", + "shortName": "Cronos", + "fullName": "Cronos Mainnet", + "aliases": [ + "evm-25", + "cronos-mainnet" + ], + "caip2Id": "eip155:25", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://explorer.cronos.org" + ], + "rpcUrls": [ + "https://evm.cronos.org", + "https://cronos.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://cronos.org/explorer/api", + "kind": "blockscout" + } + ], + "services": {}, + "networkType": "mainnet", + "issuanceRewards": false, + "nativeToken": "CRO", + "docsUrl": "https://docs.cronos.org", + "genesis": { + "hash": "0xa7f4e603aa51239a15e0a3fafb15c6e4c6d6f2c39c55770330efd2fa5afc12a9", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "cronos" + } + } + }, + { + "id": "fantom", + "shortName": "Fantom", + "secondName": "Opera", + "fullName": "Fantom Opera Mainnet", + "aliases": [ + "evm-250", + "fantom-mainnet", + "fantom-opera" + ], + "caip2Id": "eip155:250", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://ftmscan.com" + ], + "rpcUrls": [ + "https://rpc.ftm.tools", + "https://fantom.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://fantom.abi.pinax.network/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "fantom.firehose.pinax.network:443" + ], + "substreams": [ + "fantom.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "issuanceRewards": true, + "nativeToken": "FTM", + "docsUrl": "https://docs.fantom.foundation", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/fantom", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0x0000000000000000c20dbfb2ec18ae20037c716f3ba2d9e1da768a9deca17cb4", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "fantom" + } + } + }, + { + "id": "abstract", + "shortName": "Abstract", + "fullName": "Abstract Mainnet", + "aliases": [ + "evm-2741", + "abstract-mainnet" + ], + "caip2Id": "eip155:2741", + "graphNode": { + "protocol": "ethereum" + }, + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.abs.xyz", + "genesis": { + "hash": "0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef", + "height": 1 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "abstract" + } + } + }, + { + "id": "boba", + "shortName": "Boba", + "fullName": "Boba Network", + "aliases": [ + "evm-288", + "boba-mainnet" + ], + "caip2Id": "eip155:288", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://bobascan.com" + ], + "rpcUrls": [ + "https://mainnet.boba.network", + "https://boba.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://api.routescan.io/v2/network/mainnet/evm/288/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "boba.firehose.pinax.network:443" + ], + "substreams": [ + "boba.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "issuanceRewards": true, + "nativeToken": "ETH", + "docsUrl": "https://docs.boba.network", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/boba", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0xdcd9e6a8f9973eaa62da2874959cb152faeb4fd6929177bd6335a1a16074ef9c", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "boba" + } + } + }, + { + "id": "boba-testnet", + "shortName": "Boba", + "secondName": "Sepolia", + "fullName": "Boba Sepolia Testnet", + "aliases": [ + "boba-sepolia" + ], + "caip2Id": "eip155:28882", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://testnet.bobascan.com" + ], + "rpcUrls": [ + "https://sepolia.boba.network", + "https://bobasepolia.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://api.routescan.io/v2/network/testnet/evm/28882/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "bobasepolia.firehose.pinax.network:443" + ], + "substreams": [ + "bobasepolia.substreams.pinax.network:443" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "l2Of", + "network": "sepolia" + }, + { + "kind": "testnetOf", + "network": "boba" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.boba.network", + "genesis": { + "hash": "0xc6171953a6a376ece6e33149686044f24f58a387ce2636a54e391d330b2326b5", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "boba" + } + } + }, + { + "id": "rootstock", + "shortName": "Rootstock", + "fullName": "Rootstock Mainnet", + "aliases": [ + "rootstock-mainnet" + ], + "caip2Id": "eip155:30", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://rootstock.blockscout.com" + ], + "rpcUrls": [ + "https://public-node.rsk.co", + "https://rootstock.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://rootstock.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "mainnet", + "issuanceRewards": false, + "nativeToken": "RBTC", + "docsUrl": "https://dev.rootstock.io", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/rootstock", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0xf88529d4ab262c0f4d042e9d8d3f2472848eaafe1a9b7213f57617eb40a9f9e0", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "rootstock" + } + } + }, + { + "id": "zksync-era-sepolia", + "shortName": "zkSync", + "secondName": "Sepolia", + "fullName": "zkSync Sepolia Testnet", + "aliases": [ + "evm-300", + "zksync-testnet", + "zksync-sepolia" + ], + "caip2Id": "eip155:300", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://sepolia.explorer.zksync.io" + ], + "rpcUrls": [ + "https://sepolia.era.zksync.dev" + ], + "apiUrls": [ + { + "url": "https://block-explorer-api.sepolia.zksync.dev/api", + "kind": "etherscan" + }, + { + "url": "https://zksync-sepolia.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "zksync-era" + }, + { + "kind": "l2Of", + "network": "sepolia" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.zksync.io", + "genesis": { + "hash": "0x086227fafad2bc4d08a122ebb690d958edcd43352d38d31646968480f496827c", + "height": 1 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "zksync" + } + } + }, + { + "id": "rootstock-testnet", + "shortName": "Rootstock", + "fullName": "Rootstock Testnet", + "aliases": [], + "caip2Id": "eip155:31", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://rootstock-testnet.blockscout.com" + ], + "rpcUrls": [ + "https://public-node.testnet.rsk.co" + ], + "apiUrls": [ + { + "url": "https://rootstock-testnet.blockscout.com/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "rootstock" + } + ], + "issuanceRewards": false, + "nativeToken": "tRBTC", + "docsUrl": "https://dev.rootstock.io", + "genesis": { + "hash": "0xcabb7fbe88cd6d922042a32ffc08ce8b1fbb37d650b9d4e7dbfe2a7469adfa42", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "rootstock" + } + } + }, + { + "id": "zksync-era", + "shortName": "zkSync", + "secondName": "Era", + "fullName": "zkSync Mainnet", + "aliases": [ + "evm-324", + "zksync" + ], + "caip2Id": "eip155:324", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://explorer.zksync.io" + ], + "rpcUrls": [ + "https://mainnet.era.zksync.io", + "https://zksyncera.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://block-explorer-api.mainnet.zksync.io/api", + "kind": "etherscan" + }, + { + "url": "https://zksync.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.zksync.io", + "genesis": { + "hash": "0x51f81bcdfc324a0dff2b5bec9d92e21cbebc4d5e29d3a3d30de3e03fbeab8d7f", + "height": 1 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "zksync" + } + } + }, + { + "id": "mode-mainnet", + "shortName": "Mode", + "fullName": "Mode Mainnet", + "aliases": [ + "evm-34443", + "mode" + ], + "caip2Id": "eip155:34443", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://explorer.mode.network" + ], + "rpcUrls": [ + "https://mainnet.mode.network", + "https://mode.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://explorer.mode.network/api", + "kind": "blockscout" + }, + { + "url": "https://api.routescan.io/v2/network/mainnet/evm/34443/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "mode.firehose.pinax.network:443" + ], + "substreams": [ + "mode.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.mode.network", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/mode", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0xb0f682e12fc555fd5ce8fce51a59a67d66a5b46be28611a168260a549dac8a9b", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "mode" + } + } + }, + { + "id": "botanix-testnet", + "shortName": "Botanix", + "fullName": "Botanix Testnet", + "aliases": [ + "spiderchain-testnet", + "spiderchain-testnet-v1", + "evm-3636" + ], + "caip2Id": "eip155:3636", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://testnet.botanixscan.io" + ], + "rpcUrls": [ + "https://node.botanixlabs.dev" + ], + "apiUrls": [ + { + "url": "https://api.routescan.io/v2/network/testnet/evm/3636/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "botanix-testnet" + } + ], + "issuanceRewards": false, + "nativeToken": "BTC", + "docsUrl": "https://docs.botanixlabs.xyz", + "genesis": { + "hash": "0x3797638175875c37cefa72ef546db685e43c81ba4af8238b48a495f98d61588d", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + } + }, + { + "id": "lens-testnet", + "shortName": "Lens", + "fullName": "Lens Testnet", + "aliases": [ + "evm-37111", + "lens-sepolia" + ], + "caip2Id": "eip155:37111", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://block-explorer.testnet.lens.dev" + ], + "rpcUrls": [ + "https://rpc.testnet.lens.dev" + ], + "apiUrls": [ + { + "url": "https://block-explorer-api.staging.lens.dev/api", + "kind": "etherscan" + } + ], + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "lens-testnet" + }, + { + "kind": "l2Of", + "network": "sepolia" + } + ], + "services": {}, + "issuanceRewards": false, + "nativeToken": "GRASS", + "docsUrl": "https://www.lens.xyz/docs", + "genesis": { + "hash": "0x5712a0fa02404a9fe852ef7d19ea2c019af52f59faa262a34f327ba03bbdc6d2", + "height": 1 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + } + }, + { + "id": "astar-zkevm-mainnet", + "shortName": "Astar", + "secondName": "zkEVM", + "fullName": "Astar zkEVM Mainnet", + "aliases": [ + "evm-3776", + "astar", + "astar-zkevm" + ], + "caip2Id": "eip155:3776", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://astar-zkevm.explorer.startale.com" + ], + "rpcUrls": [ + "https://rpc.startale.com/astar-zkevm", + "https://zkastar.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://astar-zkevm.explorer.startale.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "zkastar.firehose.pinax.network:443" + ], + "substreams": [ + "zkastar.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.astar.network/docs/getting-started", + "genesis": { + "hash": "0x5f7b9f463b7a0b690efb11446d0520e5b884e5bf0e3a3780c881a3b490592574", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "astar" + } + } + }, + { + "id": "fantom-testnet", + "shortName": "Fantom", + "fullName": "Fantom Testnet", + "aliases": [ + "evm-4002" + ], + "caip2Id": "eip155:4002", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://testnet.ftmscan.com" + ], + "rpcUrls": [ + "https://rpc.testnet.fantom.network" + ], + "apiUrls": [ + { + "url": "https://fantom-testnet.abi.pinax.network/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "fantom" + } + ], + "issuanceRewards": false, + "nativeToken": "FTM", + "docsUrl": "https://docs.fantom.foundation", + "genesis": { + "hash": "0x00000000000000009a0c7349d44dc4d0f602a54e0a8543360c2fee4c3937b49e", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "fantom" + } + } + }, + { + "id": "arbitrum-one", + "shortName": "Arbitrum", + "secondName": "One", + "fullName": "Arbitrum One Mainnet", + "aliases": [ + "arbone", + "arbitrum", + "arb-sepolia", + "evm-42161" + ], + "caip2Id": "eip155:42161", + "graphNode": { + "protocol": "ethereum" + }, + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "explorerUrls": [ + "https://arbiscan.io" + ], + "rpcUrls": [ + "https://arbitrum-one.publicnode.com", + "https://arb1.arbitrum.io/rpc", + "https://arb-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}", + "https://arbitrum-mainnet.infura.io/v3/${INFURA_API_KEY}", + "https://arbone.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://arbitrum-one.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://arbitrum.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "arbone.firehose.pinax.network:443", + "arb-one.streamingfast.io:443" + ], + "substreams": [ + "arbone.substreams.pinax.network:443", + "arb-one.streamingfast.io:443" + ] + }, + "networkType": "mainnet", + "issuanceRewards": true, + "nativeToken": "ETH", + "docsUrl": "https://docs.arbitrum.io", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/arbitrum", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0x7ee576b35482195fc49205cec9af72ce14f003b9ae69f6ba0faef4514be8b442", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "arbitrum-one" + } + } + }, + { + "id": "arbitrum-sepolia", + "shortName": "Arbitrum", + "secondName": "Sepolia", + "fullName": "Arbitrum Sepolia Testnet", + "aliases": [ + "evm-421614" + ], + "caip2Id": "eip155:421614", + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "arbitrum-one" + }, + { + "kind": "l2Of", + "network": "sepolia" + } + ], + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://sepolia.arbiscan.io" + ], + "rpcUrls": [ + "https://sepolia-rollup.arbitrum.io/rpc", + "https://arbsepolia.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://arbitrum-sepolia.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://sepolia-explorer.arbitrum.io/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "arbsepolia.firehose.pinax.network:443" + ], + "substreams": [ + "arbsepolia.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.arbitrum.io", + "genesis": { + "hash": "0x77194da4010e549a7028a9c3c51c3e277823be6ac7d138d0bb8a70197b5c004c", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "arbitrum-one" + } + } + }, + { + "id": "arbitrum-nova", + "shortName": "Arbitrum", + "secondName": "Nova", + "fullName": "Arbitrum Nova", + "aliases": [ + "evm-42170", + "arbnova", + "arb-nova", + "arbitrum-nova-mainnet" + ], + "caip2Id": "eip155:42170", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://nova-explorer.arbitrum.io" + ], + "rpcUrls": [ + "https://nova.arbitrum.io/rpc", + "https://arbitrum-nova.publicnode.com", + "https://arbnova.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://arbitrum-nova.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://nova-explorer.arbitrum.io/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "arbnova.firehose.pinax.network:443" + ], + "substreams": [ + "arbnova.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.arbitrum.io", + "genesis": { + "hash": "0x2ad24e03026118f9b3a48626f0636e38c93660e90a6812e853a99aa8c5371561", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "arbitrum-nova" + } + } + }, + { + "id": "celo", + "shortName": "Celo", + "fullName": "Celo Mainnet", + "aliases": [ + "evm-42220", + "celo-mainnet" + ], + "caip2Id": "eip155:42220", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://celoscan.io" + ], + "rpcUrls": [ + "https://forno.celo.org", + "https://celo.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://celo.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://explorer.celo.org/mainnet/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "mainnet", + "issuanceRewards": true, + "nativeToken": "CELO", + "docsUrl": "https://docs.celo.org", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/celo", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0x19ea3339d3c8cda97235bc8293240d5b9dadcdfbb5d4b0b90ee731cac1bd11c3", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "celo" + } + } + }, + { + "id": "etherlink-mainnet", + "shortName": "Etherlink", + "fullName": "Etherlink Mainnet", + "aliases": [ + "etherlink" + ], + "caip2Id": "eip155:42793", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://explorer.etherlink.com" + ], + "rpcUrls": [ + "https://node.mainnet.etherlink.com" + ], + "apiUrls": [ + { + "url": "https://explorer.etherlink.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "mainnet", + "issuanceRewards": false, + "nativeToken": "XTZ", + "docsUrl": "https://docs.etherlink.com", + "genesis": { + "hash": "0x37628d45dcd6265c969aa5f5dc3fe8fddd21198c683b85ac7099d8e39597df50", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "etherlink" + } + } + }, + { + "id": "fuji", + "shortName": "Avalanche", + "secondName": "Fuji", + "fullName": "Avalanche Fuji Testnet", + "aliases": [ + "evm-43113", + "avalanche-fuji" + ], + "caip2Id": "eip155:43113", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://testnet.snowscan.xyz" + ], + "rpcUrls": [ + "https://api.avax-test.network/ext/bc/C/rpc", + "https://fuji.rpc.pinax.network/v1/{PINAX_API_KEY}/ext/bc/C/rpc" + ], + "apiUrls": [ + { + "url": "https://api-testnet.snowtrace.io/api", + "kind": "etherscan" + }, + { + "url": "https://api.routescan.io/v2/network/testnet/evm/43113/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "avalanche" + } + ], + "issuanceRewards": false, + "nativeToken": "AVAX", + "docsUrl": "https://docs.avax.network", + "genesis": { + "hash": "0x738639479dc82d199365626f90caa82f7eafcfe9ed354b456fb3d294597ceb53", + "height": 1 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "avalanche" + } + } + }, + { + "id": "avalanche", + "shortName": "Avalanche", + "secondName": "C-Chain", + "fullName": "Avalanche C-Chain", + "aliases": [ + "evm-43114", + "avalanche-mainnet" + ], + "caip2Id": "eip155:43114", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://snowtrace.io" + ], + "rpcUrls": [ + "https://api.avax.network/ext/bc/C/rpc", + "https://avalanche.rpc.pinax.network/v1/{PINAX_API_KEY}/ext/bc/C/rpc", + "https://avalanche-c-chain-rpc.publicnode.com" + ], + "apiUrls": [ + { + "url": "https://api.snowtrace.io/api", + "kind": "etherscan" + }, + { + "url": "https://api.routescan.io/v2/network/mainnet/evm/43114/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "avalanche-mainnet.streamingfast.io:443", + "avalanche.firehose.pinax.network:443" + ], + "substreams": [ + "avalanche-mainnet.streamingfast.io:443", + "avalanche.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "issuanceRewards": true, + "nativeToken": "AVAX", + "docsUrl": "https://docs.avax.network", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/avalanche", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0x31ced5b9beb7f8782b014660da0cb18cc409f121f408186886e1ca3e8eeca96b", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "avalanche" + } + } + }, + { + "id": "celo-alfajores", + "shortName": "Celo", + "secondName": "Alfajores", + "fullName": "Celo Alfajores Testnet", + "aliases": [ + "evm-44787", + "celo-testnet" + ], + "caip2Id": "eip155:44787", + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "celo" + } + ], + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://alfajores.celoscan.io" + ], + "rpcUrls": [ + "https://alfajores-forno.celo-testnet.org", + "https://alfajores.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://celo-alfajores.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://celo-alfajores.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "issuanceRewards": false, + "nativeToken": "CELO", + "docsUrl": "https://docs.celo.org", + "genesis": { + "hash": "0xe423b034e7f0282c1b621f7bbc1cea4316a2a80b1600490769eae77777e4b67e", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "celo" + } + } + }, + { + "id": "iotex", + "shortName": "IoTeX", + "fullName": "IoTeX Mainnet", + "aliases": [ + "evm-4689", + "iotex-mainnet" + ], + "caip2Id": "eip155:4689", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://iotexscan.io" + ], + "rpcUrls": [ + "https://babel-api.mainnet.iotex.io" + ], + "apiUrls": [ + { + "url": "https://index.iotexscan.io/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "mainnet", + "issuanceRewards": false, + "nativeToken": "IOTX", + "docsUrl": "https://docs.iotex.io", + "genesis": { + "hash": "0x230ba8095d5a505e355652f9dcc2b13605419a8fa3d3fd5ddc6d24fd6a902641", + "height": 1 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "iotex" + } + } + }, + { + "id": "iotex-testnet", + "shortName": "Iotex", + "secondName": "Testnet", + "fullName": "Iotex Testnet", + "aliases": [ + "evm-4690" + ], + "caip2Id": "eip155:4690", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://testnet.iotexscan.io" + ], + "rpcUrls": [ + "https://babel-api.testnet.iotex.io" + ], + "apiUrls": [ + { + "url": "https://testnet.index.iotexscan.io/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "iotex" + } + ], + "issuanceRewards": false, + "nativeToken": "IOTX", + "docsUrl": "https://docs.iotex.io", + "genesis": { + "hash": "0x663fc0a40a4943f1b56f501aee3ad626b5396e850aa53c5bd8759d0d47694dfc", + "height": 1 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "iotex" + } + } + }, + { + "id": "neox", + "shortName": "Neo X", + "fullName": "Neo X Mainnet", + "aliases": [ + "evm-47763", + "neox-mainnet" + ], + "caip2Id": "eip155:47763", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://xexplorer.neo.org" + ], + "rpcUrls": [ + "https://mainnet-1.rpc.banelabs.org" + ], + "apiUrls": [ + { + "url": "https://xexplorer.neo.org/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "mainnet", + "issuanceRewards": false, + "nativeToken": "GAS", + "docsUrl": "https://xdocs.ngd.network", + "genesis": { + "hash": "0x2ee57478315c7d3182997a812d7885dafee48612cd88cb30b615847b0dd8dbd7", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "neo-x" + } + } + }, + { + "id": "scroll-sepolia", + "shortName": "Scroll", + "secondName": "Sepolia", + "fullName": "Scroll Sepolia Testnet", + "aliases": [ + "evm-534351", + "scroll-testnet" + ], + "caip2Id": "eip155:534351", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://sepolia.scrollscan.com" + ], + "rpcUrls": [ + "https://sepolia-rpc.scroll.io", + "https://scrsepolia.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://api-sepolia.scrollscan.com/api", + "kind": "etherscan" + }, + { + "url": "https://scroll-sepolia.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "scrsepolia.firehose.pinax.network:443" + ], + "substreams": [ + "scrsepolia.substreams.pinax.network:443" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "l2Of", + "network": "sepolia" + }, + { + "kind": "testnetOf", + "network": "scroll" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.scroll.io", + "genesis": { + "hash": "0xaa62d1a8b2bffa9e5d2368b63aae0d98d54928bd713125e3fd9e5c896c68592c", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "scroll" + } + } + }, + { + "id": "scroll", + "shortName": "Scroll", + "fullName": "Scroll Mainnet", + "aliases": [ + "evm-534352", + "scroll-mainnet" + ], + "caip2Id": "eip155:534352", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://scrollscan.com" + ], + "rpcUrls": [ + "https://rpc.scroll.io", + "https://scroll.rpc.pinax.network/v1/{PINAX_API_KEY}", + "https://rpc.ankr.com/scroll" + ], + "apiUrls": [ + { + "url": "https://api.scrollscan.com/api", + "kind": "etherscan" + }, + { + "url": "https://scroll.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "scroll.firehose.pinax.network:443" + ], + "substreams": [ + "scroll.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "issuanceRewards": true, + "nativeToken": "ETH", + "docsUrl": "https://docs.scroll.io", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/scroll", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0xbbc05efd412b7cd47a2ed0e5ddfcf87af251e414ea4c801d78b6784513180a80", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "scroll" + } + } + }, + { + "id": "bsc", + "shortName": "BNB", + "fullName": "BNB Smart Chain Mainnet", + "aliases": [ + "bnb", + "bnb-mainnet", + "bsc-mainnet", + "evm-56" + ], + "caip2Id": "eip155:56", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://bscscan.com" + ], + "rpcUrls": [ + "https://bsc-dataseed1.binance.org", + "https://bsc-dataseed1.defibit.io", + "https://bsc.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://bsc.abi.pinax.network/api", + "kind": "etherscan" + } + ], + "networkType": "mainnet", + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "bsc.firehose.pinax.network:443", + "bnb.streamingfast.io:443" + ], + "substreams": [ + "bsc.substreams.pinax.network:443", + "bnb.streamingfast.io:443" + ] + }, + "issuanceRewards": true, + "nativeToken": "BNB", + "docsUrl": "https://docs.bnbchain.org", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/binance", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0x0d21840abff46b96c84b2ac9e10e4f5cdaeb5693cb665db62a2f3b02d2d57b5b", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "binance-smart-chain" + } + } + }, + { + "id": "boba-bnb", + "shortName": "Boba", + "secondName": "BNB", + "fullName": "Boba BNB Mainnet", + "aliases": [ + "evm-56288", + "boba-bsc" + ], + "caip2Id": "eip155:56288", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://bnb.bobascan.com" + ], + "rpcUrls": [ + "https://bnb.boba.network", + "https://boba-bnb.gateway.tenderly.co", + "https://bobabnb.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://api.routescan.io/v2/network/mainnet/evm/56288/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "bobabnb.firehose.pinax.network:443" + ], + "substreams": [ + "bobabnb.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "bsc" + } + ], + "issuanceRewards": true, + "nativeToken": "BOBA", + "docsUrl": "https://docs.boba.network", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/bobabnb", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0xf9aa25373a3cf1c3d3dcb1911093b56eb129221d203270bcdb002b3f01a120d9", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "boba" + } + } + }, + { + "id": "linea-sepolia", + "shortName": "Linea", + "secondName": "Sepolia", + "fullName": "Linea Sepolia Testnet", + "aliases": [ + "evm-59141", + "linea-testnet" + ], + "caip2Id": "eip155:59141", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://sepolia.lineascan.build" + ], + "rpcUrls": [ + "https://rpc.sepolia.linea.build" + ], + "apiUrls": [ + { + "url": "https://linea-sepolia.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://api-explorer.sepolia.linea.build/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "linea" + }, + { + "kind": "l2Of", + "network": "sepolia" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.linea.build", + "genesis": { + "hash": "0x65a64c825d7c13ce1bf077801d0b6b2a89853e19e4a89a5433d7d85d2102a20b", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "linea" + } + } + }, + { + "id": "linea", + "shortName": "Linea", + "fullName": "Linea Mainnet", + "aliases": [ + "evm-59144", + "linea-mainnet" + ], + "caip2Id": "eip155:59144", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://lineascan.build" + ], + "rpcUrls": [ + "https://rpc.linea.build", + "https://linea.rpc.pinax.network/v1/{PINAX_API_KEY}", + "https://linea-mainnet.infura.io/v3/${INFURA_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://linea.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://api-explorer.linea.build/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "linea.firehose.pinax.network:443" + ], + "substreams": [ + "linea.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "issuanceRewards": true, + "nativeToken": "ETH", + "docsUrl": "https://docs.linea.build", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/linea", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0xb6762a65689107b2326364aefc18f94cda413209fab35c00d4af51eaa20ffbc6", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "linea" + } + } + }, + { + "id": "zkyoto-testnet", + "shortName": "Astar", + "secondName": "zKyoto", + "fullName": "Astar zkEVM Testnet zKyoto", + "aliases": [ + "evm-6038361", + "astar-testnet", + "astar-zkevm-testnet", + "astar-zkyoto" + ], + "caip2Id": "eip155:6038361", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://zkyoto.explorer.startale.com" + ], + "rpcUrls": [ + "https://rpc.startale.com/zkyoto", + "https://zkyoto.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://zkyoto.explorer.startale.com/api", + "kind": "blockscout" + } + ], + "services": { + "firehose": [ + "zkyoto.firehose.pinax.network:443" + ], + "substreams": [ + "zkyoto.substreams.pinax.network:443" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "l2Of", + "network": "sepolia" + }, + { + "kind": "testnetOf", + "network": "astar-zkevm-mainnet" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.astar.network/docs/getting-started", + "genesis": { + "hash": "0xa479ae412a77c2f4dee25e923ecac955df8ee9bc12eed467899da53a43cbf0f1", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "astar" + } + } + }, + { + "id": "xai", + "shortName": "Xai", + "fullName": "Xai Mainnet", + "aliases": [ + "evm-660279", + "xai-mainnet" + ], + "caip2Id": "eip155:660279", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://explorer.xai-chain.net" + ], + "rpcUrls": [ + "https://xai-chain.net/rpc", + "https://xai.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://explorer.xai-chain.net/api", + "kind": "blockscout" + } + ], + "services": { + "firehose": [ + "xai.firehose.pinax.network:443" + ], + "substreams": [ + "xai.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "arbitrum-one" + } + ], + "issuanceRewards": false, + "nativeToken": "XAI", + "docsUrl": "https://docs.x.ai/docs", + "genesis": { + "hash": "0xeb2a6f0f62cc7956562dc4e6316b60bdaff6a15affd6431592cb52f1552caa55", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "xai" + } + } + }, + { + "id": "zora", + "shortName": "Zora", + "fullName": "Zora Network", + "aliases": [ + "zora-mainnet" + ], + "caip2Id": "eip155:7777777", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://explorer.zora.energy" + ], + "rpcUrls": [ + "https://rpc.zora.energy", + "https://zora.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://explorer.zora.energy/api", + "kind": "blockscout" + }, + { + "url": "https://api.routescan.io/v2/network/mainnet/evm/7777777/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "firehose": [ + "zora.firehose.pinax.network:443" + ], + "substreams": [ + "zora.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.zora.co", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/zora", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0x47555a45a1af8d4728ca337a1e48375a83919b1ea16591e070a07388b7364e29", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + } + }, + { + "id": "polygon-amoy", + "shortName": "Polygon", + "secondName": "Amoy", + "fullName": "Polygon Amoy Testnet", + "aliases": [ + "amoy-testnet", + "amoy" + ], + "caip2Id": "eip155:80002", + "graphNode": { + "protocol": "ethereum" + }, + "relations": [ + { + "kind": "testnetOf", + "network": "matic" + }, + { + "kind": "l2Of", + "network": "sepolia" + } + ], + "explorerUrls": [ + "https://www.oklink.com/amoy" + ], + "rpcUrls": [ + "https://rpc-amoy.polygon.technology", + "https://amoy.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://polygon-amoy.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://api.routescan.io/v2/network/testnet/evm/80002/etherscan/api", + "kind": "etherscan" + } + ], + "networkType": "testnet", + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "amoy.firehose.pinax.network:443" + ], + "substreams": [ + "amoy.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "POL", + "docsUrl": "https://docs.polygon.technology", + "genesis": { + "hash": "0x7202b2b53c5a0836e773e319d18922cc756dd67432f9a1f65352b61f4406c697", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "polygon-pos" + } + } + }, + { + "id": "blast-mainnet", + "shortName": "Blast", + "fullName": "Blast Mainnet", + "aliases": [ + "evm-81457", + "blast" + ], + "caip2Id": "eip155:81457", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://blastscan.io" + ], + "rpcUrls": [ + "https://rpc.blast.io", + "https://blast.rpc.pinax.network/v1/{PINAX_API_KEY}", + "https://rpc.ankr.com/blast" + ], + "apiUrls": [ + { + "url": "https://blast.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://blast.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "blast.firehose.pinax.network:443" + ], + "substreams": [ + "blast.substreams.pinax.network:443" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "issuanceRewards": true, + "nativeToken": "ETH", + "docsUrl": "https://docs.blast.io", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/blast", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0xb689b35ef29d0bec5816938e0e52683c7257d2e325420ea69b739a2be4754b89", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "blast" + } + } + }, + { + "id": "kaia", + "shortName": "Kaia", + "fullName": "Kaia Mainnet", + "aliases": [ + "evm-8217", + "kaia-mainnet" + ], + "caip2Id": "eip155:8217", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://kaiascan.io" + ], + "rpcUrls": [ + "https://public-en.node.kaia.io" + ], + "apiUrls": [], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "mainnet", + "issuanceRewards": false, + "nativeToken": "KAIA", + "docsUrl": "https://docs.kaia.io", + "genesis": { + "hash": "0xc72e5293c3c3ba38ed8ae910f780e4caaa9fb95e79784f7ab74c3c262ea7137e", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "klay-token" + } + } + }, + { + "id": "base", + "shortName": "Base", + "fullName": "Base Mainnet", + "aliases": [ + "evm-8453", + "base-mainnet" + ], + "caip2Id": "eip155:8453", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://base.blockscout.com" + ], + "rpcUrls": [ + "https://mainnet.base.org", + "https://base-rpc.publicnode.com", + "https://base.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://base.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://base.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "base.firehose.pinax.network:443", + "base-mainnet.streamingfast.io:443" + ], + "substreams": [ + "base.substreams.pinax.network:443", + "base-mainnet.streamingfast.io:443" + ] + }, + "networkType": "mainnet", + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "issuanceRewards": true, + "nativeToken": "ETH", + "docsUrl": "https://docs.base.org", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/base", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0xf712aa9241cc24369b143cf6dce85f0902a9731e70d66818a3a5845b296c73dd", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "base" + } + } + }, + { + "id": "base-sepolia", + "shortName": "Base", + "secondName": "Sepolia", + "fullName": "Base Sepolia Testnet", + "aliases": [ + "evm-84532", + "base-testnet" + ], + "caip2Id": "eip155:84532", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://sepolia.basescan.org" + ], + "rpcUrls": [ + "https://sepolia.base.org", + "https://base-sepolia-rpc.publicnode.com", + "https://basesepolia.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://base-sepolia.abi.pinax.network/api", + "kind": "etherscan" + }, + { + "url": "https://base-sepolia.blockscout.com/api", + "kind": "blockscout" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "basesepolia.firehose.pinax.network:443" + ], + "substreams": [ + "basesepolia.substreams.pinax.network:443" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "base" + }, + { + "kind": "l2Of", + "network": "sepolia" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.base.org", + "genesis": { + "hash": "0x0dcc9e089e30b90ddfc55be9a37dd15bc551aeee999d2e2b51414c54eaf934e4", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "base" + } + } + }, + { + "id": "chiliz-testnet", + "shortName": "Chiliz", + "secondName": "Spicy", + "fullName": "Chiliz Spicy Testnet", + "aliases": [ + "chiliz-spicy-testnet", + "evm-88882" + ], + "caip2Id": "eip155:88882", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://testnet.chiliscan.com" + ], + "rpcUrls": [ + "https://spicy-rpc.chiliz.com" + ], + "apiUrls": [ + { + "url": "https://spicy-explorer.chiliz.com/api", + "kind": "etherscan" + }, + { + "url": "https://api.routescan.io/v2/network/testnet/evm/88882/etherscan/api", + "kind": "etherscan" + } + ], + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "chiliz" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "issuanceRewards": false, + "nativeToken": "CHZ", + "docsUrl": "https://docs.chiliz.com", + "genesis": { + "hash": "0x9e0e07ae4ee9b0ef66a4206656677020306259d0b0b845ad3bb6b09fb91485ff", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "chiliz" + } + } + }, + { + "id": "chiliz", + "shortName": "Chiliz", + "fullName": "Chiliz Mainnet", + "aliases": [ + "chiliz-mainnet", + "evm-88888" + ], + "caip2Id": "eip155:88888", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://chiliscan.com" + ], + "rpcUrls": [ + "https://rpc.chiliz.com", + "https://rpc.ankr.com/chiliz", + "https://chiliz.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://scan.chiliz.com/api", + "kind": "etherscan" + }, + { + "url": "https://api.routescan.io/v2/network/mainnet/evm/88888/etherscan/api", + "kind": "etherscan" + } + ], + "networkType": "mainnet", + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "chiliz.firehose.pinax.network:443" + ], + "substreams": [ + "chiliz.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "CHZ", + "docsUrl": "https://docs.chiliz.com", + "genesis": { + "hash": "0xd79fa059ef8cdfcf72676df19e209ee014183a5fa1cf132b2ff9288dbbcf5042", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "chiliz" + } + } + }, + { + "id": "mode-sepolia", + "shortName": "Mode", + "secondName": "Sepolia", + "fullName": "Mode Sepolia Testnet", + "aliases": [ + "evm-919", + "mode-testnet" + ], + "caip2Id": "eip155:919", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://sepolia.explorer.mode.network" + ], + "rpcUrls": [ + "https://sepolia.mode.network" + ], + "apiUrls": [ + { + "url": "https://sepolia.explorer.mode.network/api", + "kind": "blockscout" + }, + { + "url": "https://api.routescan.io/v2/network/testnet/evm/919/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "mode-mainnet" + }, + { + "kind": "l2Of", + "network": "sepolia" + } + ], + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.mode.network", + "genesis": { + "hash": "0x13c352562289a88ed33087a51b6b6c859a27709c8555c9def7cb9757c043acad", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "mode" + } + } + }, + { + "id": "chapel", + "shortName": "BNB", + "secondName": "Chapel", + "fullName": "BNB Smart Chain Chapel Testnet", + "aliases": [ + "bnb-chapel", + "bnb-testnet", + "bsc-testnet" + ], + "caip2Id": "eip155:97", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://testnet.bscscan.com" + ], + "rpcUrls": [ + "https://data-seed-prebsc-1-s1.bnbchain.org:8545", + "https://chapel.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [ + { + "url": "https://bsc-testnet.abi.pinax.network/api", + "kind": "etherscan" + } + ], + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "bsc" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "chapel.firehose.pinax.network:443" + ], + "substreams": [ + "chapel.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "tBNB", + "docsUrl": "https://docs.bnbchain.org", + "genesis": { + "hash": "0x6d3c66c5357ec91d5c43af47e234a939b22557cbb552dc45bebbceeed90fbe34", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": true, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "binance-smart-chain" + } + } + }, + { + "id": "boba-bnb-testnet", + "shortName": "Boba", + "secondName": "BNB", + "fullName": "Boba BNB Testnet", + "aliases": [ + "evm-9728", + "boba-bsc-testnet" + ], + "caip2Id": "eip155:9728", + "graphNode": { + "protocol": "ethereum" + }, + "explorerUrls": [ + "https://bnb.testnet.bobascan.com" + ], + "rpcUrls": [ + "https://testnet.bnb.boba.network" + ], + "apiUrls": [ + { + "url": "https://api.routescan.io/v2/network/testnet/evm/9728/etherscan/api", + "kind": "etherscan" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ] + }, + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "boba-bnb" + }, + { + "kind": "l2Of", + "network": "boba-testnet" + } + ], + "issuanceRewards": false, + "nativeToken": "BOBA", + "docsUrl": "https://docs.boba.network", + "genesis": { + "hash": "0x4d26ddc947c7cea924d5ef272c1a5ef40a1dce5ca2cbbaccad59d33f2505a30d", + "height": 0 + }, + "firehose": { + "blockType": "sf.ethereum.type.v2.Block", + "evmExtendedModel": false, + "bufUrl": "https://buf.build/streamingfast/firehose-ethereum", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "boba" + } + } + }, + { + "id": "wax", + "shortName": "WAX", + "fullName": "WAX Mainnet", + "aliases": [ + "wax-mainnet" + ], + "caip2Id": "antelope:1064487b3cd1a897ce03ae5b6a865651", + "explorerUrls": [ + "https://wax.bloks.io" + ], + "rpcUrls": [ + "https://wax.api.eosnation.io" + ], + "apiUrls": [], + "networkType": "mainnet", + "services": { + "firehose": [ + "wax.firehose.pinax.network:443" + ], + "substreams": [ + "wax.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "WAX", + "docsUrl": "https://developer.wax.io", + "genesis": { + "hash": "0x00000002c9a8761a546eeae2d5a0df4586d8d53d5e8c74da1b2f9ee44587f37d", + "height": 2 + }, + "firehose": { + "blockType": "sf.antelope.type.v1.Block", + "bufUrl": "https://buf.build/pinax/firehose-antelope", + "bytesEncoding": "hex" + } + }, + { + "id": "telos-testnet", + "shortName": "Telos", + "fullName": "Telos Testnet", + "aliases": [], + "caip2Id": "antelope:1eaa0824707c8c16bd25145493bf062a", + "explorerUrls": [ + "https://explorer-test.telos.net" + ], + "rpcUrls": [ + "https://telostest.api.eosnation.io" + ], + "apiUrls": [], + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "telos" + } + ], + "services": { + "firehose": [ + "telostest.firehose.pinax.network:443" + ], + "substreams": [ + "telostest.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "TELOS", + "docsUrl": "https://docs.telos.net", + "genesis": { + "hash": "0x0000000377dcf185dce2cd5b1ad7e70a7da0a73fc175c47283043791956c70c3", + "height": 3 + }, + "firehose": { + "blockType": "sf.antelope.type.v1.Block", + "bufUrl": "https://buf.build/pinax/firehose-antelope", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "telos" + } + } + }, + { + "id": "telos", + "shortName": "Telos", + "fullName": "Telos Mainnet", + "aliases": [ + "telos-mainnet" + ], + "caip2Id": "antelope:4667b205c6838ef70ff7988f6e8257e8", + "explorerUrls": [ + "https://explorer.telos.net" + ], + "rpcUrls": [ + "https://telos.api.eosnation.io" + ], + "apiUrls": [], + "networkType": "mainnet", + "services": { + "firehose": [ + "telos.firehose.pinax.network:443" + ], + "substreams": [ + "telos.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "TELOS", + "docsUrl": "https://docs.telos.net", + "genesis": { + "hash": "0x000000021d642039071f77a8a2e1eca6cfc0d90f94e7304f0d401bf28f067693", + "height": 2 + }, + "firehose": { + "blockType": "sf.antelope.type.v1.Block", + "bufUrl": "https://buf.build/pinax/firehose-antelope", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "telos" + } + } + }, + { + "id": "kylin", + "shortName": "EOS", + "secondName": "Kylin", + "fullName": "EOS Kylin Testnet", + "aliases": [ + "eos-kylin" + ], + "caip2Id": "antelope:5fff1dae8dc8e2fc4d5b23b2c7665c97", + "explorerUrls": [ + "https://kylin.bloks.io" + ], + "rpcUrls": [ + "https://kylin.api.eosnation.io" + ], + "apiUrls": [], + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "eos" + } + ], + "services": { + "firehose": [ + "kylin.firehose.pinax.network:443" + ], + "substreams": [ + "kylin.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "EOS", + "docsUrl": "https://docs.eosnetwork.com/docs/latest/quick-start/introduction", + "genesis": { + "hash": "0x00000002a1ec7ae214b9e43a904b6c010fb1260c9e8a12e5967bdbe451152a07", + "height": 2 + }, + "firehose": { + "blockType": "sf.antelope.type.v1.Block", + "bufUrl": "https://buf.build/pinax/firehose-antelope", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "eos" + } + } + }, + { + "id": "jungle4", + "shortName": "EOS", + "secondName": "Jungle4", + "fullName": "EOS Jungle4 Testnet", + "aliases": [ + "jungle" + ], + "caip2Id": "antelope:73e4385a2708e6d7048834fbc1079f2f", + "explorerUrls": [ + "https://jungle.bloks.io" + ], + "rpcUrls": [ + "https://jungle4.api.eosnation.io" + ], + "apiUrls": [], + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "eos" + } + ], + "services": { + "firehose": [ + "jungle4.firehose.pinax.network:443" + ], + "substreams": [ + "jungle4.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "EOS", + "docsUrl": "https://jungletestnet.io", + "genesis": { + "hash": "0x00000002d61d836f51657f886a5bc55b18a731f7eace6565784328fbd051fc90", + "height": 2 + }, + "firehose": { + "blockType": "sf.antelope.type.v1.Block", + "bufUrl": "https://buf.build/pinax/firehose-antelope", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "eos" + } + } + }, + { + "id": "eos", + "shortName": "EOS", + "fullName": "EOS Mainnet", + "aliases": [ + "eos-mainnet" + ], + "caip2Id": "antelope:aca376f206b8fc25a6ed44dbdc66547c", + "explorerUrls": [ + "https://bloks.io" + ], + "rpcUrls": [ + "https://eos.api.eosnation.io" + ], + "apiUrls": [], + "networkType": "mainnet", + "services": { + "firehose": [ + "eos.firehose.pinax.network:443" + ], + "substreams": [ + "eos.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "EOS", + "docsUrl": "https://docs.eosnetwork.com/docs/latest/quick-start/introduction", + "genesis": { + "hash": "0x0000000267f3e2284b482f3afc2e724be1d6cbc1804532ec62d4e7af47c30693", + "height": 2 + }, + "firehose": { + "blockType": "sf.antelope.type.v1.Block", + "bufUrl": "https://buf.build/pinax/firehose-antelope", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "eos" + } + } + }, + { + "id": "wax-testnet", + "shortName": "WAX", + "fullName": "WAX Testnet", + "aliases": [ + "waxtest" + ], + "caip2Id": "antelope:f16b1833c747c43682f4386fca9cbb32", + "explorerUrls": [ + "https://wax-test.bloks.io" + ], + "rpcUrls": [ + "https://waxtest.api.eosnation.io" + ], + "apiUrls": [], + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "wax" + } + ], + "services": { + "firehose": [ + "waxtest.firehose.pinax.network:443" + ], + "substreams": [ + "waxtest.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "WAX", + "docsUrl": "https://developer.wax.io", + "genesis": { + "hash": "0x00000002066113f7023ed907632c404f25c5f0f02034f3b1a22f339c83d78c53", + "height": 2 + }, + "firehose": { + "blockType": "sf.antelope.type.v1.Block", + "bufUrl": "https://buf.build/pinax/firehose-antelope", + "bytesEncoding": "hex" + } + }, + { + "id": "arweave-mainnet", + "shortName": "Arweave", + "fullName": "Arweave", + "aliases": [ + "arweave" + ], + "caip2Id": "arweave:7wIU", + "explorerUrls": [ + "https://arscan.io" + ], + "rpcUrls": [], + "apiUrls": [], + "networkType": "mainnet", + "graphNode": { + "protocol": "arweave" + }, + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "arweave.firehose.pinax.network:443" + ], + "substreams": [ + "arweave.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "AR", + "docsUrl": "https://docs.arweave.org/developers", + "genesis": { + "hash": "0xef0214ecaa252020230a5325719dfc2d9cec86123bc46926dad0c2251ed6be17b7112528dbe678fb2d31d6e6a0951244", + "height": 0 + }, + "firehose": { + "blockType": "sf.arweave.type.v1.Block", + "bufUrl": "https://buf.build/pinax/firehose-arweave", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "arweave" + } + } + }, + { + "id": "mainnet-cl", + "shortName": "Ethereum Beacon", + "fullName": "Ethereum Consensus Layer", + "aliases": [ + "mainnet-beacon", + "eth-cl", + "eth-beacon" + ], + "caip2Id": "beacon:1", + "explorerUrls": [], + "rpcUrls": [], + "apiUrls": [], + "networkType": "mainnet", + "relations": [ + { + "kind": "beaconOf", + "network": "mainnet" + } + ], + "services": { + "firehose": [ + "eth-cl.firehose.pinax.network:443" + ], + "substreams": [ + "eth-cl.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://ethereum.org/en/developers/docs/consensus-mechanisms", + "genesis": { + "hash": "0x4d611d5b93fdab69013a7f0a2f961caca0c853f87cfe9595fe50038163079360", + "height": 0 + }, + "firehose": { + "blockType": "sf.beacon.type.v1.Block", + "bufUrl": "https://buf.build/pinax/firehose-beacon", + "bytesEncoding": "0xhex" + }, + "icon": { + "web3Icons": { + "name": "ethereum" + } + } + }, + { + "id": "gnosis-cl", + "shortName": "Gnosis Beacon", + "fullName": "Gnosis Consensus Layer", + "aliases": [ + "gnosis-beacon" + ], + "caip2Id": "beacon:100", + "explorerUrls": [], + "rpcUrls": [], + "apiUrls": [], + "networkType": "mainnet", + "relations": [ + { + "kind": "beaconOf", + "network": "gnosis" + } + ], + "services": { + "firehose": [ + "gnosis-cl.firehose.pinax.network:443" + ], + "substreams": [ + "gnosis-cl.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "XDAI", + "docsUrl": "https://ethereum.org/en/developers/docs/consensus-mechanisms", + "genesis": { + "hash": "0x23564cd15ac0b90ed72cbc78ffd5e35e309816c0cca5ad28390bd9892e846a75", + "height": 0 + }, + "firehose": { + "blockType": "sf.beacon.type.v1.Block", + "bufUrl": "https://buf.build/pinax/firehose-beacon", + "bytesEncoding": "0xhex" + }, + "icon": { + "web3Icons": { + "name": "gnosis" + } + } + }, + { + "id": "gnosis-chiado-cl", + "shortName": "Gnosis Beacon", + "secondName": "Chiado", + "fullName": "Gnosis Chiado Consensus Layer", + "aliases": [ + "gnosis-chiado-beacon" + ], + "caip2Id": "beacon:10200", + "explorerUrls": [], + "rpcUrls": [], + "apiUrls": [], + "networkType": "mainnet", + "relations": [ + { + "kind": "beaconOf", + "network": "gnosis-chiado" + } + ], + "services": { + "firehose": [ + "chiado-cl.firehose.pinax.network:443" + ], + "substreams": [ + "chiado-cl.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "XDAI", + "docsUrl": "https://ethereum.org/en/developers/docs/consensus-mechanisms", + "genesis": { + "hash": "0xf227cf50c05b1aa570ce4f8ee00c71f11c63d05b297ad3a0e7a05d341c333381", + "height": 0 + }, + "firehose": { + "blockType": "sf.beacon.type.v1.Block", + "bufUrl": "https://buf.build/pinax/firehose-beacon", + "bytesEncoding": "0xhex" + }, + "icon": { + "web3Icons": { + "name": "gnosis" + } + } + }, + { + "id": "sepolia-cl", + "shortName": "Ethereum Beacon", + "secondName": "Sepolia", + "fullName": "Ethereum Sepolia Consensus Layer", + "aliases": [ + "sepolia-beacon" + ], + "caip2Id": "beacon:11155111", + "explorerUrls": [], + "rpcUrls": [], + "apiUrls": [], + "networkType": "mainnet", + "relations": [ + { + "kind": "beaconOf", + "network": "sepolia" + } + ], + "services": { + "firehose": [ + "sepolia-cl.firehose.pinax.network:443" + ], + "substreams": [ + "sepolia-cl.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://ethereum.org/en/developers/docs/consensus-mechanisms", + "genesis": { + "hash": "0xfb9b64fe445f76696407e1e3cc390371edff147bf712db86db6197d4b31ede43", + "height": 0 + }, + "firehose": { + "blockType": "sf.beacon.type.v1.Block", + "bufUrl": "https://buf.build/pinax/firehose-beacon", + "bytesEncoding": "0xhex" + }, + "icon": { + "web3Icons": { + "name": "ethereum" + } + } + }, + { + "id": "holesky-cl", + "shortName": "Ethereum Beacon", + "secondName": "Holesky", + "fullName": "Ethereum Holesky Consensus Layer", + "aliases": [ + "holesky-beacon" + ], + "caip2Id": "beacon:17000", + "explorerUrls": [], + "rpcUrls": [], + "apiUrls": [], + "networkType": "mainnet", + "relations": [ + { + "kind": "beaconOf", + "network": "holesky" + } + ], + "services": { + "firehose": [ + "holesky-cl.firehose.pinax.network:443" + ], + "substreams": [ + "holesky-cl.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://ethereum.org/en/developers/docs/consensus-mechanisms", + "genesis": { + "hash": "0xab09edd9380f8451c3ff5c809821174a36dce606fea8b5ea35ea936915dbf889", + "height": 0 + }, + "firehose": { + "blockType": "sf.beacon.type.v1.Block", + "bufUrl": "https://buf.build/pinax/firehose-beacon", + "bytesEncoding": "0xhex" + }, + "icon": { + "web3Icons": { + "name": "ethereum" + } + } + }, + { + "id": "btc", + "shortName": "Bitcoin", + "fullName": "Bitcoin Mainnet", + "aliases": [ + "bitcoin" + ], + "caip2Id": "bip122:000000000019d6689c085ae165831e93", + "explorerUrls": [ + "https://btcscan.org" + ], + "rpcUrls": [ + "https://bitcoin-mainnet.gateway.tatum.io" + ], + "apiUrls": [], + "networkType": "mainnet", + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "bitcoin.firehose.pinax.network:443", + "mainnet.btc.streamingfast.io:443" + ], + "substreams": [ + "bitcoin.substreams.pinax.network:443", + "mainnet.btc.streamingfast.io:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "BTC", + "docsUrl": "https://developer.bitcoin.org", + "genesis": { + "hash": "0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f", + "height": 0 + }, + "firehose": { + "blockType": "sf.bitcoin.type.v1.Block", + "bufUrl": "https://buf.build/streamingfast/firehose-bitcoin", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "bitcoin" + } + } + }, + { + "id": "litecoin", + "shortName": "Litecoin", + "fullName": "Litecoin Mainnet", + "aliases": [ + "ltc", + "litecoin-mainnet" + ], + "caip2Id": "bip122:12a765e31ffd4059bada1e25190f6e98", + "explorerUrls": [ + "https://blockexplorer.one/litecoin/mainnet" + ], + "rpcUrls": [ + "https://litecoin-mainnet.gateway.tatum.io" + ], + "apiUrls": [], + "networkType": "mainnet", + "services": { + "firehose": [ + "litecoin.firehose.pinax.network:443" + ], + "substreams": [ + "litecoin.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "LTC", + "docsUrl": "https://litecoin.info/docs", + "genesis": { + "hash": "0x12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2", + "height": 0 + }, + "firehose": { + "blockType": "sf.bitcoin.type.v1.Block", + "bufUrl": "https://buf.build/streamingfast/firehose-bitcoin", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "litecoin" + } + } + }, + { + "id": "injective-mainnet", + "shortName": "Injective", + "fullName": "Injective Mainnet", + "aliases": [ + "injective", + "injective-1" + ], + "caip2Id": "cosmos:injective-1", + "explorerUrls": [ + "https://explorer.injective.network" + ], + "rpcUrls": [], + "apiUrls": [], + "networkType": "mainnet", + "graphNode": { + "protocol": "cosmos" + }, + "services": { + "firehose": [ + "mainnet.injective.streamingfast.io:443" + ], + "substreams": [ + "mainnet.injective.streamingfast.io:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "INJ", + "docsUrl": "https://docs.injective.network", + "genesis": { + "hash": "0x24c9714291a999b952859ee02ec9b233394fe743b07ea3578d432a4a2707b6af", + "height": 1 + }, + "firehose": { + "blockType": "sf.cosmos.type.v2.Block", + "bufUrl": "https://buf.build/streamingfast/firehose-cosmos", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "injective" + } + } + }, + { + "id": "injective-testnet", + "shortName": "Injective", + "fullName": "Injective Testnet", + "aliases": [ + "injective-2" + ], + "caip2Id": "cosmos:injective-2", + "explorerUrls": [ + "https://testnet.explorer.injective.network" + ], + "rpcUrls": [], + "apiUrls": [], + "networkType": "testnet", + "graphNode": { + "protocol": "cosmos" + }, + "relations": [ + { + "kind": "testnetOf", + "network": "injective-mainnet" + } + ], + "services": { + "firehose": [ + "testnet.injective.streamingfast.io:443" + ], + "substreams": [ + "testnet.injective.streamingfast.io:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "INJ", + "docsUrl": "https://docs.injective.network", + "genesis": { + "hash": "0xa9effb99c7bc3ba8c18a487ffffd800c137bc2b2f47f73c350f3ca27077044a1", + "height": 37368800 + }, + "firehose": { + "blockType": "sf.cosmos.type.v2.Block", + "bufUrl": "https://buf.build/streamingfast/firehose-cosmos", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "injective" + } + } + }, + { + "id": "mantra-mainnet", + "shortName": "Mantra", + "fullName": "Mantra Mainnet", + "aliases": [ + "mantra-1", + "mantra" + ], + "caip2Id": "cosmos:mantra-1", + "explorerUrls": [ + "https://explorer.mantrachain.io/MANTRA-1" + ], + "rpcUrls": [ + "https://mantra-rpc.publicnode.com" + ], + "apiUrls": [], + "networkType": "mainnet", + "graphNode": { + "protocol": "cosmos" + }, + "services": { + "firehose": [ + "mainnet.mantra.streamingfast.io:443" + ], + "substreams": [ + "mainnet.mantra.streamingfast.io:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "OM", + "docsUrl": "https://docs.mantrachain.io", + "genesis": { + "hash": "0x0d56d4b442c9628cb5679a04dbb8085920c64a4737fe50b8574c4d3a37ab2141", + "height": 1 + }, + "firehose": { + "blockType": "sf.cosmos.type.v2.Block", + "bufUrl": "https://buf.build/streamingfast/firehose-cosmos", + "bytesEncoding": "hex" + } + }, + { + "id": "mantra-testnet", + "shortName": "Mantra", + "secondName": "Dukong", + "fullName": "Mantra Dukong Testnet", + "aliases": [ + "mantra-dukong" + ], + "caip2Id": "cosmos:mantra-dukong", + "explorerUrls": [ + "https://explorer.mantrachain.io/MANTRA-Dukong" + ], + "rpcUrls": [ + "https://mantra-testnet-rpc.publicnode.com:443" + ], + "apiUrls": [], + "networkType": "testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "mantra-mainnet" + } + ], + "graphNode": { + "protocol": "cosmos" + }, + "services": { + "firehose": [ + "testnet.mantra.streamingfast.io:443" + ], + "substreams": [ + "testnet.mantra.streamingfast.io:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "OM", + "docsUrl": "https://docs.mantrachain.io", + "genesis": { + "hash": "0x2701f72ef3e2242e27244b2dfa895ad212fc07de71599a0af2fe2410d93bc7bb", + "height": 1 + }, + "firehose": { + "blockType": "sf.cosmos.type.v2.Block", + "bufUrl": "https://buf.build/streamingfast/firehose-cosmos", + "bytesEncoding": "hex" + } + }, + { + "id": "vara-mainnet", + "shortName": "Vara", + "fullName": "Vara Mainnet", + "aliases": [ + "vara" + ], + "caip2Id": "gear:vara-mainnet", + "explorerUrls": [ + "https://vara.subscan.io" + ], + "rpcUrls": [], + "apiUrls": [ + { + "url": "https://vara.api.subscan.io/api", + "kind": "subscan" + } + ], + "networkType": "mainnet", + "services": { + "firehose": [ + "mainnet.vara.streamingfast.io:443" + ], + "substreams": [ + "mainnet.vara.streamingfast.io:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "VARA", + "docsUrl": "https://wiki.vara.network", + "genesis": { + "hash": "0xfe1b4c55fd4d668101126434206571a7838a8b6b93a6d1b95d607e78e6c53763", + "height": 0 + }, + "firehose": { + "blockType": "sf.gear.type.v1.Block", + "bufUrl": "https://buf.build/streamingfast/firehose-gear", + "bytesEncoding": "hex" + } + }, + { + "id": "vara-testnet", + "shortName": "Vara", + "fullName": "Vara Testnet", + "aliases": [], + "caip2Id": "gear:vara-testnet", + "relations": [ + { + "kind": "testnetOf", + "network": "vara-mainnet" + } + ], + "explorerUrls": [], + "rpcUrls": [], + "apiUrls": [], + "networkType": "testnet", + "services": { + "firehose": [ + "testnet.vara.streamingfast.io:443" + ], + "substreams": [ + "testnet.vara.streamingfast.io:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "VARA", + "docsUrl": "https://wiki.vara.network", + "genesis": { + "hash": "0x525639f713f397dcf839bd022cd821f367ebcf179de7b9253531f8adbe5436d6", + "height": 0 + }, + "firehose": { + "blockType": "sf.gear.type.v1.Block", + "bufUrl": "https://buf.build/streamingfast/firehose-gear", + "bytesEncoding": "hex" + } + }, + { + "id": "near-mainnet", + "shortName": "Near", + "fullName": "Near Mainnet", + "aliases": [ + "near" + ], + "caip2Id": "near:mainnet", + "explorerUrls": [ + "https://nearblocks.io" + ], + "rpcUrls": [ + "https://rpc.mainnet.near.org" + ], + "apiUrls": [], + "networkType": "mainnet", + "graphNode": { + "protocol": "near" + }, + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "near.firehose.pinax.network:443", + "mainnet.near.streamingfast.io:443" + ], + "substreams": [ + "near.substreams.pinax.network:443", + "mainnet.near.streamingfast.io:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "NEAR", + "docsUrl": "https://docs.near.org", + "genesis": { + "hash": "0xc6fdf91c8e82f8f917cc1975e9de1c64be11899e321dfdf5febcfbb7313f1486", + "height": 9820210 + }, + "firehose": { + "blockType": "sf.near.type.v1.Block", + "bufUrl": "https://buf.build/streamingfast/firehose-near", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "near-protocol" + } + } + }, + { + "id": "near-testnet", + "shortName": "Near", + "fullName": "Near Testnet", + "aliases": [], + "caip2Id": "near:testnet", + "explorerUrls": [ + "https://testnet.nearblocks.io" + ], + "rpcUrls": [ + "https://rpc.testnet.near.org" + ], + "apiUrls": [], + "networkType": "testnet", + "graphNode": { + "protocol": "near" + }, + "relations": [ + { + "kind": "testnetOf", + "network": "near-mainnet" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "neartest.firehose.pinax.network:443" + ], + "substreams": [ + "neartest.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "NEAR", + "docsUrl": "https://docs.near.org", + "genesis": { + "hash": "0xd784da5a9e5e66668516c19a8095448fc54a22a28971dc330f0099df94379410", + "height": 42376888 + }, + "firehose": { + "blockType": "sf.near.type.v1.Block", + "bufUrl": "https://buf.build/streamingfast/firehose-near", + "bytesEncoding": "hex" + }, + "icon": { + "web3Icons": { + "name": "near-protocol" + } + } + }, + { + "id": "solana-mainnet-beta", + "shortName": "Solana", + "fullName": "Solana Mainnet", + "aliases": [ + "solana-mainnet", + "solana" + ], + "caip2Id": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", + "explorerUrls": [ + "http://explorer.solana.com", + "http://solana.fm" + ], + "rpcUrls": [ + "https://api.mainnet-beta.solana.com" + ], + "apiUrls": [], + "networkType": "mainnet", + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "mainnet.sol.streamingfast.io:443", + "solana.firehose.pinax.network:443" + ], + "substreams": [ + "mainnet.sol.streamingfast.io:443", + "solana.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "SOL", + "docsUrl": "https://solana.com/docs", + "genesis": { + "hash": "4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZAMdL4VZHirAn", + "height": 0 + }, + "firehose": { + "blockType": "sf.solana.type.v1.Block", + "bufUrl": "https://buf.build/streamingfast/firehose-solana", + "bytesEncoding": "base58" + }, + "icon": { + "web3Icons": { + "name": "solana" + } + } + }, + { + "id": "solana-devnet", + "shortName": "Solana", + "fullName": "Solana Devnet", + "aliases": [], + "caip2Id": "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1", + "explorerUrls": [ + "https://explorer.solana.com/?cluster=devnet" + ], + "rpcUrls": [ + "https://api.devnet.solana.com" + ], + "apiUrls": [], + "networkType": "devnet", + "relations": [ + { + "kind": "testnetOf", + "network": "solana-mainnet-beta" + } + ], + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "devnet.sol.streamingfast.io:443" + ], + "substreams": [ + "devnet.sol.streamingfast.io:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "SOL", + "docsUrl": "https://solana.com/docs", + "genesis": { + "hash": "B2Ano6cfDxb1ce3WXVM3VmkVGj3NPGB5ag95S46S3cpE", + "height": 325312361 + }, + "firehose": { + "blockType": "sf.solana.type.v1.Block", + "bufUrl": "https://buf.build/streamingfast/firehose-solana", + "bytesEncoding": "base58" + }, + "icon": { + "web3Icons": { + "name": "solana" + } + } + }, + { + "id": "starknet-mainnet", + "shortName": "Starknet", + "fullName": "Starknet Mainnet", + "aliases": [ + "starknet" + ], + "caip2Id": "starknet:SN_MAIN", + "graphNode": { + "protocol": "starknet" + }, + "relations": [ + { + "kind": "l2Of", + "network": "mainnet" + } + ], + "explorerUrls": [ + "https://starkscan.co" + ], + "rpcUrls": [ + "https://starknet-mainnet.public.blastapi.io", + "https://starknet.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [], + "networkType": "mainnet", + "services": { + "subgraphs": [ + "https://api.studio.thegraph.com/deploy" + ], + "sps": [ + "https://api.studio.thegraph.com/deploy" + ], + "firehose": [ + "mainnet.starknet.streamingfast.io:443", + "starknet.firehose.pinax.network:443" + ], + "substreams": [ + "mainnet.starknet.streamingfast.io:443", + "starknet.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "ETH", + "docsUrl": "https://docs.starknet.io", + "indexerDocsUrls": [ + { + "url": "https://docs.infradao.com/archive-nodes-101/starknet", + "description": "Archive Nodes 101" + } + ], + "genesis": { + "hash": "0x47c3637b57c2b079b93c61539950c17e868a28f46cdef28f88521067f21e943", + "height": 0 + }, + "firehose": { + "blockType": "sf.starknet.type.v1.Block", + "bufUrl": "https://buf.build/streamingfast/firehose-starknet", + "bytesEncoding": "0xhex" + }, + "icon": { + "web3Icons": { + "name": "starknet" + } + } + }, + { + "id": "starknet-testnet", + "shortName": "Starknet", + "secondName": "Sepolia", + "fullName": "Starknet Sepolia Testnet", + "aliases": [ + "starknet-sepolia" + ], + "caip2Id": "starknet:SN_SEPOLIA", + "graphNode": { + "protocol": "starknet" + }, + "relations": [ + { + "kind": "l2Of", + "network": "sepolia" + }, + { + "kind": "testnetOf", + "network": "starknet-mainnet" + } + ], + "explorerUrls": [ + "https://sepolia.starkscan.co" + ], + "rpcUrls": [ + "https://starknet-sepolia.public.blastapi.io", + "https://starksepolia.rpc.pinax.network/v1/{PINAX_API_KEY}" + ], + "apiUrls": [], + "networkType": "testnet", + "services": { + "firehose": [ + "starksepolia.firehose.pinax.network:443" + ], + "substreams": [ + "starksepolia.substreams.pinax.network:443" + ] + }, + "issuanceRewards": false, + "nativeToken": "STRK", + "docsUrl": "https://docs.starknet.io", + "genesis": { + "hash": "0x5c627d4aeb51280058bed93c7889bce78114d63baad1be0f0aeb32496d5f19c", + "height": 0 + }, + "firehose": { + "blockType": "sf.starknet.type.v1.Block", + "bufUrl": "https://buf.build/streamingfast/firehose-starknet", + "bytesEncoding": "0xhex" + }, + "icon": { + "web3Icons": { + "name": "starknet" + } + } + } + ] +} diff --git a/packages/cli/package.json b/packages/cli/package.json index 1b276ad55..61d6e7396 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -14,6 +14,7 @@ "files": [ "CHANGELOG.md", "bin", + "config/TheGraphNetworksRegistry.json", "dist", "oclif.manifest.json", "README.md", @@ -34,6 +35,7 @@ "@oclif/plugin-autocomplete": "^3.2.11", "@oclif/plugin-not-found": "^3.2.29", "@oclif/plugin-warn-if-update-available": "^3.1.24", + "@pinax/graph-networks-registry": "^0.6.5", "@whatwg-node/fetch": "^0.10.1", "assemblyscript": "0.27.31", "binary-install": "^1.1.0", diff --git a/packages/cli/src/command-helpers/abi.ts b/packages/cli/src/command-helpers/abi.ts deleted file mode 100644 index a8b5a3853..000000000 --- a/packages/cli/src/command-helpers/abi.ts +++ /dev/null @@ -1,532 +0,0 @@ -import immutable from 'immutable'; -import { GRAPH_CLI_SHARED_HEADERS } from '../constants.js'; -import debugFactory from '../debug.js'; -import fetch from '../fetch.js'; -import ABI from '../protocols/ethereum/abi.js'; -import { withSpinner } from './spinner.js'; - -const logger = debugFactory('graph-cli:abi-helpers'); - -const fetchFromEtherscan = async (url: string): Promise => { - const result = await fetch(url); - let json: any = {}; - - if (result.ok) { - json = await result.json().catch(error => { - throw new Error(`Failed to read JSON response from Etherscan: ${error}`); - }); - - // Etherscan returns a JSON object that has a `status`, a `message` and - // a `result` field. The `status` is '0' in case of errors and '1' in - // case of success - if (json.status === '1') return json; - } - - logger( - 'Failed to fetchFromEtherscan: [%s] %s (%s)\n%O', - result.status, - result.statusText, - result.url, - json, - ); - return null; -}; - -export const loadAbiFromEtherscan = async ( - ABICtor: typeof ABI, - network: string, - address: string, -): Promise => - await withSpinner( - `Fetching ABI from Etherscan`, - `Failed to fetch ABI from Etherscan`, - `Warnings while fetching ABI from Etherscan`, - async () => { - const scanApiUrl = getEtherscanLikeAPIUrl(network); - const json = await fetchFromEtherscan( - `${scanApiUrl}?module=contract&action=getabi&address=${address}`, - ); - - if (json) - return new ABICtor('Contract', undefined, immutable.fromJS(JSON.parse(json.result))); - - throw new Error('Try loading it from a local file'); - }, - ); - -export const loadStartBlockForContract = async ( - network: string, - address: string, -): Promise => - await withSpinner( - `Fetching Start Block`, - `Failed to fetch Start Block`, - `Warnings while fetching deploy contract transaction from Etherscan`, - async () => { - return getStartBlockForContract(network, address); - }, - ); - -export const loadContractNameForAddress = async ( - network: string, - address: string, -): Promise => - await withSpinner( - `Fetching Contract Name`, - `Failed to fetch Contract Name`, - `Warnings while fetching contract name from Etherscan`, - async () => { - return getContractNameForAddress(network, address); - }, - ); - -export const fetchDeployContractTransactionFromEtherscan = async ( - network: string, - address: string, -): Promise => { - const scanApiUrl = getEtherscanLikeAPIUrl(network); - const json = await fetchFromEtherscan( - `${scanApiUrl}?module=contract&action=getcontractcreation&contractaddresses=${address}`, - ); - - if (json) { - const hash = json.result[0].txHash; - logger('Successfully fetchDeployContractTransactionFromEtherscan. txHash: %s', hash); - return hash; - } - - throw new Error(`Failed to fetch deploy contract transaction`); -}; - -export const fetchTransactionByHashFromRPC = async ( - network: string, - transactionHash: string, -): Promise => { - let json: any; - const RPCURL = getPublicRPCEndpoint(network); - try { - if (!RPCURL) throw new Error(`Unable to fetch RPC URL for ${network}`); - const result = await fetch(String(RPCURL), { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - ...GRAPH_CLI_SHARED_HEADERS, - }, - body: JSON.stringify({ - jsonrpc: '2.0', - method: 'eth_getTransactionByHash', - params: [transactionHash], - id: 1, - }), - }); - json = await result.json(); - return json; - } catch (error) { - logger('Failed to fetchTransactionByHashFromRPC: %O', error); - throw new Error( - `Failed to run \`eth_getTransactionByHash\` on RPC (${RPCURL}) (run with env \`DEBUG=*\` for full error).`, - ); - } -}; - -export const fetchSourceCodeFromEtherscan = async ( - network: string, - address: string, -): Promise => { - const scanApiUrl = getEtherscanLikeAPIUrl(network); - const json = await fetchFromEtherscan( - `${scanApiUrl}?module=contract&action=getsourcecode&address=${address}`, - ); - - // Have to check that the SourceCode response is not empty due to Etherscan API bug responding with - // 1 - OK on non-valid contracts. - if (json.result[0].SourceCode) return json; - - throw new Error(`Failed to fetch contract source code: ${json.result[0].ABI}`); -}; - -export const getContractNameForAddress = async ( - network: string, - address: string, -): Promise => { - try { - const contractSourceCode = await fetchSourceCodeFromEtherscan(network, address); - let contractName: string = contractSourceCode.result[0].ContractName; - - // Some explorers will return the full path of the contract instead of just the name - // Example: contracts/SyncSwapRouter.sol:SyncSwapRouter - if (contractName.includes(':')) - contractName = contractName.substring(contractName.lastIndexOf(':') + 1); - - logger('Successfully getContractNameForAddress. contractName: %s', contractName); - return contractName; - } catch (error) { - logger('Failed to fetch getContractNameForAddress: %O', error); - throw new Error(error?.message); - } -}; - -export const getStartBlockForContract = async ( - network: string, - address: string, -): Promise => { - try { - const transactionHash = await fetchDeployContractTransactionFromEtherscan(network, address); - const txn = await fetchTransactionByHashFromRPC(network, transactionHash); - const blockNumber = parseInt(txn.result.blockNumber, 16); - logger('Successfully getStartBlockForContract. blockNumber: %s', blockNumber); - return blockNumber; - } catch (error) { - logger('Failed to fetch getStartBlockForContract: %O', error); - throw new Error(error?.message); - } -}; - -export const loadAbiFromBlockScout = async ( - ABICtor: typeof ABI, - network: string, - address: string, -) => - await withSpinner( - `Fetching ABI from BlockScout`, - `Failed to fetch ABI from BlockScout`, - `Warnings while fetching ABI from BlockScout`, - async () => { - const result = await fetch( - `https://blockscout.com/${network.replace( - '-', - '/', - )}/api?module=contract&action=getabi&address=${address}`, - ); - const json = await result.json(); - - // BlockScout returns a JSON object that has a `status`, a `message` and - // a `result` field. The `status` is '0' in case of errors and '1' in - // case of success - if (json.status === '1') { - logger('Successfully loadAbiFromBlockScout. address: %s', address); - return new ABICtor('Contract', undefined, immutable.fromJS(JSON.parse(json.result))); - } - logger('Failed to loadAbiFromBlockScout. address: %s', address); - throw new Error('ABI not found, try loading it from a local file'); - }, - ); - -const getEtherscanLikeAPIUrl = (network: string) => { - switch (network) { - case 'mainnet': - return `https://mainnet.abi.pinax.network/api`; - case 'arbitrum-one': - return `https://arbitrum-one.abi.pinax.network/api`; - case 'arbitrum-goerli': - return `https://api-goerli.arbiscan.io/api`; - case 'arbitrum-sepolia': - return `https://arbitrum-sepolia.abi.pinax.network/api`; - case 'bsc': - return `https://bsc.abi.pinax.network/api`; - case 'base-testnet': - return `https://api-goerli.basescan.org/api`; - case 'base-sepolia': - return `https://base-sepolia.abi.pinax.network/api`; - case 'base': - return `https://base.abi.pinax.network/api`; - case 'chapel': - return `https://bsc-testnet.abi.pinax.network/api`; - case 'matic': - return `https://polygon.abi.pinax.network/api`; - case 'mumbai': - return `https://polygon-mumbai.abi.pinax.network/api`; - case 'aurora': - return `https://explorer.mainnet.aurora.dev/api`; - case 'aurora-testnet': - return `https://explorer.testnet.aurora.dev/api`; - case 'optimism-goerli': - return `https://api-goerli-optimistic.etherscan.io/api`; - case 'optimism': - return `https://optimism.abi.pinax.network/api`; - case 'moonbeam': - return `https://moonbeam.abi.pinax.network/api`; - case 'moonriver': - return `https://api-moonriver.moonscan.io/api`; - case 'mbase': - return `https://moonbase.abi.pinax.network/api`; - case 'avalanche': - return `https://api.snowtrace.io/api`; - case 'fuji': - return `https://api-testnet.snowtrace.io/api`; - case 'celo': - return `https://celo.abi.pinax.network/api`; - case 'celo-alfajores': - return `https://celo-alfajores.abi.pinax.network/api`; - case 'gnosis': - return `https://gnosis.abi.pinax.network/api`; - case 'fantom': - return `https://fantom.abi.pinax.network/api`; - case 'fantom-testnet': - return `https://fantom-testnet.abi.pinax.network/api`; - case 'zksync-era': - return `https://block-explorer-api.mainnet.zksync.io/api`; - case 'zksync-era-testnet': - return `https://block-explorer-api.testnets.zksync.dev/api`; - case 'zksync-era-sepolia': - return 'https://block-explorer-api.sepolia.zksync.dev/api'; - case 'polygon-zkevm-testnet': - return `https://testnet-zkevm.polygonscan.com/api`; - case 'polygon-zkevm': - return `https://polygon-zkevm.abi.pinax.network/api`; - case 'sepolia': - return `https://sepolia.abi.pinax.network/api`; - case 'scroll-sepolia': - return `https://api-sepolia.scrollscan.dev/api`; - case 'optimism-sepolia': - return `https://optimism-sepolia.abi.pinax.network/api`; - case 'scroll': - return `https://api.scrollscan.com/api`; - case 'linea': - return `https://linea.abi.pinax.network/api`; - case 'linea-sepolia': - return 'https://linea-sepolia.abi.pinax.network/api'; - case 'linea-goerli': - return `https://api.linea-goerli.build/api`; - case 'blast-testnet': - return `https://blast-testnet.abi.pinax.network/api`; - case 'blast-mainnet': - return `https://blast.abi.pinax.network/api`; - case 'etherlink-testnet': - return `https://testnet-explorer.etherlink.com/api`; - case 'polygon-amoy': - return `https://polygon-amoy.abi.pinax.network/api`; - case 'gnosis-chiado': - return `https://gnosis-chiado.blockscout.com/api`; - case 'mode-mainnet': - return `https://explorer.mode.network/api`; - case 'mode-sepolia': - return `https://sepolia.explorer.mode.network/api`; - case 'fuse': - return 'https://explorer.fuse.io/api'; - case 'astar-zkevm-mainnet': - return `https://astar-zkevm.explorer.startale.com/api`; - case 'polygon-zkevm-cardona': - return `https://polygon-zkevm-cardona.abi.pinax.network/api`; - case 'sei-mainnet': - return `https://seitrace.com/pacific-1/api`; - case 'sei-atlantic': - return `https://seitrace.com/atlantic-2/api`; - case 'rootstock': - return 'https://rootstock.blockscout.com/api'; - case 'iotex': - return 'https://index.iotexscan.io/api'; - case 'gravity-mainnet': - return 'https://explorer.gravity.xyz/api'; - case 'gravity-testnet': - return 'https://explorer-sepolia.gravity.xyz/api'; - case 'etherlink-mainnet': - return 'https://explorer.etherlink.com/api'; - case 'iotex-testnet': - return 'https://testnet.index.iotexscan.io/api'; - case 'neox': - return 'https://xexplorer.neo.org/api/ngd/api'; - case 'neox-testnet': - return 'https://xt4scan.ngd.network/api/ngd/api'; - case 'arbitrum-nova': - return 'https://arbitrum-nova.abi.pinax.network/api'; - case 'soneium-testnet': - return 'https://soneium-minato.blockscout.com/api'; - case 'chiliz': - return 'https://scan.chiliz.com/api'; - case 'chiliz-testnet': - return 'https://spicy-explorer.chiliz.com/api'; - case 'boba': - return 'https://api.routescan.io/v2/network/mainnet/evm/288/etherscan/api'; - case 'boba-testnet': - return 'https://api.routescan.io/v2/network/testnet/evm/28882/etherscan/api'; - case 'boba-bnb': - return 'https://api.routescan.io/v2/network/mainnet/evm/56288/etherscan/api'; - case 'boba-bnb-testnet': - return 'https://api.routescan.io/v2/network/testnet/evm/9728/etherscan/api'; - case 'fuse-testnet': - return 'https://explorer.fusespark.io/api'; - case 'rootstock-testnet': - return 'https://rootstock-testnet.blockscout.com/api'; - case 'unichain-testnet': - return 'https://unichain-sepolia.blockscout.com/api'; - case 'lens-testnet': - return 'https://block-explorer-api.testnet.lens.dev/api'; - case 'abstract-testnet': - return 'https://block-explorer-api.testnet.abs.xyz/api'; - case 'corn': - return 'https://maizenet-explorer.usecorn.com/api'; - case 'corn-testnet': - return 'https://testnet-explorer.usecorn.com/api'; - case 'botanix-testnet': - return 'https://api.routescan.io/v2/network/testnet/evm/3636/etherscan/api'; - default: - return `https://api-${network}.etherscan.io/api`; - } -}; -const getPublicRPCEndpoint = (network: string) => { - switch (network) { - case 'arbitrum-goerli': - return 'https://goerli-rollup.arbitrum.io/rpc'; - case 'arbitrum-one': - return 'https://arb1.arbitrum.io/rpc'; - case 'arbitrum-sepolia': - return `https://sepolia-rollup.arbitrum.io/rpc`; - case 'aurora': - return 'https://rpc.mainnet.aurora.dev'; - case 'aurora-testnet': - return 'https://rpc.testnet.aurora.dev'; - case 'avalanche': - return 'https://api.avax.network/ext/bc/C/rpc'; - case 'base-testnet': - return 'https://goerli.base.org'; - case 'base-sepolia': - return 'https://sepolia.base.org'; - case 'base': - return 'https://mainnet.base.org'; - case 'bsc': - return 'https://bsc-dataseed.binance.org'; - case 'celo': - return 'https://forno.celo.org'; - case 'celo-alfajores': - return 'https://alfajores-forno.celo-testnet.org'; - case 'chapel': - return 'https://rpc.chapel.dev'; - case 'clover': - return 'https://rpc.clover.finance'; - case 'fantom': - return 'https://rpcapi.fantom.network'; - case 'fantom-testnet': - return 'https://rpc.testnet.fantom.network'; - case 'fuji': - return 'https://api.avax-test.network/ext/bc/C/rpc'; - case 'fuse': - return 'https://rpc.fuse.io'; - case 'goerli': - return 'https://rpc.ankr.com/eth_goerli'; - case 'gnosis': - return 'https://rpc.gnosischain.com'; - case 'mainnet': - return 'https://rpc.ankr.com/eth'; - case 'matic': - return 'https://polygon-rpc.com/'; - case 'mbase': - return 'https://rpc.moonbase.moonbeam.network'; - case 'mumbai': - return 'https://rpc-mumbai.maticvigil.com'; - case 'moonbeam': - return 'https://rpc.api.moonbeam.network'; - case 'moonriver': - return 'https://moonriver.public.blastapi.io'; - case 'optimism': - return 'https://mainnet.optimism.io'; - case 'optimism-goerli': - return 'https://goerli.optimism.io'; - case 'poa-core': - return 'https://core.poa.network'; - case 'poa-sokol': - return 'https://sokol.poa.network'; - case 'polygon-zkevm-testnet': - return 'https://rpc.public.zkevm-test.net'; - case 'polygon-zkevm': - return 'https://zkevm-rpc.com'; - case 'rinkeby': - return 'https://rpc.ankr.com/eth_rinkeby'; - case 'zksync-era': - return 'https://mainnet.era.zksync.io'; - case 'zksync-era-testnet': - return 'https://testnet.era.zksync.dev'; - case 'zksync-era-sepolia': - return 'https://sepolia.era.zksync.dev'; - case 'sepolia': - return 'https://rpc.ankr.com/eth_sepolia'; - case 'scroll-sepolia': - return 'https://rpc.ankr.com/scroll_sepolia_testnet'; - case 'scroll': - return 'https://rpc.ankr.com/scroll'; - case 'linea': - return 'https://linea-mainnet.public.blastapi.io'; - case 'linea-sepolia': - return 'https://linea-sepolia.public.blastapi.io'; - case 'linea-goerli': - return 'https://linea-goerli.public.blastapi.io'; - case 'blast-testnet': - return 'https://sepolia.blast.io'; - case 'blast-mainnet': - return 'https://rpc.blast.io'; - case 'optimism-sepolia': - return 'https://sepolia.optimism.io'; - case 'etherlink-testnet': - return `https://node.ghostnet.etherlink.com`; - case 'polygon-amoy': - return `https://rpc-amoy.polygon.technology`; - case 'gnosis-chiado': - return `https://rpc.chiadochain.net`; - case 'mode-mainnet': - return `https://mainnet.mode.network`; - case 'mode-sepolia': - return `https://sepolia.mode.network`; - case 'astar-zkevm-mainnet': - return `https://1rpc.io/astr`; - case 'polygon-zkevm-cardona': - return `https://rpc.cardona.zkevm-rpc.com`; - case 'sei-mainnet': - return `https://evm-rpc.sei-apis.com`; - case 'sei-atlantic': - return `https://evm-rpc-testnet.sei-apis.com`; - case 'rootstock': - return 'https://public-node.rsk.co'; - case 'iotex': - return 'https://iotexrpc.com'; - case 'gravity-mainnet': - return 'https://rpc.gravity.xyz/'; - case 'gravity-testnet': - return 'https://rpc-sepolia.gravity.xyz'; - case 'etherlink-mainnet': - return 'https://node.mainnet.etherlink.com'; - case 'iotex-testnet': - return 'https://babel-api.testnet.iotex.io'; - case 'neox': - return 'https://mainnet-1.rpc.banelabs.org'; - case 'neox-testnet': - return 'https://neoxt4seed1.ngd.network'; - case 'arbitrum-nova': - return 'https://nova.arbitrum.io/rpc'; - case 'soneium-testnet': - return 'https://rpc.minato.soneium.org/'; - case 'chiliz': - return 'https://rpc.ankr.com/chiliz'; - case 'chiliz-testnet': - return 'https://spicy-rpc.chiliz.com'; - case 'boba': - return 'https://boba-eth.drpc.org'; - case 'boba-testnet': - return 'https://sepolia.boba.network'; - case 'boba-bnb': - return 'https://bnb.boba.network'; - case 'boba-bnb-testnet': - return 'https://testnet.bnb.boba.network'; - case 'fuse-testnet': - return 'https://rpc.fusespark.io'; - case 'rootstock-testnet': - return 'https://public-node.testnet.rsk.co'; - case 'kaia': - return 'https://public-en.node.kaia.io'; - case 'kaia-testnet': - return 'https://public-en.kairos.node.kaia.io'; - case 'unichain-testnet': - return 'https://sepolia.unichain.org'; - case 'lens-testnet': - return 'https://api.staging.lens.zksync.dev'; - case 'abstract-testnet': - return 'https://api.testnet.abs.xyz'; - case 'corn': - return 'https://maizenet-rpc.usecorn.com'; - case 'corn-testnet': - return 'https://testnet-rpc.usecorn.com'; - case 'botanix-testnet': - return 'https://node.botanixlabs.dev'; - default: - throw new Error(`Unknown network: ${network}`); - } -}; diff --git a/packages/cli/src/command-helpers/compiler.ts b/packages/cli/src/command-helpers/compiler.ts index 11b54790e..eba5fa550 100644 --- a/packages/cli/src/command-helpers/compiler.ts +++ b/packages/cli/src/command-helpers/compiler.ts @@ -3,7 +3,7 @@ import * as toolbox from 'gluegun'; import Compiler from '../compiler/index.js'; import { GRAPH_CLI_SHARED_HEADERS } from '../constants.js'; import Protocol from '../protocols/index.js'; -import { create } from '../utils.js'; +import { createIpfsClient } from '../utils.js'; interface CreateCompilerOptions { ipfs: string | URL | undefined; @@ -56,7 +56,7 @@ The IPFS URL must be of the following format: http(s)://host[:port]/[path]`); // Connect to the IPFS node (if a node address was provided) const ipfsClient = ipfs - ? create({ + ? createIpfsClient({ url: appendApiVersionForGraph(ipfs.toString()), headers: { ...headers, diff --git a/packages/cli/src/command-helpers/abi.test.ts b/packages/cli/src/command-helpers/contracts.test.ts similarity index 75% rename from packages/cli/src/command-helpers/abi.test.ts rename to packages/cli/src/command-helpers/contracts.test.ts index 73c4f1725..f2fced552 100644 --- a/packages/cli/src/command-helpers/abi.test.ts +++ b/packages/cli/src/command-helpers/contracts.test.ts @@ -1,11 +1,9 @@ import { describe, expect, test } from 'vitest'; -import { getStartBlockForContract } from './abi.js'; +import { ContractService } from './contracts.js'; +import { loadRegistry } from './registry.js'; // An object with some test cases for contract deployment block numbers const TEST_CONTRACT_START_BLOCKS = { - 'arbitrum-goerli': { - '0xde438d54c7b75f798985ae38a4d07b5431702077': 4_488_583, - }, 'arbitrum-one': { '0xF4d73326C13a4Fc5FD7A064217e12780e9Bd62c3': 226_981, }, @@ -15,12 +13,6 @@ const TEST_CONTRACT_START_BLOCKS = { bsc: { '0xc35DADB65012eC5796536bD9864eD8773aBc74C4': 5_205_069, }, - fantom: { - '0xf731202A3cf7EfA9368C2d7bD613926f7A144dB5': 28_771_200, - }, - goerli: { - '0xff02b7d59975E76F67B63b20b813a9Ec0f6AbD60': 226_385, - }, mainnet: { '0xc2EdaD668740f1aA35E4D8f227fB8E17dcA888Cd': 10_736_242, }, @@ -36,6 +28,12 @@ const TEST_CONTRACT_START_BLOCKS = { optimism: { '0xc35DADB65012eC5796536bD9864eD8773aBc74C4': 7_019_815, }, + celo: { + '0x8084936982D089130e001b470eDf58faCA445008': 10_186_627, + }, + gnosis: { + '0xdDCbf776dF3dE60163066A5ddDF2277cB445E0F3': 16_655_565, + }, // Skipping these networks for now because they do not support the latest etherscan contracts API or is blockScout based @@ -86,15 +84,20 @@ const TEST_CONTRACT_START_BLOCKS = { // }, }; -// skip this test since its time consuming -describe.skip('getStartBlockForContract', () => { +describe.sequential('getStartBlockForContract', async () => { + const registry = await loadRegistry(); + const contractService = new ContractService(registry); for (const [network, contracts] of Object.entries(TEST_CONTRACT_START_BLOCKS)) { for (const [contract, startBlockExp] of Object.entries(contracts)) { - test(`Returns the start block ${network} ${contract} ${startBlockExp}`, async () => { - //loop through the TEST_CONTRACT_START_BLOCKS object and test each network - const startBlock = await getStartBlockForContract(network, contract); - expect(startBlock).toBe(startBlockExp); - }); + test( + `Returns the start block ${network} ${contract} ${startBlockExp}`, + async () => { + //loop through the TEST_CONTRACT_START_BLOCKS object and test each network + const startBlock = await contractService.getStartBlock(network, contract); + expect(parseInt(startBlock)).toBe(startBlockExp); + }, + { timeout: 10_000 }, + ); } } }); diff --git a/packages/cli/src/command-helpers/contracts.ts b/packages/cli/src/command-helpers/contracts.ts new file mode 100644 index 000000000..eb6e35642 --- /dev/null +++ b/packages/cli/src/command-helpers/contracts.ts @@ -0,0 +1,184 @@ +import immutable from 'immutable'; +import { NetworksRegistry } from '@pinax/graph-networks-registry'; +import debugFactory from '../debug.js'; +import fetch from '../fetch.js'; +import ABI from '../protocols/ethereum/abi.js'; + +const logger = debugFactory('graph-cli:contract-service'); + +export class ContractService { + constructor(private registry: NetworksRegistry) {} + + private async fetchFromEtherscan(url: string): Promise { + const result = await fetch(url).catch(_error => { + throw new Error(`Contract API is unreachable`); + }); + let json: any = {}; + + if (result.ok) { + json = await result.json().catch(error => { + throw new Error(`Invalid JSON: ${error}`); + }); + + if (json.status === '1') return json; + } + + logger( + 'Failed to fetch from contract API: [%s] %s (%s)\n%O', + result.status, + result.statusText, + result.url, + json, + ); + if (json.message) { + throw new Error(`${json.message ?? ''} - ${json.result ?? ''}`); + } + return null; + } + + // replace {api_key} with process.env[api_key] + // return empty string if env var not found + private applyVars(url: string): string { + const match = url.match(/\{([^}]+)\}/); + if (!match) return url; + const key = match[1]; + return process.env[key] ? url.replace(`{${key}}`, process.env[key]) : ''; + } + + private getEtherscanUrls(networkId: string) { + const network = this.registry.getNetworkById(networkId); + if (!network) { + throw new Error(`Invalid network ${networkId}`); + } + + return ( + network.apiUrls + ?.filter(item => ['etherscan', 'blockscout'].includes(item.kind)) + ?.map(item => item.url) + .map(this.applyVars) + .filter(Boolean) ?? [] + ); + } + + private getRpcUrls(networkId: string) { + const network = this.registry.getNetworkById(networkId); + if (!network) { + throw new Error(`Invalid network ${networkId}`); + } + + return network.rpcUrls?.map(this.applyVars).filter(Boolean) ?? []; + } + + async getABI(ABICtor: typeof ABI, networkId: string, address: string) { + const urls = this.getEtherscanUrls(networkId); + const errors: string[] = []; + if (!urls.length) { + throw new Error(`No contract API available for ${networkId} in the registry`); + } + for (const url of urls) { + try { + const json = await this.fetchFromEtherscan( + `${url}?module=contract&action=getabi&address=${address}`, + ); + + if (json) { + return new ABICtor('Contract', undefined, immutable.fromJS(JSON.parse(json.result))); + } + throw new Error(`no result: ${JSON.stringify(json)}`); + } catch (error) { + logger(`Failed to fetch from ${url}: ${error}`); + errors.push(String(error)); + } + } + + throw new Error(errors?.[0]); + } + + async getStartBlock(networkId: string, address: string): Promise { + const urls = this.getEtherscanUrls(networkId); + if (!urls.length) { + throw new Error(`No contract API available for ${networkId} in the registry`); + } + for (const url of urls) { + try { + const json = await this.fetchFromEtherscan( + `${url}?module=contract&action=getcontractcreation&contractaddresses=${address}`, + ); + + if (json?.result?.length) { + if (json.result[0]?.blockNumber) { + return json.result[0].blockNumber; + } + const txHash = json.result[0].txHash; + const tx = await this.fetchTransactionByHash(networkId, txHash); + if (!tx?.blockNumber) { + throw new Error(`no blockNumber: ${JSON.stringify(tx)}`); + } + return Number(tx.blockNumber).toString(); + } + throw new Error(`no result: ${JSON.stringify(json)}`); + } catch (error) { + logger(`Failed to fetch start block from ${url}: ${error}`); + } + } + + throw new Error(`Failed to fetch deploy contract transaction for ${address}`); + } + + async getContractName(networkId: string, address: string): Promise { + const urls = this.getEtherscanUrls(networkId); + if (!urls.length) { + throw new Error(`No contract API available for ${networkId} in the registry`); + } + for (const url of urls) { + try { + const json = await this.fetchFromEtherscan( + `${url}?module=contract&action=getsourcecode&address=${address}`, + ); + + if (json) { + const { ContractName } = json.result[0]; + if (ContractName !== '') { + return ContractName; + } + } + throw new Error(`no result: ${JSON.stringify(json)}`); + } catch (error) { + logger(`Failed to fetch from ${url}: ${error}`); + } + } + + throw new Error(`Failed to fetch contract name for ${address}`); + } + + private async fetchTransactionByHash(networkId: string, txHash: string) { + const urls = this.getRpcUrls(networkId); + if (!urls.length) { + throw new Error(`No JSON-RPC available for ${networkId} in the registry`); + } + for (const url of urls) { + try { + const response = await fetch(url, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + jsonrpc: '2.0', + method: 'eth_getTransactionByHash', + params: [txHash], + id: 1, + }), + }); + + const json = await response.json(); + if (json.result) { + return json.result; + } + throw new Error(JSON.stringify(json)); + } catch (error) { + logger(`Failed to fetch tx ${txHash} from ${url}: ${error}`); + } + } + + throw new Error(`JSON-RPC is unreachable`); + } +} diff --git a/packages/cli/src/command-helpers/file-resolver.ts b/packages/cli/src/command-helpers/file-resolver.ts new file mode 100644 index 000000000..5a4b36433 --- /dev/null +++ b/packages/cli/src/command-helpers/file-resolver.ts @@ -0,0 +1,74 @@ +import os from 'node:os'; +import path from 'node:path'; +import fs from 'fs-extra'; +import fetch from '../fetch.js'; +import { DEFAULT_IPFS_URL } from './ipfs.js'; + +export interface FileSource { + path: string; + cleanup?: () => void; +} + +export async function resolveFile( + source: string, + fileName: string, + timeout: number = 10_000, +): Promise { + const timeoutPromise = new Promise((_, reject) => { + setTimeout(() => reject(new Error('File download timed out')), timeout); + }); + + const resolvePromise = async (): Promise => { + // If it's a local file + try { + await fs.access(source, fs.constants.R_OK); + const stats = await fs.stat(source); + if (!stats.isFile()) { + throw new Error('Must be a file'); + } + return { path: source }; + } catch (error) { + if (error.code !== 'ENOENT') { + throw new Error(`Local file is not accessible: ${error.message}`); + } + } + + // Create temp directory for downloads + const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'graph-file-')); + const cleanup = () => fs.removeSync(tempDir); + + try { + // If it's an IPFS hash (Qm...) + if (source.startsWith('Qm')) { + const response = await fetch(`${DEFAULT_IPFS_URL}/cat?arg=${source}`); + if (!response.ok) { + throw new Error(`Failed to fetch file from IPFS: ${response.statusText}`); + } + const filePath = path.join(tempDir, fileName); + const buffer = Buffer.from(await response.arrayBuffer()); + await fs.writeFile(filePath, buffer); + return { path: filePath, cleanup }; + } + + // If it's a URL + if (source.startsWith('http')) { + const response = await fetch(source); + if (!response.ok) { + throw new Error(`Failed to fetch file from URL: ${response.statusText}`); + } + const filePath = path.join(tempDir, fileName); + const buffer = Buffer.from(await response.arrayBuffer()); + await fs.writeFile(filePath, buffer); + + return { path: filePath, cleanup }; + } + + throw new Error('Invalid file source. Must be a file path, IPFS hash, or URL'); + } catch (error) { + cleanup(); + throw error; + } + }; + + return Promise.race([resolvePromise(), timeoutPromise]); +} diff --git a/packages/cli/src/command-helpers/prompt-manager.ts b/packages/cli/src/command-helpers/prompt-manager.ts new file mode 100644 index 000000000..3d4bfa090 --- /dev/null +++ b/packages/cli/src/command-helpers/prompt-manager.ts @@ -0,0 +1,80 @@ +import { prompt } from 'gluegun'; +import { PromptOptions } from 'gluegun/build/types/toolbox/prompt-enquirer-types'; + +export class PromptManager { + private steps: PromptOptions[] = []; + private currentStep = 0; + private results: any[] = []; + private stepLines: number[] = []; + + // adds a step prompt + addStep(options: PromptOptions) { + this.steps.push(options); + this.stepLines.push(1); + } + + // "options" doesn't take closure, so to populate it dynamically we need to call this + setOptions(stepName: string, options: Partial) { + const step = this.steps.find(s => s.name === stepName); + if (step) { + Object.assign(step, options); + } + } + + // can be called externally if more than one line is added on the step + addLine() { + this.stepLines[this.currentStep]++; + } + + // clears the lines added during the step + private clearStepLines() { + const linesToClear = 1 + this.stepLines[this.currentStep]; + for (let i = 0; i < linesToClear; i++) { + process.stdout.write('\x1b[1A\x1b[2K'); // Move up and clear line + } + this.stepLines[this.currentStep] = 1; + } + + // runs all steps and returns the results + async execute() { + return prompt.ask(this.steps); + } + + // allows going back with Escape and returns the results + async executeInteractive() { + let isCtrlC = false; + // gluegun always throws empty string so we don't know what caused the exception, so we need this workaround to handle Ctrl+C + const keypressHandler = (_: string, key: { name: string; ctrl: boolean }) => { + isCtrlC = key.ctrl && key.name === 'c'; + }; + process.stdin.on('keypress', keypressHandler); + + while (this.currentStep < this.steps.length) { + try { + this.results[this.currentStep] = await prompt.ask(this.steps[this.currentStep]); + this.currentStep++; + } catch (error) { + if (error instanceof Error) { + throw error; + } + if (isCtrlC || this.currentStep === 0) { + process.stdout.write('\n'); + process.exit(1); + } + + this.currentStep--; + while (this.currentStep > 0) { + delete this.results[this.currentStep]; + const skip = this.steps[this.currentStep].skip; + const shouldSkip = typeof skip === 'function' ? await skip({}) : skip; + if (!shouldSkip) break; + this.currentStep--; + } + this.clearStepLines(); + } + } + + process.stdin.removeListener('keypress', keypressHandler); + return this.results; + } +} diff --git a/packages/cli/src/command-helpers/registry.ts b/packages/cli/src/command-helpers/registry.ts new file mode 100644 index 000000000..71144985d --- /dev/null +++ b/packages/cli/src/command-helpers/registry.ts @@ -0,0 +1,41 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { NetworksRegistry } from '@pinax/graph-networks-registry'; +import debugFactory from '../debug.js'; + +const debug = debugFactory('graph-cli:registry'); + +export async function loadRegistry() { + let registry: NetworksRegistry; + try { + registry = await NetworksRegistry.fromLatestVersion(); + debug('loaded %O networks from latest registry', registry.networks.length); + } catch (e) { + debug('failed to load from latest: %O, trying from local file', e); + try { + registry = loadRegistryFromFile(); + } catch (e) { + debug('failed to load from local file: %O', e); + throw new Error(`Failed to load networks registry`); + } + } + return registry; +} + +export function loadRegistryFromFile() { + const registryPath = path.resolve( + path.dirname(fileURLToPath(import.meta.url)), + '../../config/TheGraphNetworksRegistry.json', + ); + + if (!fs.existsSync(registryPath)) { + debug(`Registry file not found at ${registryPath}`); + throw new Error(`Networks registry fallback file not found`); + } + + const fileContents = fs.readFileSync(registryPath, 'utf8'); + const registry = NetworksRegistry.fromJson(fileContents); + debug('loaded %O networks from local registry', registry.networks.length); + return registry; +} diff --git a/packages/cli/src/command-helpers/retry.ts b/packages/cli/src/command-helpers/retry.ts new file mode 100644 index 000000000..7c150ada0 --- /dev/null +++ b/packages/cli/src/command-helpers/retry.ts @@ -0,0 +1,25 @@ +import { prompt } from 'gluegun'; + +export async function retryWithPrompt(func: () => Promise): Promise { + for (;;) { + try { + return await func(); + } catch (_) { + try { + const { retry } = await prompt.ask({ + type: 'confirm', + name: 'retry', + message: 'Do you want to retry?', + initial: true, + }); + + if (!retry) { + break; + } + } catch (_) { + break; + } + } + } + return undefined; +} diff --git a/packages/cli/src/command-helpers/scaffold.ts b/packages/cli/src/command-helpers/scaffold.ts index 18947edac..54022861a 100644 --- a/packages/cli/src/command-helpers/scaffold.ts +++ b/packages/cli/src/command-helpers/scaffold.ts @@ -108,7 +108,7 @@ const writeScaffoldDirectory = async (scaffold: any, directory: string, spinner: const filename = path.join(directory, basename); // Write file or recurse into subdirectory - if (typeof content === 'string') { + if (typeof content === 'string' || Buffer.isBuffer(content)) { await fs.writeFile(filename, content, 'utf-8'); } else if (content == null) { return; // continue loop diff --git a/packages/cli/src/commands/add.ts b/packages/cli/src/commands/add.ts index 341242891..04ffbebf1 100644 --- a/packages/cli/src/commands/add.ts +++ b/packages/cli/src/commands/add.ts @@ -1,14 +1,11 @@ import { filesystem, prompt, system } from 'gluegun'; import immutable from 'immutable'; import { Args, Command, Errors, Flags } from '@oclif/core'; -import { - loadAbiFromBlockScout, - loadAbiFromEtherscan, - loadContractNameForAddress, - loadStartBlockForContract, -} from '../command-helpers/abi.js'; +import { ContractService } from '../command-helpers/contracts.js'; import * as DataSourcesExtractor from '../command-helpers/data-sources.js'; import { updateNetworksFile } from '../command-helpers/network.js'; +import { loadRegistry } from '../command-helpers/registry.js'; +import { retryWithPrompt } from '../command-helpers/retry.js'; import { generateDataSource, writeABI, @@ -79,6 +76,8 @@ export default class AddCommand extends Command { const isLocalHost = network === 'localhost'; // This flag prevent Etherscan lookups in case the network selected is `localhost` if (isLocalHost) this.warn('`localhost` network detected, prompting user for inputs'); + const registry = await loadRegistry(); + const contractService = new ContractService(registry); let startBlock = startBlockFlag; let contractName = contractNameFlag; @@ -95,13 +94,18 @@ export default class AddCommand extends Command { let ethabi = null; if (abi) { ethabi = EthereumABI.load(contractName, abi); - } else if (network === 'poa-core') { - ethabi = await loadAbiFromBlockScout(EthereumABI, network, address); } else { try { if (isLocalHost) throw Error; // Triggers user prompting without waiting for Etherscan lookup to fail - ethabi = await loadAbiFromEtherscan(EthereumABI, network, address); + ethabi = await retryWithPrompt(() => + withSpinner( + 'Fetching ABI from contract API...', + 'Failed to fetch ABI', + 'Warning fetching ABI', + () => contractService?.getABI(EthereumABI, network, address), + ), + ); } catch (error) { // we cannot ask user to do prompt in test environment if (process.env.NODE_ENV !== 'test') { @@ -136,7 +140,7 @@ export default class AddCommand extends Command { try { if (isLocalHost) throw Error; // Triggers user prompting without waiting for Etherscan lookup to fail - startBlock ||= Number(await loadStartBlockForContract(network, address)).toString(); + startBlock ||= Number(await contractService?.getStartBlock(network, address)).toString(); } catch (error) { // we cannot ask user to do prompt in test environment if (process.env.NODE_ENV !== 'test') { @@ -160,7 +164,7 @@ export default class AddCommand extends Command { try { if (isLocalHost) throw Error; // Triggers user prompting without waiting for Etherscan lookup to fail - contractName = await loadContractNameForAddress(network, address); + contractName = (await contractService?.getContractName(network, address)) ?? ''; } catch (error) { // not asking user to do prompt in test environment if (process.env.NODE_ENV !== 'test') { diff --git a/packages/cli/src/commands/deploy.ts b/packages/cli/src/commands/deploy.ts index 1dd750203..3e97a0cd9 100644 --- a/packages/cli/src/commands/deploy.ts +++ b/packages/cli/src/commands/deploy.ts @@ -13,7 +13,7 @@ import { assertGraphTsVersion, assertManifestApiVersion } from '../command-helpe import { GRAPH_CLI_SHARED_HEADERS } from '../constants.js'; import debugFactory from '../debug.js'; import Protocol from '../protocols/index.js'; -import { create } from '../utils.js'; +import { createIpfsClient } from '../utils.js'; const headersFlag = Flags.custom>({ summary: 'Add custom headers that will be used by the IPFS HTTP client.', @@ -223,7 +223,7 @@ export default class DeployCommand extends Command { // we are provided the IPFS hash, so we deploy directly if (ipfsHash) { // Connect to the IPFS node (if a node address was provided) - const ipfsClient = create({ + const ipfsClient = createIpfsClient({ url: appendApiVersionForGraph(ipfs.toString()), headers: { ...headers, diff --git a/packages/cli/src/commands/init.ts b/packages/cli/src/commands/init.ts index 8d6d21e70..d85403d79 100644 --- a/packages/cli/src/commands/init.ts +++ b/packages/cli/src/commands/init.ts @@ -1,18 +1,18 @@ import fs from 'node:fs'; import os from 'node:os'; import path from 'node:path'; -import { filesystem, prompt, system } from 'gluegun'; +import { filesystem, print, prompt, system } from 'gluegun'; import { Args, Command, Flags } from '@oclif/core'; -import { - loadAbiFromBlockScout, - loadAbiFromEtherscan, - loadContractNameForAddress, - loadStartBlockForContract, -} from '../command-helpers/abi.js'; +import { Network } from '@pinax/graph-networks-registry'; import { appendApiVersionForGraph } from '../command-helpers/compiler.js'; +import { ContractService } from '../command-helpers/contracts.js'; +import { resolveFile } from '../command-helpers/file-resolver.js'; import { DEFAULT_IPFS_URL } from '../command-helpers/ipfs.js'; import { initNetworksConfig } from '../command-helpers/network.js'; -import { chooseNodeUrl, SUBGRAPH_STUDIO_URL } from '../command-helpers/node.js'; +import { chooseNodeUrl } from '../command-helpers/node.js'; +import { PromptManager } from '../command-helpers/prompt-manager.js'; +import { loadRegistry } from '../command-helpers/registry.js'; +import { retryWithPrompt } from '../command-helpers/retry.js'; import { generateScaffold, writeScaffold } from '../command-helpers/scaffold.js'; import { sortWithPriority } from '../command-helpers/sort.js'; import { withSpinner } from '../command-helpers/spinner.js'; @@ -23,7 +23,7 @@ import EthereumABI from '../protocols/ethereum/abi.js'; import Protocol, { ProtocolName } from '../protocols/index.js'; import { abiEvents } from '../scaffold/schema.js'; import Schema from '../schema.js'; -import { create, loadSubgraphSchemaFromIPFS } from '../utils.js'; +import { createIpfsClient, loadSubgraphSchemaFromIPFS } from '../utils.js'; import { validateContract } from '../validation/index.js'; import AddCommand from './add.js'; @@ -31,49 +31,6 @@ const protocolChoices = Array.from(Protocol.availableProtocols().keys()); const initDebugger = debugFactory('graph-cli:commands:init'); -/** - * a dynamic list of available networks supported by the studio - */ -const AVAILABLE_NETWORKS = async () => { - const logger = initDebugger.extend('AVAILABLE_NETWORKS'); - try { - logger('fetching chain_list from studio'); - const res = await fetch(SUBGRAPH_STUDIO_URL, { - method: 'POST', - headers: { - ...GRAPH_CLI_SHARED_HEADERS, - 'content-type': 'application/json', - }, - body: JSON.stringify({ - jsonrpc: '2.0', - id: 1, - method: 'chain_list', - params: [], - }), - }); - - if (!res.ok) { - logger( - "Something went wrong while fetching 'chain_list' from studio HTTP code: %o", - res.status, - ); - return null; - } - - const result = await res.json(); - if (result?.result) { - logger('chain_list result: %o', result.result); - return result.result as { studio: Array; hostedService: Array }; - } - - logger("Unable to get result for 'chain_list' from studio: %O", result); - return null; - } catch (e) { - logger('error: %O', e); - return null; - } -}; - const DEFAULT_EXAMPLE_SUBGRAPH = 'ethereum-gravatar'; export default class InitCommand extends Command { @@ -149,7 +106,7 @@ export default class InitCommand extends Command { network: Flags.string({ summary: 'Network the contract is deployed to.', description: - 'Check https://thegraph.com/docs/en/developing/supported-networks/ for supported networks', + 'Refer to https://github.com/graphprotocol/networks-registry/ for supported networks', dependsOn: ['from-contract'], }), @@ -185,7 +142,7 @@ export default class InitCommand extends Command { initDebugger('Flags: %O', flags); - let { node } = chooseNodeUrl({ + const { node } = chooseNodeUrl({ node: nodeFlag, }); @@ -242,6 +199,9 @@ export default class InitCommand extends Command { // If all parameters are provided from the command-line, // go straight to creating the subgraph from an existing contract if (fromContract && protocol && subgraphName && directory && network && node) { + const registry = await loadRegistry(); + const contractService = new ContractService(registry); + if (!protocolChoices.includes(protocol as ProtocolName)) { this.error( `Protocol '${protocol}' is not supported, choose from these options: ${protocolChoices.join( @@ -263,11 +223,7 @@ export default class InitCommand extends Command { } } else { try { - if (network === 'poa-core') { - abi = await loadAbiFromBlockScout(ABI, network, fromContract); - } else { - abi = await loadAbiFromEtherscan(ABI, network, fromContract); - } + abi = await contractService.getABI(ABI, network, fromContract); } catch (e) { this.exit(1); } @@ -320,14 +276,12 @@ export default class InitCommand extends Command { } else { // Otherwise, take the user through the interactive form const answers = await processInitForm.bind(this)({ - protocol: protocol as ProtocolName | undefined, abi, abiPath, directory, source: fromContract, indexEvents, fromExample, - network, subgraphName, contractName, startBlock, @@ -338,9 +292,6 @@ export default class InitCommand extends Command { this.exit(1); } - ({ node } = chooseNodeUrl({ - node, - })); await initSubgraphFromContract.bind(this)( { protocolInstance: answers.protocolInstance, @@ -360,6 +311,9 @@ export default class InitCommand extends Command { }, { commands, addContract: true }, ); + if (answers.cleanup) { + answers.cleanup(); + } } // Exit with success this.exit(0); @@ -387,7 +341,7 @@ async function processFromExampleInitForm( { type: 'input', name: 'subgraphName', - message: () => 'Subgraph slug', + message: 'Subgraph slug', initial: initSubgraphName, }, ]); @@ -410,51 +364,27 @@ async function processFromExampleInitForm( } } -async function retryWithPrompt(func: () => Promise): Promise { - for (;;) { - try { - return await func(); - } catch (_) { - const { retry } = await prompt.ask({ - type: 'confirm', - name: 'retry', - message: 'Do you want to retry?', - initial: true, - }); - - if (!retry) { - break; - } - } - } - return undefined; -} - async function processInitForm( this: InitCommand, { - protocol: initProtocol, abi: initAbi, abiPath: initAbiPath, directory: initDirectory, source: initContract, indexEvents: initIndexEvents, fromExample: initFromExample, - network: initNetwork, subgraphName: initSubgraphName, contractName: initContractName, startBlock: initStartBlock, spkgPath: initSpkgPath, ipfsUrl, }: { - protocol?: ProtocolName; abi: EthereumABI; abiPath?: string; directory?: string; source?: string; indexEvents: boolean; fromExample?: string | boolean; - network?: string; subgraphName?: string; contractName?: string; startBlock?: string; @@ -475,282 +405,406 @@ async function processInitForm( fromExample: boolean; spkgPath: string | undefined; ipfs: string; + cleanup: (() => void) | undefined; } | undefined > { - let abiFromEtherscan: EthereumABI | undefined = undefined; - let startBlockFromEtherscan: string | undefined = undefined; - let contractNameFromEtherscan: string | undefined = undefined; - try { - const { protocol } = await prompt.ask<{ protocol: ProtocolName }>({ - type: 'select', - name: 'protocol', - message: 'Protocol', - choices: protocolChoices, - skip: protocolChoices.includes(String(initProtocol) as ProtocolName), - result: value => { - if (initProtocol) { - initDebugger.extend('processInitForm')('initProtocol: %O', initProtocol); - return initProtocol; - } - initDebugger.extend('processInitForm')('protocol: %O', value); - return value; - }, + const registry = await loadRegistry(); + const contractService = new ContractService(registry); + + const networks = sortWithPriority( + registry.networks, + n => n.issuanceRewards, + (a, b) => registry.networks.indexOf(a) - registry.networks.indexOf(b), + ); + + const networkToChoice = (n: Network) => ({ + name: n.id, + value: `${n.id}:${n.shortName}:${n.fullName}`.toLowerCase(), + hint: `· ${n.id}`, + message: n.fullName, }); - const protocolInstance = new Protocol(protocol); - const isComposedSubgraph = protocolInstance.isComposedSubgraph(); - const isSubstreams = protocol === 'substreams'; - initDebugger.extend('processInitForm')('isSubstreams: %O', isSubstreams); + const formatChoices = (choices: ReturnType[]) => { + const shown = choices.slice(0, 20); + const remaining = networks.length - shown.length; + if (remaining == 0) return shown; + if (shown.length === choices.length) { + shown.push({ + name: '--other--', + value: '', + hint: '· other network not on the list', + message: `Other`, + }); + } + return [ + ...shown, + { + name: ``, + disabled: true, + hint: '', + message: `< ${remaining} more - type to filter >`, + }, + ]; + }; - const { subgraphName } = await prompt.ask<{ subgraphName: string }>([ - { - type: 'input', - name: 'subgraphName', - message: 'Subgraph slug', - initial: initSubgraphName, + let network = networks[0]; + let protocolInstance: Protocol = new Protocol('ethereum'); + let isComposedSubgraph = false; + let isSubstreams = false; + let subgraphName = initSubgraphName ?? ''; + let directory = initDirectory; + let ipfsNode: string = ''; + let source = initContract; + let contractName = initContractName; + let abiFromFile: EthereumABI | undefined = undefined; + let abiFromApi: EthereumABI | undefined = undefined; + let startBlock: string | undefined = undefined; + let spkgPath: string | undefined; + let spkgCleanup: (() => void) | undefined; + let indexEvents = initIndexEvents; + + const promptManager = new PromptManager(); + + promptManager.addStep({ + type: 'autocomplete', + name: 'networkId', + required: true, + message: 'Network', + choices: formatChoices(networks.map(networkToChoice)), + format: value => { + const network = networks.find(n => n.id === value); + return network + ? `${network.fullName}${print.colors.muted(` · ${network.id} · ${network.explorerUrls?.[0] ?? ''}`)}` + : value; }, - ]); - - const { directory } = await prompt.ask<{ directory: string }>([ - { - type: 'input', - name: 'directory', - message: 'Directory to create the subgraph in', - initial: () => initDirectory || getSubgraphBasename(subgraphName), + suggest: (input, _) => + formatChoices( + networks + .map(networkToChoice) + .filter(({ value }) => (value ?? '').includes(input.toLowerCase())), + ), + validate: value => { + if (value === '--other--') { + return 'To add a network refer to https://github.com/graphprotocol/networks-registry'; + } + return networks.find(n => n.id === value) ? true : 'Pick a network'; }, - ]); - - let choices = (await AVAILABLE_NETWORKS())?.['studio']; - - if (!choices) { - this.error( - 'Unable to fetch available networks from API. Please report this issue. As a workaround you can pass `--network` flag from the available networks: https://thegraph.com/docs/en/developing/supported-networks', - { exit: 1 }, - ); - } - - choices = sortWithPriority(choices, ['mainnet']); + result: value => { + initDebugger.extend('processInitForm')('networkId: %O', value); + network = networks.find(n => n.id === value)!; + promptManager.setOptions('protocol', { + choices: [ + { + message: 'Smart contract', + name: network.graphNode?.protocol ?? '', + value: 'contract', + }, + { message: 'Substreams', name: 'substreams', value: 'substreams' }, + // { message: 'Subgraph', name: 'subgraph', value: 'subgraph' }, + ].filter(({ name }) => name), + }); - const { network } = await prompt.ask<{ network: string }>([ - { - type: 'select', - name: 'network', - message: () => `${protocolInstance.displayName()} network`, - choices, - skip: initNetwork !== undefined, - result: value => { - if (initNetwork) { - initDebugger.extend('processInitForm')('initNetwork: %O', initNetwork); - return initNetwork; - } - initDebugger.extend('processInitForm')('network: %O', value); - return value; - }, + return value; }, - ]); + }); - const sourceMessage = isComposedSubgraph - ? 'Source subgraph identifier' - : `Contract ${protocolInstance.getContract()?.identifierName()}`; + promptManager.addStep({ + type: 'select', + name: 'protocol', + message: 'Source', + choices: [], + validate: name => { + if (name === 'arweave') { + return 'Arweave are only supported via substreams'; + } + if (name === 'cosmos') { + return 'Cosmos chains are only supported via substreams'; + } + return true; + }, + format: protocol => { + switch (protocol) { + case '': + return ''; + case 'substreams': + return 'Substreams'; + case 'subgraph': + return 'Subgraph'; + default: + return `Smart Contract${print.colors.muted(` · ${protocol}`)}`; + } + }, + result: protocol => { + protocolInstance = new Protocol(protocol); + isComposedSubgraph = protocolInstance.isComposedSubgraph(); + isSubstreams = protocolInstance.isSubstreams(); + initDebugger.extend('processInitForm')('protocol: %O', protocol); + return protocol; + }, + }); - const { source } = await prompt.ask<{ source: string }>([ - { - type: 'input', - name: 'source', - message: sourceMessage, - skip: () => - initFromExample !== undefined || !protocolInstance.hasContract() || isSubstreams, - initial: initContract, - validate: async (value: string) => { - if (isComposedSubgraph) { - return true; - } + promptManager.addStep({ + type: 'input', + name: 'subgraphName', + message: 'Subgraph slug', + initial: initSubgraphName, + validate: value => value.length > 0 || 'Subgraph slug must not be empty', + result: value => { + initDebugger.extend('processInitForm')('subgraphName: %O', value); + subgraphName = value; + return value; + }, + }); - if (initFromExample !== undefined || !protocolInstance.hasContract()) { - return true; - } + promptManager.addStep({ + type: 'input', + name: 'directory', + message: 'Directory to create the subgraph in', + initial: () => initDirectory || getSubgraphBasename(subgraphName), + validate: value => value.length > 0 || 'Directory must not be empty', + result: value => { + directory = value; + initDebugger.extend('processInitForm')('directory: %O', value); + return value; + }, + }); - const protocolContract = protocolInstance.getContract(); - if (!protocolContract) { - return 'Contract not found.'; - } - // Validate whether the contract is valid - const { valid, error } = validateContract(value, protocolContract); + promptManager.addStep({ + type: 'input', + name: 'source', + message: () => + isComposedSubgraph + ? 'Source subgraph deployment ID' + : `Contract ${protocolInstance.getContract()?.identifierName()}`, + skip: () => + initFromExample !== undefined || + isSubstreams || + (!protocolInstance.hasContract() && !isComposedSubgraph), + initial: initContract, + validate: async (value: string) => { + if (isComposedSubgraph) { + return value.startsWith('Qm') ? true : 'Subgraph deployment ID must start with Qm'; + } + if (initFromExample !== undefined || !protocolInstance.hasContract()) { + return true; + } - return valid ? true : error; - }, - result: async (value: string) => { - if (initFromExample !== undefined || isSubstreams || initAbiPath || isComposedSubgraph) { - initDebugger("value: '%s'", value); - return value; - } + const { valid, error } = validateContract(value, protocolInstance.getContract()!); + return valid ? true : error; + }, + result: async (address: string) => { + initDebugger.extend('processInitForm')("source: '%s'", address); + if ( + initFromExample !== undefined || + initAbiPath || + protocolInstance.name !== 'ethereum' // we can only validate against Etherscan API + ) { + source = address; + return address; + } - const ABI = protocolInstance.getABI(); - - // Try loading the ABI from Etherscan, if none was provided - if (protocolInstance.hasABIs() && !initAbi) { - if (network === 'poa-core') { - abiFromEtherscan = await retryWithPrompt(() => - loadAbiFromBlockScout(ABI, network, value), - ); - } else { - abiFromEtherscan = await retryWithPrompt(() => - loadAbiFromEtherscan(ABI, network, value), - ); - } - } - // If startBlock is not set, try to load it. - if (!initStartBlock) { - // Load startBlock for this contract - const startBlock = await retryWithPrompt(() => - loadStartBlockForContract(network, value), - ); - if (startBlock) { - startBlockFromEtherscan = Number(startBlock).toString(); - } - } + // If ABI is not provided, try to fetch it from Etherscan API + if (protocolInstance.hasABIs() && !initAbi) { + abiFromApi = await retryWithPrompt(() => + withSpinner( + 'Fetching ABI from contract API...', + 'Failed to fetch ABI', + 'Warning fetching ABI', + () => contractService.getABI(protocolInstance.getABI(), network.id, address), + ), + ); + initDebugger.extend('processInitForm')("abiFromEtherscan len: '%s'", abiFromApi?.name); + } + // If startBlock is not provided, try to fetch it from Etherscan API + if (!initStartBlock) { + startBlock = await retryWithPrompt(() => + withSpinner( + 'Fetching start block from contract API...', + 'Failed to fetch start block', + 'Warning fetching start block', + () => contractService.getStartBlock(network.id, address), + ), + ); + initDebugger.extend('processInitForm')("startBlockFromEtherscan: '%s'", startBlock); + } - // If contract name is not set, try to load it. - if (!initContractName) { - // Load contract name for this contract - const contractName = await retryWithPrompt(() => - loadContractNameForAddress(network, value), - ); - if (contractName) { - contractNameFromEtherscan = contractName; - } - } + // If contract name is not provided, try to fetch it from Etherscan API + if (!initContractName) { + contractName = await retryWithPrompt(() => + withSpinner( + 'Fetching contract name from contract API...', + 'Failed to fetch contract name', + 'Warning fetching contract name', + () => contractService.getContractName(network.id, address), + ), + ); + initDebugger.extend('processInitForm')("contractNameFromEtherscan: '%s'", contractName); + } - return value; - }, + source = address; + return address; }, - ]); + }); - const { ipfs } = await prompt.ask<{ ipfs: string }>([ - { - type: 'input', - name: 'ipfs', - message: `IPFS node to use for fetching subgraph manifest`, - initial: ipfsUrl, - skip: () => !isComposedSubgraph, + promptManager.addStep({ + type: 'input', + name: 'ipfs', + message: `IPFS node to use for fetching subgraph manifest`, + initial: ipfsUrl, + skip: () => !isComposedSubgraph, + result: value => { + ipfsNode = value; + initDebugger.extend('processInitForm')('ipfs: %O', value); + return value; }, - ]); + }); - const { spkg } = await prompt.ask<{ spkg: string }>([ - { - type: 'input', - name: 'spkg', - message: 'SPKG file (path)', - initial: () => initSpkgPath, - skip: () => !isSubstreams || !!initSpkgPath, - validate: value => - filesystem.exists(initSpkgPath || value) ? true : 'SPKG file does not exist', + promptManager.addStep({ + type: 'input', + name: 'spkg', + message: 'Substreams SPKG (local path, IPFS hash, or URL)', + initial: () => initSpkgPath, + skip: () => !isSubstreams || !!initSpkgPath, + validate: async value => { + if (!isSubstreams || !!initSpkgPath) return true; + return await withSpinner( + `Resolving Substreams SPKG file`, + `Failed to resolve SPKG file`, + `Warnings while resolving SPKG file`, + async () => { + try { + const { path, cleanup } = await resolveFile(value, 'substreams.spkg', 10_000); + spkgPath = path; + spkgCleanup = cleanup; + initDebugger.extend('processInitForm')('spkgPath: %O', path); + return true; + } catch (e) { + return e.message; + } + }, + ); }, - ]); + }); - const { abi: abiFromFile } = await prompt.ask<{ abi: EthereumABI }>([ - { - type: 'input', - name: 'abi', - message: 'ABI file (path)', - initial: initAbiPath, - skip: () => + promptManager.addStep({ + type: 'input', + name: 'abiFromFile', + message: 'ABI file (path)', + initial: initAbiPath, + skip: () => + !protocolInstance.hasABIs() || + initFromExample !== undefined || + abiFromApi !== undefined || + isSubstreams || + !!initAbiPath || + isComposedSubgraph, + validate: async (value: string) => { + if ( + initFromExample || + abiFromApi || !protocolInstance.hasABIs() || - initFromExample !== undefined || - abiFromEtherscan !== undefined || isSubstreams || - !!initAbiPath || - isComposedSubgraph, - validate: async (value: string) => { - if ( - initFromExample || - abiFromEtherscan || - !protocolInstance.hasABIs() || - isComposedSubgraph - ) { - return true; - } + isComposedSubgraph + ) { + return true; + } - const ABI = protocolInstance.getABI(); - if (initAbiPath) value = initAbiPath; + const ABI = protocolInstance.getABI(); + if (initAbiPath) value = initAbiPath; - try { - loadAbiFromFile(ABI, value); - return true; - } catch (e) { - return e.message; - } - }, - result: async (value: string) => { - if ( - initFromExample || - abiFromEtherscan || - !protocolInstance.hasABIs() || - isComposedSubgraph - ) { - return null; - } + try { + loadAbiFromFile(ABI, value); + return true; + } catch (e) { + return e.message; + } + }, + result: async (value: string) => { + initDebugger.extend('processInitForm')('abiFromFile: %O', value); + if (initFromExample || abiFromApi || !protocolInstance.hasABIs() || isComposedSubgraph) { + return null; + } - const ABI = protocolInstance.getABI(); - if (initAbiPath) value = initAbiPath; + const ABI = protocolInstance.getABI(); + if (initAbiPath) value = initAbiPath; - try { - return loadAbiFromFile(ABI, value); - } catch (e) { - return e.message; - } - }, + try { + abiFromFile = loadAbiFromFile(ABI, value); + return value; + } catch (e) { + return e.message; + } }, - ]); + }); - const { startBlock } = await prompt.ask<{ startBlock: string }>([ - { - type: 'input', - name: 'startBlock', - message: 'Start Block', - initial: initStartBlock || startBlockFromEtherscan || '0', - skip: () => initFromExample !== undefined || isSubstreams, - validate: value => parseInt(value) >= 0, + promptManager.addStep({ + type: 'input', + name: 'startBlock', + message: 'Start block', + initial: () => initStartBlock || startBlock || '0', + skip: () => initFromExample !== undefined || isSubstreams, + validate: value => + initFromExample !== undefined || + isSubstreams || + parseInt(value) >= 0 || + 'Invalid start block', + result: value => { + startBlock = value; + initDebugger.extend('processInitForm')('startBlock: %O', value); + return value; }, - ]); + }); - const { contractName } = await prompt.ask<{ contractName: string }>([ - { - type: 'input', - name: 'contractName', - message: 'Contract Name', - initial: initContractName || contractNameFromEtherscan || 'Contract', - skip: () => - initFromExample !== undefined || !protocolInstance.hasContract() || isSubstreams, - validate: value => value && value.length > 0, + promptManager.addStep({ + type: 'input', + name: 'contractName', + message: 'Contract name', + initial: () => initContractName || contractName || 'Contract', + skip: () => initFromExample !== undefined || !protocolInstance.hasContract() || isSubstreams, + validate: value => + initFromExample !== undefined || + !protocolInstance.hasContract() || + isSubstreams || + value.length > 0 || + 'Contract name must not be empty', + result: value => { + contractName = value; + initDebugger.extend('processInitForm')('contractName: %O', value); + return value; }, - ]); + }); - const { indexEvents } = await prompt.ask<{ indexEvents: boolean }>([ - { - type: 'confirm', - name: 'indexEvents', - message: 'Index contract events as entities', - initial: true, - skip: () => !!initIndexEvents || isSubstreams || isComposedSubgraph, + promptManager.addStep({ + type: 'confirm', + name: 'indexEvents', + message: 'Index contract events as entities', + initial: true, + skip: () => !!initIndexEvents || isSubstreams || isComposedSubgraph, + result: value => { + indexEvents = String(value) === 'true'; + initDebugger.extend('processInitForm')('indexEvents: %O', indexEvents); + return value; }, - ]); + }); + + await promptManager.executeInteractive(); return { - abi: abiFromEtherscan || abiFromFile, + abi: (abiFromApi || abiFromFile)!, protocolInstance, subgraphName, - directory, - startBlock, + directory: directory!, + startBlock: startBlock!, fromExample: !!initFromExample, - network, - contractName, - source, + network: network.id, + contractName: contractName!, + source: source!, indexEvents, - spkgPath: spkg, - ipfs, + ipfs: ipfsNode, + spkgPath, + cleanup: spkgCleanup, }; } catch (e) { this.error(e, { exit: 1 }); @@ -1068,9 +1122,7 @@ async function initSubgraphFromContract( addContract: boolean; }, ) { - const isSubstreams = protocolInstance.name === 'substreams'; const isComposedSubgraph = protocolInstance.isComposedSubgraph(); - if ( filesystem.exists(directory) && !(await prompt.confirm( @@ -1085,7 +1137,7 @@ async function initSubgraphFromContract( if (isComposedSubgraph) { try { - const ipfsClient = create({ + const ipfsClient = createIpfsClient({ url: appendApiVersionForGraph(ipfsUrl), headers: { ...GRAPH_CLI_SHARED_HEADERS, @@ -1166,7 +1218,7 @@ async function initSubgraphFromContract( } // Substreams we have nothing to install or generate - if (!isSubstreams) { + if (!protocolInstance.isSubstreams()) { // Run code-generation const codegen = await runCodegen(directory, commands.codegen); if (codegen !== true) { @@ -1198,52 +1250,40 @@ async function addAnotherContract( { type: 'confirm', name: 'addAnother', - message: () => 'Add another contract? (y/n)', + message: () => 'Add another contract?', initial: false, required: true, }, ]); - if (addAnother) { - const ProtocolContract = protocolInstance.getContract()!; - - let validContract = ''; - for (;;) { - const { contract } = await prompt.ask<{ contract: string }>([ - { - type: 'input', - name: 'contract', - message: () => `\nContract ${ProtocolContract.identifierName()}`, - initial: ProtocolContract.identifierName(), - required: true, - }, - ]); - const { valid, error } = validateContract(contract, ProtocolContract); - if (valid) { - validContract = contract; - break; - } - this.log(`✖ ${error}`); - } - - // Get the cwd before process.chdir in order to switch back in the end of command execution - const cwd = process.cwd(); + if (!addAnother) return false; - try { - if (fs.existsSync(directory)) { - process.chdir(directory); - } - - const commandLine = [validContract]; + const ProtocolContract = protocolInstance.getContract()!; + const { contract } = await prompt.ask<{ contract: string }>([ + { + type: 'input', + name: 'contract', + initial: ProtocolContract.identifierName(), + required: true, + message: () => `\nContract ${ProtocolContract.identifierName()}`, + validate: value => { + const { valid, error } = validateContract(value, ProtocolContract); + return valid ? true : error; + }, + }, + ]); - await AddCommand.run(commandLine); - } catch (e) { - this.error(e); - } finally { - // TODO: safer way of doing this? - process.chdir(cwd); + const cwd = process.cwd(); + try { + if (fs.existsSync(directory)) { + process.chdir(directory); } + + await AddCommand.run([contract]); + } catch (e) { + this.error(e); } + process.chdir(cwd); - return addAnother; + return true; } diff --git a/packages/cli/src/protocols/index.ts b/packages/cli/src/protocols/index.ts index eaba8ea04..54cfbd6d9 100644 --- a/packages/cli/src/protocols/index.ts +++ b/packages/cli/src/protocols/index.ts @@ -92,76 +92,10 @@ export default class Protocol { near: ['near'], cosmos: ['cosmos'], substreams: ['substreams'], - // subgraph: ['subgraph'], + subgraph: ['subgraph'], }) as immutable.Collection>; } - static availableNetworks() { - return immutable.fromJS({ - arweave: ['arweave-mainnet'], - ethereum: [ - 'mainnet', - 'rinkeby', - 'goerli', - 'poa-core', - 'poa-sokol', - 'gnosis', - 'matic', - 'mumbai', - 'fantom', - 'fantom-testnet', - 'bsc', - 'chapel', - 'clover', - 'avalanche', - 'fuji', - 'celo', - 'celo-alfajores', - 'fuse', - 'moonbeam', - 'moonriver', - 'mbase', - 'arbitrum-one', - 'arbitrum-goerli', - 'arbitrum-sepolia', - 'optimism', - 'optimism-goerli', - 'aurora', - 'aurora-testnet', - 'base-testnet', - 'base', - 'zksync-era', - 'zksync-era-testnet', - 'sepolia', - 'polygon-zkevm-testnet', - 'polygon-zkevm', - 'scroll-sepolia', - 'scroll', - ], - near: ['near-mainnet', 'near-testnet'], - cosmos: [ - 'cosmoshub-4', - 'theta-testnet-001', // CosmosHub testnet - 'osmosis-1', - 'osmo-test-4', // Osmosis testnet - 'juno-1', - 'uni-3', // Juno testnet - ], - substreams: ['mainnet'], - subgraph: ['mainnet'], - }) as immutable.Map< - | 'arweave' - | 'ethereum' - | 'near' - | 'cosmos' - | 'substreams' - // this is temporary, until we have a better way to handle substreams triggers - | 'substreams/triggers' - | 'subgraph', - immutable.List - >; - } - static normalizeName(name: ProtocolName) { return Protocol.availableProtocols().findKey(possibleNames => { return possibleNames.includes(name); @@ -186,6 +120,10 @@ export default class Protocol { return this.config.contract != null; } + isSubstreams() { + return this.name === 'substreams'; + } + hasEvents() { // A problem with hasEvents usage in the codebase is that it's almost every where // where used, the ABI data is actually use after the conditional, so it seems @@ -345,5 +283,3 @@ const substreamsProtocol: ProtocolConfig = { manifestScaffold: SubstreamsManifestScaffold, mappingScaffold: undefined, }; - -protocolDebug('Available networks %M', Protocol.availableNetworks()); diff --git a/packages/cli/src/protocols/substreams/scaffold/manifest.ts b/packages/cli/src/protocols/substreams/scaffold/manifest.ts index adc90f306..bcbbd2e29 100644 --- a/packages/cli/src/protocols/substreams/scaffold/manifest.ts +++ b/packages/cli/src/protocols/substreams/scaffold/manifest.ts @@ -1,7 +1,7 @@ -export const source = ({ spkgPath }: { spkgPath?: string }) => ` +export const source = ({ spkgPath, spkgModule }: { spkgPath?: string; spkgModule?: string }) => ` package: - moduleName: graph_out - file: ${spkgPath || 'substreams-eth-block-meta-v0.1.0.spkg'}`; + moduleName: ${spkgModule || 'graph_out'} + file: ${spkgPath || 'substreams.spkg'}`; export const mapping = () => ` apiVersion: 0.0.5 diff --git a/packages/cli/src/scaffold/index.ts b/packages/cli/src/scaffold/index.ts index fb5d7ad6e..1d570b514 100644 --- a/packages/cli/src/scaffold/index.ts +++ b/packages/cli/src/scaffold/index.ts @@ -1,3 +1,4 @@ +import fs from 'fs-extra'; import { strings } from 'gluegun'; import prettier from 'prettier'; import { getSubgraphBasename } from '../command-helpers/subgraph.js'; @@ -129,7 +130,7 @@ dataSources: - kind: ${this.protocol.name} name: ${this.contractName} network: ${this.network} - source: ${protocolManifest.source(this)} + source: ${protocolManifest.source({ ...this, spkgPath: './substreams.spkg', spkgModule: 'graph_out' })} mapping: ${protocolManifest.mapping(this)} `, { parser: 'yaml' }, @@ -153,6 +154,13 @@ dataSources: ); } + async generateSpkgContent() { + if (!this.spkgPath) { + return undefined; + } + return fs.readFile(this.spkgPath); + } + async generateTsConfig() { return await prettier.format( JSON.stringify({ @@ -219,6 +227,7 @@ dataSources: 'schema.graphql': await this.generateSchema(), 'package.json': await this.generatePackageJsonForSubstreams(), '.gitignore': await this.generateGitIgnoreFile(), + 'substreams.spkg': await this.generateSpkgContent(), }; } return { diff --git a/packages/cli/src/type-generator.ts b/packages/cli/src/type-generator.ts index c11a5535b..ece607624 100644 --- a/packages/cli/src/type-generator.ts +++ b/packages/cli/src/type-generator.ts @@ -17,7 +17,7 @@ import { applyMigrations } from './migrations.js'; import Protocol from './protocols/index.js'; import Schema from './schema.js'; import Subgraph from './subgraph.js'; -import { create, loadSubgraphSchemaFromIPFS } from './utils.js'; +import { createIpfsClient, loadSubgraphSchemaFromIPFS } from './utils.js'; import Watcher from './watcher.js'; const typeGenDebug = debug('graph-cli:type-generator'); @@ -103,7 +103,7 @@ export default class TypeGenerator { await this.generateTypesForSchema({ schema }); if (this.options.subgraphSources.length > 0) { - const ipfsClient = create({ + const ipfsClient = createIpfsClient({ url: appendApiVersionForGraph(this.options.ipfsUrl.toString()), headers: { ...GRAPH_CLI_SHARED_HEADERS, diff --git a/packages/cli/src/utils.ts b/packages/cli/src/utils.ts index 8192b61e1..5b8223d20 100644 --- a/packages/cli/src/utils.ts +++ b/packages/cli/src/utils.ts @@ -3,7 +3,7 @@ import debug from './debug.js'; const utilsDebug = debug('graph-cli:utils'); -export const create = (await import('kubo-rpc-client')).create; +export const createIpfsClient = (await import('kubo-rpc-client')).create; export async function loadSubgraphSchemaFromIPFS(ipfsClient: any, manifest: string) { try { diff --git a/packages/cli/tests/cli/__snapshots__/init.test.ts.snap b/packages/cli/tests/cli/__snapshots__/init.test.ts.snap index f0908683a..3791039df 100644 --- a/packages/cli/tests/cli/__snapshots__/init.test.ts.snap +++ b/packages/cli/tests/cli/__snapshots__/init.test.ts.snap @@ -3,8 +3,6 @@ exports[`Init > Ethereum > From contract 1`] = ` " › Warning: In next major version, this flag will be removed. By default we › will stop initializing a Git repository. -- Fetching ABI from Etherscan -✔ Fetching ABI from Etherscan - Create subgraph scaffold Generate subgraph - Create subgraph scaffold diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9db77d92c..4dded82e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -160,7 +160,7 @@ importers: version: 0.35.1 '@nomicfoundation/hardhat-toolbox': specifier: ^5.0.0 - version: 5.0.0(a6ky6izuismqqdbfgorzmkgys4) + version: 5.0.0(qealhu2rq4ejlqx5acmdeynyxu) apollo-fetch: specifier: ^0.7.0 version: 0.7.0 @@ -178,7 +178,7 @@ importers: version: 0.35.1 '@nomicfoundation/hardhat-toolbox': specifier: ^5.0.0 - version: 5.0.0(gps7ij3pmuxrz5tos4um7yj7ei) + version: 5.0.0(4bhliqvuzx2ati2zhlpmdia4ja) hardhat: specifier: ^2.22.17 version: 2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10) @@ -236,13 +236,16 @@ importers: version: 4.0.34 '@oclif/plugin-autocomplete': specifier: ^3.2.11 - version: 3.2.11 + version: 3.2.13 '@oclif/plugin-not-found': specifier: ^3.2.29 - version: 3.2.29(@types/node@22.10.1) + version: 3.2.30(@types/node@22.10.1) '@oclif/plugin-warn-if-update-available': specifier: ^3.1.24 - version: 3.1.24 + version: 3.1.26 + '@pinax/graph-networks-registry': + specifier: ^0.6.5 + version: 0.6.5 '@whatwg-node/fetch': specifier: ^0.10.1 version: 0.10.1 @@ -287,7 +290,7 @@ importers: version: 4.1.0 kubo-rpc-client: specifier: ^5.0.2 - version: 5.0.2(undici@7.0.0) + version: 5.0.2(undici@5.28.4) open: specifier: 10.1.0 version: 10.1.0 @@ -342,7 +345,7 @@ importers: version: 5.7.2 vitest: specifier: ^2.1.8 - version: 2.1.8(@types/node@22.10.1)(terser@5.36.0) + version: 2.1.8(@types/node@22.10.1) packages/ts: dependencies: @@ -357,31 +360,31 @@ importers: version: 3.2.0(graphql@16.9.0) '@hookform/resolvers': specifier: ^3.9.1 - version: 3.9.1(react-hook-form@7.53.2(react@18.3.1)) + version: 3.9.1(react-hook-form@7.54.0(react@18.3.1)) '@monaco-editor/react': specifier: ^4.6.0 - version: 4.6.0(monaco-editor@0.52.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 4.6.0(monaco-editor@0.52.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-icons': specifier: ^1.3.2 version: 1.3.2(react@18.3.1) '@radix-ui/react-label': specifier: ^2.1.0 - version: 2.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.1.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-select': specifier: ^2.1.2 - version: 2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.1.2(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': specifier: ^1.1.0 - version: 1.1.0(@types/react@18.3.12)(react@18.3.1) + version: 1.1.0(@types/react@18.3.14)(react@18.3.1) '@radix-ui/react-toast': specifier: ^1.2.2 - version: 1.2.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 1.2.2(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query': specifier: ^5.62.2 - version: 5.62.2(react@18.3.1) + version: 5.62.3(react@18.3.1) '@tanstack/react-router': specifier: ^1.85.4 - version: 1.85.4(@tanstack/router-generator@1.85.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 1.87.1(@tanstack/router-generator@1.86.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) base-x: specifier: ^5.0.0 version: 5.0.0 @@ -393,7 +396,7 @@ importers: version: 2.1.1 connectkit: specifier: ^1.8.2 - version: 1.8.2(@babel/core@7.26.0)(@tanstack/react-query@5.62.2(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(wagmi@2.13.3(@tanstack/query-core@5.62.2)(@tanstack/react-query@5.62.2(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(immer@10.1.1)(react@18.3.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)) + version: 1.8.2(@babel/core@7.26.0)(@tanstack/react-query@5.62.3(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(wagmi@2.13.5(@tanstack/query-core@5.62.3)(@tanstack/react-query@5.62.3(react@18.3.1))(@types/react@18.3.14)(bufferutil@4.0.8)(encoding@0.1.13)(immer@10.0.2)(react@18.3.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)) file-type: specifier: ^19.6.0 version: 19.6.0 @@ -405,7 +408,7 @@ importers: version: 16.9.0 kubo-rpc-client: specifier: ^5.0.2 - version: 5.0.2(undici@7.0.0) + version: 5.0.2(undici@5.28.4) react: specifier: ^18.3.1 version: 18.3.1 @@ -417,7 +420,7 @@ importers: version: 14.3.5(react@18.3.1) react-hook-form: specifier: ^7.53.2 - version: 7.53.2(react@18.3.1) + version: 7.54.0(react@18.3.1) semver: specifier: 7.6.3 version: 7.6.3 @@ -426,16 +429,16 @@ importers: version: 2.5.5 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))) + version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))) viem: specifier: ^2.21.53 - version: 2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) + version: 2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) vite-plugin-node-polyfills: specifier: ^0.22.0 - version: 0.22.0(rollup@4.28.0)(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 0.22.0(rollup@4.28.1)(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1)) wagmi: specifier: ^2.13.3 - version: 2.13.3(@tanstack/query-core@5.62.2)(@tanstack/react-query@5.62.2(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(immer@10.1.1)(react@18.3.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) + version: 2.13.5(@tanstack/query-core@5.62.3)(@tanstack/react-query@5.62.3(react@18.3.1))(@types/react@18.3.14)(bufferutil@4.0.8)(encoding@0.1.13)(immer@10.0.2)(react@18.3.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) yaml: specifier: 2.6.1 version: 2.6.1 @@ -448,31 +451,31 @@ importers: version: 1.12.16(graphql@16.9.0)(typescript@5.7.2) '@tanstack/router-cli': specifier: ^1.85.3 - version: 1.85.3 + version: 1.86.0 '@tanstack/router-vite-plugin': specifier: ^1.85.3 - version: 1.85.3(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 1.86.0(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1)) '@types/node': specifier: ^22.10.1 version: 22.10.1 '@types/react': specifier: ^18.3.12 - version: 18.3.12 + version: 18.3.14 '@types/react-dom': specifier: ^18.3.1 - version: 18.3.1 + version: 18.3.2 '@types/semver': specifier: ^7.5.8 version: 7.5.8 '@typescript-eslint/eslint-plugin': specifier: ^8.17.0 - version: 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + version: 8.18.0(@typescript-eslint/parser@8.18.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) '@typescript-eslint/parser': specifier: ^8.17.0 - version: 8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + version: 8.18.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 4.3.4(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.49) @@ -481,7 +484,7 @@ importers: version: 9.16.0(jiti@2.4.1) eslint-plugin-react-hooks: specifier: ^5.0.0 - version: 5.0.0(eslint@9.16.0(jiti@2.4.1)) + version: 5.1.0(eslint@9.16.0(jiti@2.4.1)) eslint-plugin-react-refresh: specifier: ^0.4.16 version: 0.4.16(eslint@9.16.0(jiti@2.4.1)) @@ -493,18 +496,18 @@ importers: version: 6.0.1 tailwindcss: specifier: ^3.4.15 - version: 3.4.15(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)) typescript: specifier: ^5.7.2 version: 5.7.2 vite: specifier: ^6.0.2 - version: 6.0.2(@types/node@22.10.1)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) + version: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1) packages: - '@0no-co/graphql.web@1.0.11': - resolution: {integrity: sha512-xuSJ9WXwTmtngWkbdEoopMo6F8NLtjy84UNAMsAr5C3/2SgAL/dEU10TMqTIsipqPQ8HA/7WzeqQ9DEQxSvPPA==} + '@0no-co/graphql.web@1.0.12': + resolution: {integrity: sha512-BTDjjsV/zSPy5fqItwm+KWUfh9CSe9tTtR6rCB72ddtkAxdcHbi4Ir4r/L1Et4lyxmL+i7Rb3m9sjLLi9tYrzA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 peerDependenciesMeta: @@ -517,9 +520,6 @@ packages: graphql: ^15.5.0 || ^16.0.0 || ^17.0.0 typescript: ^5.0.0 - '@adraffy/ens-normalize@1.10.0': - resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} - '@adraffy/ens-normalize@1.10.1': resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} @@ -561,8 +561,8 @@ packages: resolution: {integrity: sha512-0tHdtyJ9xmlNsfZppYEflrtskxZjbwPCD4DzcFXRxXEteDtZhRshF1YGAEYUZ7Iad4ps+XbQOEiAJmWW+G2QFw==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-s3@3.703.0': - resolution: {integrity: sha512-4TSrIamzASTeRPKXrTLcEwo+viPTuOSGcbXh4HC1R0m/rXwK0BHJ4btJ0Q34nZNF+WzvM+FiemXVjNc8qTAxog==} + '@aws-sdk/client-s3@3.705.0': + resolution: {integrity: sha512-Fm0Cbc4zr0yG0DnNycz7ywlL5tQFdLSb7xCIPfzrxJb3YQiTXWxH5eu61SSsP/Z6RBNRolmRPvst/iNgX0fWvA==} engines: {node: '>=16.0.0'} '@aws-sdk/client-sso-oidc@3.699.0': @@ -705,8 +705,8 @@ packages: resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.2': - resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} + '@babel/compat-data@7.26.3': + resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} engines: {node: '>=6.9.0'} '@babel/core@7.25.2': @@ -724,18 +724,14 @@ packages: '@babel/core': ^7.11.0 eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 - '@babel/generator@7.26.2': - resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} + '@babel/generator@7.26.3': + resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.25.9': resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} engines: {node: '>=6.9.0'} - '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9': - resolution: {integrity: sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==} - engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.9': resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} engines: {node: '>=6.9.0'} @@ -746,8 +742,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-regexp-features-plugin@7.25.9': - resolution: {integrity: sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==} + '@babel/helper-create-regexp-features-plugin@7.26.3': + resolution: {integrity: sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -791,10 +787,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-simple-access@7.25.9': - resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==} - engines: {node: '>=6.9.0'} - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} engines: {node: '>=6.9.0'} @@ -819,8 +811,8 @@ packages: resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.26.2': - resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} + '@babel/parser@7.26.3': + resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} engines: {node: '>=6.0.0'} hasBin: true @@ -1070,8 +1062,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.25.9': - resolution: {integrity: sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==} + '@babel/plugin-transform-exponentiation-operator@7.26.3': + resolution: {integrity: sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1130,8 +1122,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.25.9': - resolution: {integrity: sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==} + '@babel/plugin-transform-modules-commonjs@7.26.3': + resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1353,12 +1345,12 @@ packages: resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.9': - resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} + '@babel/traverse@7.26.4': + resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} engines: {node: '>=6.9.0'} - '@babel/types@7.26.0': - resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} + '@babel/types@7.26.3': + resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} engines: {node: '>=6.9.0'} '@chainsafe/is-ip@2.0.2': @@ -1434,10 +1426,6 @@ packages: '@coinbase/wallet-sdk@4.2.3': resolution: {integrity: sha512-BcyHZ/Ec84z0emORzqdXDv4P0oV+tV3a0OirfA8Ko1JGBIAVvB+hzLvZzCDvnuZx7MTK+Dd8Y9Tjlo446BpCIg==} - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -1906,12 +1894,12 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.19.0': - resolution: {integrity: sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==} + '@eslint/config-array@0.19.1': + resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.9.0': - resolution: {integrity: sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==} + '@eslint/core@0.9.1': + resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@3.2.0': @@ -1922,12 +1910,12 @@ packages: resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.4': - resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + '@eslint/object-schema@2.1.5': + resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.3': - resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} + '@eslint/plugin-kit@0.2.4': + resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ethereumjs/common@3.2.0': @@ -1967,6 +1955,9 @@ packages: '@ethersproject/base64@5.7.0': resolution: {integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==} + '@ethersproject/basex@5.7.0': + resolution: {integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==} + '@ethersproject/bignumber@5.7.0': resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} @@ -1976,9 +1967,18 @@ packages: '@ethersproject/constants@5.7.0': resolution: {integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==} + '@ethersproject/contracts@5.7.0': + resolution: {integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==} + '@ethersproject/hash@5.7.0': resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} + '@ethersproject/hdnode@5.7.0': + resolution: {integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==} + + '@ethersproject/json-wallets@5.7.0': + resolution: {integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==} + '@ethersproject/keccak256@5.7.0': resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} @@ -1988,15 +1988,30 @@ packages: '@ethersproject/networks@5.7.1': resolution: {integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==} + '@ethersproject/pbkdf2@5.7.0': + resolution: {integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==} + '@ethersproject/properties@5.7.0': resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==} + '@ethersproject/providers@5.7.2': + resolution: {integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==} + + '@ethersproject/random@5.7.0': + resolution: {integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==} + '@ethersproject/rlp@5.7.0': resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} + '@ethersproject/sha2@5.7.0': + resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} + '@ethersproject/signing-key@5.7.0': resolution: {integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==} + '@ethersproject/solidity@5.7.0': + resolution: {integrity: sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==} + '@ethersproject/strings@5.7.0': resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} @@ -2006,9 +2021,15 @@ packages: '@ethersproject/units@5.7.0': resolution: {integrity: sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==} + '@ethersproject/wallet@5.7.0': + resolution: {integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==} + '@ethersproject/web@5.7.1': resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==} + '@ethersproject/wordlists@5.7.0': + resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==} + '@fastify/busboy@2.1.1': resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} @@ -2099,8 +2120,8 @@ packages: '@vue/compiler-sfc': optional: true - '@inquirer/checkbox@4.0.2': - resolution: {integrity: sha512-+gznPl8ip8P8HYHYecDtUtdsh1t2jvb+sWCD72GAiZ9m45RqwrLmReDaqdC0umQfamtFXVRoMVJ2/qINKGm9Tg==} + '@inquirer/checkbox@4.0.3': + resolution: {integrity: sha512-CEt9B4e8zFOGtc/LYeQx5m8nfqQeG/4oNNv0PUvXGG0mys+wR/WbJ3B4KfSQ4Fcr3AQfpiuFOi3fVvmPfvNbxw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -2109,28 +2130,28 @@ packages: resolution: {integrity: sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==} engines: {node: '>=18'} - '@inquirer/confirm@5.0.2': - resolution: {integrity: sha512-KJLUHOaKnNCYzwVbryj3TNBxyZIrr56fR5N45v6K9IPrbT6B7DcudBMfylkV1A8PUdJE15mybkEQyp2/ZUpxUA==} + '@inquirer/confirm@5.1.0': + resolution: {integrity: sha512-osaBbIMEqVFjTX5exoqPXs6PilWQdjaLhGtMDXMXg/yxkHXNq43GlxGyTA35lK2HpzUgDN+Cjh/2AmqCN0QJpw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/core@10.1.0': - resolution: {integrity: sha512-I+ETk2AL+yAVbvuKx5AJpQmoaWhpiTFOg/UJb7ZkMAK4blmtG8ATh5ct+T/8xNld0CZG/2UhtkdMwpgvld92XQ==} + '@inquirer/core@10.1.1': + resolution: {integrity: sha512-rmZVXy9iZvO3ZStEe/ayuuwIJ23LSF13aPMlLMTQARX6lGUBDHGV8UB5i9MRrfy0+mZwt5/9bdy8llszSD3NQA==} engines: {node: '>=18'} '@inquirer/core@9.2.1': resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} engines: {node: '>=18'} - '@inquirer/editor@4.1.0': - resolution: {integrity: sha512-K1gGWsxEqO23tVdp5MT3H799OZ4ER1za7Dlc8F4um0W7lwSv0KGR/YyrUEyimj0g7dXZd8XknM/5QA2/Uy+TbA==} + '@inquirer/editor@4.2.0': + resolution: {integrity: sha512-Z3LeGsD3WlItDqLxTPciZDbGtm0wrz7iJGS/uUxSiQxef33ZrBq7LhsXg30P7xrWz1kZX4iGzxxj5SKZmJ8W+w==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/expand@4.0.2': - resolution: {integrity: sha512-WdgCX1cUtinz+syKyZdJomovULYlKUWZbVYZzhf+ZeeYf4htAQ3jLymoNs3koIAKfZZl3HUBb819ClCBfyznaw==} + '@inquirer/expand@4.0.3': + resolution: {integrity: sha512-MDszqW4HYBpVMmAoy/FA9laLrgo899UAga0itEjsYrBthKieDZNc0e16gdn7N3cQ0DSf/6zsTBZMuDYDQU4ktg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -2143,38 +2164,38 @@ packages: resolution: {integrity: sha512-XfnpCStx2xgh1LIRqPXrTNEEByqQWoxsWYzNRSEUxJ5c6EQlhMogJ3vHKu8aXuTacebtaZzMAHwEL0kAflKOBw==} engines: {node: '>=18'} - '@inquirer/input@4.0.2': - resolution: {integrity: sha512-yCLCraigU085EcdpIVEDgyfGv4vBiE4I+k1qRkc9C5dMjWF42ADMGy1RFU94+eZlz4YlkmFsiyHZy0W1wdhaNg==} + '@inquirer/input@4.1.0': + resolution: {integrity: sha512-16B8A9hY741yGXzd8UJ9R8su/fuuyO2e+idd7oVLYjP23wKJ6ILRIIHcnXe8/6AoYgwRS2zp4PNsW/u/iZ24yg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/number@3.0.2': - resolution: {integrity: sha512-MKQhYofdUNk7eqJtz52KvM1dH6R93OMrqHduXCvuefKrsiMjHiMwjc3NZw5Imm2nqY7gWd9xdhYrtcHMJQZUxA==} + '@inquirer/number@3.0.3': + resolution: {integrity: sha512-HA/W4YV+5deKCehIutfGBzNxWH1nhvUC67O4fC9ufSijn72yrYnRmzvC61dwFvlXIG1fQaYWi+cqNE9PaB9n6Q==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/password@4.0.2': - resolution: {integrity: sha512-tQXGSu7IO07gsYlGy3VgXRVsbOWqFBMbqAUrJSc1PDTQQ5Qdm+QVwkP0OC0jnUZ62D19iPgXOMO+tnWG+HhjNQ==} + '@inquirer/password@4.0.3': + resolution: {integrity: sha512-3qWjk6hS0iabG9xx0U1plwQLDBc/HA/hWzLFFatADpR6XfE62LqPr9GpFXBkLU0KQUaIXZ996bNG+2yUvocH8w==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/prompts@7.1.0': - resolution: {integrity: sha512-5U/XiVRH2pp1X6gpNAjWOglMf38/Ys522ncEHIKT1voRUvSj/DQnR22OVxHnwu5S+rCFaUiPQ57JOtMFQayqYA==} + '@inquirer/prompts@7.2.0': + resolution: {integrity: sha512-ZXYZ5oGVrb+hCzcglPeVerJ5SFwennmDOPfXq1WyeZIrPGySLbl4W6GaSsBFvu3WII36AOK5yB8RMIEEkBjf8w==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/rawlist@4.0.2': - resolution: {integrity: sha512-3XGcskMoVF8H0Dl1S5TSZ3rMPPBWXRcM0VeNVsS4ByWeWjSeb0lPqfnBg6N7T0608I1B2bSVnbi2cwCrmOD1Yw==} + '@inquirer/rawlist@4.0.3': + resolution: {integrity: sha512-5MhinSzfmOiZlRoPezfbJdfVCZikZs38ja3IOoWe7H1dxL0l3Z2jAUgbBldeyhhOkELdGvPlBfQaNbeLslib1w==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' - '@inquirer/search@3.0.2': - resolution: {integrity: sha512-Zv4FC7w4dJ13BOJfKRQCICQfShinGjb1bCEIHxTSnjj2telu3+3RHwHubPG9HyD4aix5s+lyAMEK/wSFD75HLA==} + '@inquirer/search@3.0.3': + resolution: {integrity: sha512-mQTCbdNolTGvGGVCJSI6afDwiSGTV+fMLPEIMDJgIV6L/s3+RYRpxt6t0DYnqMQmemnZ/Zq0vTIRwoHT1RgcTg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -2183,8 +2204,8 @@ packages: resolution: {integrity: sha512-YmDobTItPP3WcEI86GvPo+T2sRHkxxOq/kXmsBjHS5BVXUgvgZ5AfJjkvQvZr03T81NnI3KrrRuMzeuYUQRFOA==} engines: {node: '>=18'} - '@inquirer/select@4.0.2': - resolution: {integrity: sha512-uSWUzaSYAEj0hlzxa1mUB6VqrKaYx0QxGBLZzU4xWFxaSyGaXxsSE4OSOwdU24j0xl8OajgayqFXW0l2bkl2kg==} + '@inquirer/select@4.0.3': + resolution: {integrity: sha512-OZfKDtDE8+J54JYAFTUGZwvKNfC7W/gFCjDkcsO7HnTH/wljsZo9y/FJquOxMy++DY0+9l9o/MOZ8s5s1j5wmw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -2240,9 +2261,6 @@ packages: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - '@jridgewell/source-map@0.3.6': - resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} - '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} @@ -2258,17 +2276,17 @@ packages: '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} - '@libp2p/crypto@5.0.7': - resolution: {integrity: sha512-hv0rv/BPBsmSV5GBtaLZpOEv1LsA+Ub0BEDnEvSdB0ZbZ3Fcdlt5HTaJ2jYz4lx2T7KWTFQa9i1elmlGxwuJNg==} + '@libp2p/crypto@5.0.8': + resolution: {integrity: sha512-3ZxuzqMvyLXhRnjT3sjvzCCW4zkO9UKgv75KfqExP3k1Yk/Zbb+oM2z7OgnDycvLGxnRZgGwizrgnWpZvXlDEA==} - '@libp2p/interface@2.2.1': - resolution: {integrity: sha512-5dvsnf9+S5DoXCk5H3HNpe8lKzuXTi0k2On8Cdqr6YrkmrhCimow63AxtaUOVkH7GVBTTi8Q1jSx3aleX7KcEA==} + '@libp2p/interface@2.3.0': + resolution: {integrity: sha512-lodc8jxw32fkY2m2bsS6yzzozua6EDr5rJvahJaJVC36jZWFW5sBmOW8jBoKfoZyRwgD6uoOXP39miWQhEaUcg==} - '@libp2p/logger@5.1.4': - resolution: {integrity: sha512-pVQ2odi6rcOR412wM0dg7eZ1+wPHPo5D7W8vIn3YyB2FLodQD7CZXXfg7Z9Yaqlc4BVbkNXDWL/jlUss9wL2Ow==} + '@libp2p/logger@5.1.5': + resolution: {integrity: sha512-Qe8B/Mja0myaArPvuI5iKVi3o2Z55Rir+RDkkEU/m9TkKDkHVFmGKnPlWDzHehi18GALjLxOsTE9TJASxjDTCA==} - '@libp2p/peer-id@5.0.8': - resolution: {integrity: sha512-vil9cch+qtqchSlrgG0Zw82uCW8XsyeOJc6DaIiS2hI01cMOIChT4CKjTn0iV5k2yw/niycQPjLrYQzy7tBIYg==} + '@libp2p/peer-id@5.0.9': + resolution: {integrity: sha512-TgWOPbU7AcUdSiHomL2wcg9eJqjoMCvCmU5eq/3fyBygTaG4BiQA/tYKuTEfeB5YPMdG1cJLmxgpk/a+ZRkY1g==} '@lit-labs/ssr-dom-shim@1.2.1': resolution: {integrity: sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==} @@ -2417,10 +2435,6 @@ packages: '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} - '@noble/curves@1.6.0': - resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==} - engines: {node: ^14.21.3 || >=16} - '@noble/curves@1.7.0': resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} engines: {node: ^14.21.3 || >=16} @@ -2436,10 +2450,6 @@ packages: resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} - '@noble/hashes@1.5.0': - resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} - engines: {node: ^14.21.3 || >=16} - '@noble/hashes@1.6.0': resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} engines: {node: ^14.21.3 || >=16} @@ -2664,24 +2674,24 @@ packages: resolution: {integrity: sha512-Ow1AR8WtjzlyCtiWWPgzMyT8SbcDJFr47009riLioHa+MHX2BCDtVn2DVnN/E6b9JlPV5ptQpjefoRSNWBesmg==} engines: {node: '>=12.0.0'} - '@oclif/plugin-autocomplete@3.2.11': - resolution: {integrity: sha512-vIuMbR1Rf448paIx3C8BI8r8bJAQpZ3j4icUreo+3nAiyNhhIzgypOukVtjyeHwfOPpNLnq1zPP4RRYFY4643Q==} + '@oclif/plugin-autocomplete@3.2.13': + resolution: {integrity: sha512-t7A/dl0Mc5Q051dppcKs/jVN+/ctOBJdQz7DomJs1l86R1gBEI6OPgoOmdTqS0rAyw6Md/iPPqCTX6Q85kA0fw==} engines: {node: '>=18.0.0'} - '@oclif/plugin-help@6.2.18': - resolution: {integrity: sha512-mDYOl8RmldLkOg9i9YKgyBlpcyi/bNySoIVHJ2EJd2qCmZaXRKQKRW2Zkx92bwjik8jfs/A3EFI+p4DsrXi57g==} + '@oclif/plugin-help@6.2.19': + resolution: {integrity: sha512-q2fIACWHJehppWTTgJm/llleKDgxt42IBVcK6Rp4H6qzET24t2zs0vbALx5XxsNCKl3/UuJhyW2XXQqvGmvWJQ==} engines: {node: '>=18.0.0'} '@oclif/plugin-not-found@2.4.3': resolution: {integrity: sha512-nIyaR4y692frwh7wIHZ3fb+2L6XEecQwRDIb4zbEam0TvaVmBQWZoColQyWA84ljFBPZ8XWiQyTz+ixSwdRkqg==} engines: {node: '>=12.0.0'} - '@oclif/plugin-not-found@3.2.29': - resolution: {integrity: sha512-TOS46arY8+YK30ks+mvLXwLq4YElMygXKsb8VPdYxUTvbn3yS9fpZ+4IjBo/IM4sZ88D51iXkNZFWt/nItT1Sg==} + '@oclif/plugin-not-found@3.2.30': + resolution: {integrity: sha512-2gAfCXL0J0ps7OUfoiNLxkhIXcjetliW5Fra5nhP8OgKNje7P8VROfZQUe4u6lpMRMe6KgBHyBKd0wfVQuS9Mw==} engines: {node: '>=18.0.0'} - '@oclif/plugin-warn-if-update-available@3.1.24': - resolution: {integrity: sha512-VXlVCJO+Pmv5r4FM7ZA3fp8NkYpaySW1CO3DubQOehpPzjNhRuAFz9xngl9CI5Huh/4exUuwm2JmcJ6+EauKSg==} + '@oclif/plugin-warn-if-update-available@3.1.26': + resolution: {integrity: sha512-tG96vi0GvZ/azDPQ9NUnwRFhD5YQ4Z+9FpH329vTnNg2Z+WMy5sijPbaiTuEMuYMyUZyv2IKpFyGLV9BnNjaTQ==} engines: {node: '>=18.0.0'} '@parcel/watcher-android-arm64@2.5.0': @@ -2786,6 +2796,9 @@ packages: resolution: {integrity: sha512-BRs5XUAwiyCDQMsVA9IDvDa7UBR9gAvPHgugOeGng3YN6vJ9JYonyDc0lNczErgtCWtucjR5N7VtaonboD/ezg==} engines: {node: '>=10.12.0'} + '@pinax/graph-networks-registry@0.6.5': + resolution: {integrity: sha512-Urm/C+phjJLP+W5OF7hCUMrlSqSNGfX8V2BmzXmVkME/NX1yBZCQinR3Zk2L2uedpOBjmp3o7vm7bdQy+DMHhA==} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -3153,93 +3166,98 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.28.0': - resolution: {integrity: sha512-wLJuPLT6grGZsy34g4N1yRfYeouklTgPhH1gWXCYspenKYD0s3cR99ZevOGw5BexMNywkbV3UkjADisozBmpPQ==} + '@rollup/rollup-android-arm-eabi@4.28.1': + resolution: {integrity: sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.28.0': - resolution: {integrity: sha512-eiNkznlo0dLmVG/6wf+Ifi/v78G4d4QxRhuUl+s8EWZpDewgk7PX3ZyECUXU0Zq/Ca+8nU8cQpNC4Xgn2gFNDA==} + '@rollup/rollup-android-arm64@4.28.1': + resolution: {integrity: sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.28.0': - resolution: {integrity: sha512-lmKx9yHsppblnLQZOGxdO66gT77bvdBtr/0P+TPOseowE7D9AJoBw8ZDULRasXRWf1Z86/gcOdpBrV6VDUY36Q==} + '@rollup/rollup-darwin-arm64@4.28.1': + resolution: {integrity: sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.28.0': - resolution: {integrity: sha512-8hxgfReVs7k9Js1uAIhS6zq3I+wKQETInnWQtgzt8JfGx51R1N6DRVy3F4o0lQwumbErRz52YqwjfvuwRxGv1w==} + '@rollup/rollup-darwin-x64@4.28.1': + resolution: {integrity: sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.28.0': - resolution: {integrity: sha512-lA1zZB3bFx5oxu9fYud4+g1mt+lYXCoch0M0V/xhqLoGatbzVse0wlSQ1UYOWKpuSu3gyN4qEc0Dxf/DII1bhQ==} + '@rollup/rollup-freebsd-arm64@4.28.1': + resolution: {integrity: sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.28.0': - resolution: {integrity: sha512-aI2plavbUDjCQB/sRbeUZWX9qp12GfYkYSJOrdYTL/C5D53bsE2/nBPuoiJKoWp5SN78v2Vr8ZPnB+/VbQ2pFA==} + '@rollup/rollup-freebsd-x64@4.28.1': + resolution: {integrity: sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.28.0': - resolution: {integrity: sha512-WXveUPKtfqtaNvpf0iOb0M6xC64GzUX/OowbqfiCSXTdi/jLlOmH0Ba94/OkiY2yTGTwteo4/dsHRfh5bDCZ+w==} + '@rollup/rollup-linux-arm-gnueabihf@4.28.1': + resolution: {integrity: sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.28.0': - resolution: {integrity: sha512-yLc3O2NtOQR67lI79zsSc7lk31xjwcaocvdD1twL64PK1yNaIqCeWI9L5B4MFPAVGEVjH5k1oWSGuYX1Wutxpg==} + '@rollup/rollup-linux-arm-musleabihf@4.28.1': + resolution: {integrity: sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.28.0': - resolution: {integrity: sha512-+P9G9hjEpHucHRXqesY+3X9hD2wh0iNnJXX/QhS/J5vTdG6VhNYMxJ2rJkQOxRUd17u5mbMLHM7yWGZdAASfcg==} + '@rollup/rollup-linux-arm64-gnu@4.28.1': + resolution: {integrity: sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.28.0': - resolution: {integrity: sha512-1xsm2rCKSTpKzi5/ypT5wfc+4bOGa/9yI/eaOLW0oMs7qpC542APWhl4A37AENGZ6St6GBMWhCCMM6tXgTIplw==} + '@rollup/rollup-linux-arm64-musl@4.28.1': + resolution: {integrity: sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.28.0': - resolution: {integrity: sha512-zgWxMq8neVQeXL+ouSf6S7DoNeo6EPgi1eeqHXVKQxqPy1B2NvTbaOUWPn/7CfMKL7xvhV0/+fq/Z/J69g1WAQ==} + '@rollup/rollup-linux-loongarch64-gnu@4.28.1': + resolution: {integrity: sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': + resolution: {integrity: sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.28.0': - resolution: {integrity: sha512-VEdVYacLniRxbRJLNtzwGt5vwS0ycYshofI7cWAfj7Vg5asqj+pt+Q6x4n+AONSZW/kVm+5nklde0qs2EUwU2g==} + '@rollup/rollup-linux-riscv64-gnu@4.28.1': + resolution: {integrity: sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.28.0': - resolution: {integrity: sha512-LQlP5t2hcDJh8HV8RELD9/xlYtEzJkm/aWGsauvdO2ulfl3QYRjqrKW+mGAIWP5kdNCBheqqqYIGElSRCaXfpw==} + '@rollup/rollup-linux-s390x-gnu@4.28.1': + resolution: {integrity: sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.28.0': - resolution: {integrity: sha512-Nl4KIzteVEKE9BdAvYoTkW19pa7LR/RBrT6F1dJCV/3pbjwDcaOq+edkP0LXuJ9kflW/xOK414X78r+K84+msw==} + '@rollup/rollup-linux-x64-gnu@4.28.1': + resolution: {integrity: sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.28.0': - resolution: {integrity: sha512-eKpJr4vBDOi4goT75MvW+0dXcNUqisK4jvibY9vDdlgLx+yekxSm55StsHbxUsRxSTt3JEQvlr3cGDkzcSP8bw==} + '@rollup/rollup-linux-x64-musl@4.28.1': + resolution: {integrity: sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.28.0': - resolution: {integrity: sha512-Vi+WR62xWGsE/Oj+mD0FNAPY2MEox3cfyG0zLpotZdehPFXwz6lypkGs5y38Jd/NVSbOD02aVad6q6QYF7i8Bg==} + '@rollup/rollup-win32-arm64-msvc@4.28.1': + resolution: {integrity: sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.28.0': - resolution: {integrity: sha512-kN/Vpip8emMLn/eOza+4JwqDZBL6MPNpkdaEsgUtW1NYN3DZvZqSQrbKzJcTL6hd8YNmFTn7XGWMwccOcJBL0A==} + '@rollup/rollup-win32-ia32-msvc@4.28.1': + resolution: {integrity: sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.28.0': - resolution: {integrity: sha512-Bvno2/aZT6usSa7lRDL2+hMjVAGjuqaymF1ApZm31JXzniR/hvr14jpU+/z4X6Gt5BPlzosscyJZGUvguXIqeQ==} + '@rollup/rollup-win32-x64-msvc@4.28.1': + resolution: {integrity: sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==} cpu: [x64] os: [win32] @@ -3268,26 +3286,20 @@ packages: '@scure/bip32@1.1.5': resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} - '@scure/bip32@1.3.2': - resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} - '@scure/bip32@1.4.0': resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} - '@scure/bip32@1.5.0': - resolution: {integrity: sha512-8EnFYkqEQdnkuGBVpCzKxyIwDCBLDVj3oiX0EKUFre/tOjL/Hqba1D6n/8RcmaQy4f95qQFrO2A8Sr6ybh4NRw==} + '@scure/bip32@1.6.0': + resolution: {integrity: sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==} '@scure/bip39@1.1.1': resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} - '@scure/bip39@1.2.1': - resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} - '@scure/bip39@1.3.0': resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} - '@scure/bip39@1.4.0': - resolution: {integrity: sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw==} + '@scure/bip39@1.5.0': + resolution: {integrity: sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==} '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} @@ -3324,8 +3336,8 @@ packages: resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} - '@smithy/abort-controller@3.1.8': - resolution: {integrity: sha512-+3DOBcUn5/rVjlxGvUPKc416SExarAQ+Qe0bqk30YSUjbepwpS7QN0cyKUSifvLJhdMZ0WPzPP5ymut0oonrpQ==} + '@smithy/abort-controller@3.1.9': + resolution: {integrity: sha512-yiW0WI30zj8ZKoSYNx90no7ugVn3khlyH/z5W8qtKBtVE6awRALbhSG+2SAHA1r6bO/6M9utxYKVZ3PCJ1rWxw==} engines: {node: '>=16.0.0'} '@smithy/chunked-blob-reader-native@3.0.1': @@ -3334,53 +3346,53 @@ packages: '@smithy/chunked-blob-reader@4.0.0': resolution: {integrity: sha512-jSqRnZvkT4egkq/7b6/QRCNXmmYVcHwnJldqJ3IhVpQE2atObVJ137xmGeuGFhjFUr8gCEVAOKwSY79OvpbDaQ==} - '@smithy/config-resolver@3.0.12': - resolution: {integrity: sha512-YAJP9UJFZRZ8N+UruTeq78zkdjUHmzsY62J4qKWZ4SXB4QXJ/+680EfXXgkYA2xj77ooMqtUY9m406zGNqwivQ==} + '@smithy/config-resolver@3.0.13': + resolution: {integrity: sha512-Gr/qwzyPaTL1tZcq8WQyHhTZREER5R1Wytmz4WnVGL4onA3dNk6Btll55c8Vr58pLdvWZmtG8oZxJTw3t3q7Jg==} engines: {node: '>=16.0.0'} - '@smithy/core@2.5.4': - resolution: {integrity: sha512-iFh2Ymn2sCziBRLPuOOxRPkuCx/2gBdXtBGuCUFLUe6bWYjKnhHyIPqGeNkLZ5Aco/5GjebRTBFiWID3sDbrKw==} + '@smithy/core@2.5.5': + resolution: {integrity: sha512-G8G/sDDhXA7o0bOvkc7bgai6POuSld/+XhNnWAbpQTpLv2OZPvyqQ58tLPPlz0bSNsXktldDDREIv1LczFeNEw==} engines: {node: '>=16.0.0'} - '@smithy/credential-provider-imds@3.2.7': - resolution: {integrity: sha512-cEfbau+rrWF8ylkmmVAObOmjbTIzKyUC5TkBL58SbLywD0RCBC4JAUKbmtSm2w5KUJNRPGgpGFMvE2FKnuNlWQ==} + '@smithy/credential-provider-imds@3.2.8': + resolution: {integrity: sha512-ZCY2yD0BY+K9iMXkkbnjo+08T2h8/34oHd0Jmh6BZUSZwaaGlGCyBT/3wnS7u7Xl33/EEfN4B6nQr3Gx5bYxgw==} engines: {node: '>=16.0.0'} - '@smithy/eventstream-codec@3.1.9': - resolution: {integrity: sha512-F574nX0hhlNOjBnP+noLtsPFqXnWh2L0+nZKCwcu7P7J8k+k+rdIDs+RMnrMwrzhUE4mwMgyN0cYnEn0G8yrnQ==} + '@smithy/eventstream-codec@3.1.10': + resolution: {integrity: sha512-323B8YckSbUH0nMIpXn7HZsAVKHYHFUODa8gG9cHo0ySvA1fr5iWaNT+iIL0UCqUzG6QPHA3BSsBtRQou4mMqQ==} - '@smithy/eventstream-serde-browser@3.0.13': - resolution: {integrity: sha512-Nee9m+97o9Qj6/XeLz2g2vANS2SZgAxV4rDBMKGHvFJHU/xz88x2RwCkwsvEwYjSX4BV1NG1JXmxEaDUzZTAtw==} + '@smithy/eventstream-serde-browser@3.0.14': + resolution: {integrity: sha512-kbrt0vjOIihW3V7Cqj1SXQvAI5BR8SnyQYsandva0AOR307cXAc+IhPngxIPslxTLfxwDpNu0HzCAq6g42kCPg==} engines: {node: '>=16.0.0'} - '@smithy/eventstream-serde-config-resolver@3.0.10': - resolution: {integrity: sha512-K1M0x7P7qbBUKB0UWIL5KOcyi6zqV5mPJoL0/o01HPJr0CSq3A9FYuJC6e11EX6hR8QTIR++DBiGrYveOu6trw==} + '@smithy/eventstream-serde-config-resolver@3.0.11': + resolution: {integrity: sha512-P2pnEp4n75O+QHjyO7cbw/vsw5l93K/8EWyjNCAAybYwUmj3M+hjSQZ9P5TVdUgEG08ueMAP5R4FkuSkElZ5tQ==} engines: {node: '>=16.0.0'} - '@smithy/eventstream-serde-node@3.0.12': - resolution: {integrity: sha512-kiZymxXvZ4tnuYsPSMUHe+MMfc4FTeFWJIc0Q5wygJoUQM4rVHNghvd48y7ppuulNMbuYt95ah71pYc2+o4JOA==} + '@smithy/eventstream-serde-node@3.0.13': + resolution: {integrity: sha512-zqy/9iwbj8Wysmvi7Lq7XFLeDgjRpTbCfwBhJa8WbrylTAHiAu6oQTwdY7iu2lxigbc9YYr9vPv5SzYny5tCXQ==} engines: {node: '>=16.0.0'} - '@smithy/eventstream-serde-universal@3.0.12': - resolution: {integrity: sha512-1i8ifhLJrOZ+pEifTlF0EfZzMLUGQggYQ6WmZ4d5g77zEKf7oZ0kvh1yKWHPjofvOwqrkwRDVuxuYC8wVd662A==} + '@smithy/eventstream-serde-universal@3.0.13': + resolution: {integrity: sha512-L1Ib66+gg9uTnqp/18Gz4MDpJPKRE44geOjOQ2SVc0eiaO5l255ADziATZgjQjqumC7yPtp1XnjHlF1srcwjKw==} engines: {node: '>=16.0.0'} - '@smithy/fetch-http-handler@4.1.1': - resolution: {integrity: sha512-bH7QW0+JdX0bPBadXt8GwMof/jz0H28I84hU1Uet9ISpzUqXqRQ3fEZJ+ANPOhzSEczYvANNl3uDQDYArSFDtA==} + '@smithy/fetch-http-handler@4.1.2': + resolution: {integrity: sha512-R7rU7Ae3ItU4rC0c5mB2sP5mJNbCfoDc8I5XlYjIZnquyUwec7fEo78F6DA3SmgJgkU1qTMcZJuGblxZsl10ZA==} - '@smithy/hash-blob-browser@3.1.9': - resolution: {integrity: sha512-wOu78omaUuW5DE+PVWXiRKWRZLecARyP3xcq5SmkXUw9+utgN8HnSnBfrjL2B/4ZxgqPjaAJQkC/+JHf1ITVaQ==} + '@smithy/hash-blob-browser@3.1.10': + resolution: {integrity: sha512-elwslXOoNunmfS0fh55jHggyhccobFkexLYC1ZeZ1xP2BTSrcIBaHV2b4xUQOdctrSNOpMqOZH1r2XzWTEhyfA==} - '@smithy/hash-node@3.0.10': - resolution: {integrity: sha512-3zWGWCHI+FlJ5WJwx73Mw2llYR8aflVyZN5JhoqLxbdPZi6UyKSdCeXAWJw9ja22m6S6Tzz1KZ+kAaSwvydi0g==} + '@smithy/hash-node@3.0.11': + resolution: {integrity: sha512-emP23rwYyZhQBvklqTtwetkQlqbNYirDiEEwXl2v0GYWMnCzxst7ZaRAnWuy28njp5kAH54lvkdG37MblZzaHA==} engines: {node: '>=16.0.0'} - '@smithy/hash-stream-node@3.1.9': - resolution: {integrity: sha512-3XfHBjSP3oDWxLmlxnt+F+FqXpL3WlXs+XXaB6bV9Wo8BBu87fK1dSEsyH7Z4ZHRmwZ4g9lFMdf08m9hoX1iRA==} + '@smithy/hash-stream-node@3.1.10': + resolution: {integrity: sha512-olomK/jZQ93OMayW1zfTHwcbwBdhcZOHsyWyiZ9h9IXvc1mCD/VuvzbLb3Gy/qNJwI4MANPLctTp2BucV2oU/Q==} engines: {node: '>=16.0.0'} - '@smithy/invalid-dependency@3.0.10': - resolution: {integrity: sha512-Lp2L65vFi+cj0vFMu2obpPW69DU+6O5g3086lmI4XcnRCG8PxvpWC7XyaVwJCxsZFzueHjXnrOH/E0pl0zikfA==} + '@smithy/invalid-dependency@3.0.11': + resolution: {integrity: sha512-NuQmVPEJjUX6c+UELyVz8kUx8Q539EDeNwbRyu4IIF8MeV7hUtq1FB3SHVyki2u++5XLMFqngeMKk7ccspnNyQ==} '@smithy/is-array-buffer@2.2.0': resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} @@ -3390,75 +3402,75 @@ packages: resolution: {integrity: sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==} engines: {node: '>=16.0.0'} - '@smithy/md5-js@3.0.10': - resolution: {integrity: sha512-m3bv6dApflt3fS2Y1PyWPUtRP7iuBlvikEOGwu0HsCZ0vE7zcIX+dBoh3e+31/rddagw8nj92j0kJg2TfV+SJA==} + '@smithy/md5-js@3.0.11': + resolution: {integrity: sha512-3NM0L3i2Zm4bbgG6Ymi9NBcxXhryi3uE8fIfHJZIOfZVxOkGdjdgjR9A06SFIZCfnEIWKXZdm6Yq5/aPXFFhsQ==} - '@smithy/middleware-content-length@3.0.12': - resolution: {integrity: sha512-1mDEXqzM20yywaMDuf5o9ue8OkJ373lSPbaSjyEvkWdqELhFMyNNgKGWL/rCSf4KME8B+HlHKuR8u9kRj8HzEQ==} + '@smithy/middleware-content-length@3.0.13': + resolution: {integrity: sha512-zfMhzojhFpIX3P5ug7jxTjfUcIPcGjcQYzB9t+rv0g1TX7B0QdwONW+ATouaLoD7h7LOw/ZlXfkq4xJ/g2TrIw==} engines: {node: '>=16.0.0'} - '@smithy/middleware-endpoint@3.2.4': - resolution: {integrity: sha512-TybiW2LA3kYVd3e+lWhINVu1o26KJbBwOpADnf0L4x/35vLVica77XVR5hvV9+kWeTGeSJ3IHTcYxbRxlbwhsg==} + '@smithy/middleware-endpoint@3.2.5': + resolution: {integrity: sha512-VhJNs/s/lyx4weiZdXSloBgoLoS8osV0dKIain8nGmx7of3QFKu5BSdEuk1z/U8x9iwes1i+XCiNusEvuK1ijg==} engines: {node: '>=16.0.0'} - '@smithy/middleware-retry@3.0.28': - resolution: {integrity: sha512-vK2eDfvIXG1U64FEUhYxoZ1JSj4XFbYWkK36iz02i3pFwWiDz1Q7jKhGTBCwx/7KqJNk4VS7d7cDLXFOvP7M+g==} + '@smithy/middleware-retry@3.0.29': + resolution: {integrity: sha512-/FfI/N2tIVCG9escHYLLABJlNHbO1gWFSdMlvbPOTV+Y+Aa8Q1FuS7Yaghb8NUfFmGYjkbeIu3bnbta6KbarsA==} engines: {node: '>=16.0.0'} - '@smithy/middleware-serde@3.0.10': - resolution: {integrity: sha512-MnAuhh+dD14F428ubSJuRnmRsfOpxSzvRhaGVTvd/lrUDE3kxzCCmH8lnVTvoNQnV2BbJ4c15QwZ3UdQBtFNZA==} + '@smithy/middleware-serde@3.0.11': + resolution: {integrity: sha512-KzPAeySp/fOoQA82TpnwItvX8BBURecpx6ZMu75EZDkAcnPtO6vf7q4aH5QHs/F1s3/snQaSFbbUMcFFZ086Mw==} engines: {node: '>=16.0.0'} - '@smithy/middleware-stack@3.0.10': - resolution: {integrity: sha512-grCHyoiARDBBGPyw2BeicpjgpsDFWZZxptbVKb3CRd/ZA15F/T6rZjCCuBUjJwdck1nwUuIxYtsS4H9DDpbP5w==} + '@smithy/middleware-stack@3.0.11': + resolution: {integrity: sha512-1HGo9a6/ikgOMrTrWL/WiN9N8GSVYpuRQO5kjstAq4CvV59bjqnh7TbdXGQ4vxLD3xlSjfBjq5t1SOELePsLnA==} engines: {node: '>=16.0.0'} - '@smithy/node-config-provider@3.1.11': - resolution: {integrity: sha512-URq3gT3RpDikh/8MBJUB+QGZzfS7Bm6TQTqoh4CqE8NBuyPkWa5eUXj0XFcFfeZVgg3WMh1u19iaXn8FvvXxZw==} + '@smithy/node-config-provider@3.1.12': + resolution: {integrity: sha512-O9LVEu5J/u/FuNlZs+L7Ikn3lz7VB9hb0GtPT9MQeiBmtK8RSY3ULmsZgXhe6VAlgTw0YO+paQx4p8xdbs43vQ==} engines: {node: '>=16.0.0'} - '@smithy/node-http-handler@3.3.1': - resolution: {integrity: sha512-fr+UAOMGWh6bn4YSEezBCpJn9Ukp9oR4D32sCjCo7U81evE11YePOQ58ogzyfgmjIO79YeOdfXXqr0jyhPQeMg==} + '@smithy/node-http-handler@3.3.2': + resolution: {integrity: sha512-t4ng1DAd527vlxvOfKFYEe6/QFBcsj7WpNlWTyjorwXXcKw3XlltBGbyHfSJ24QT84nF+agDha9tNYpzmSRZPA==} engines: {node: '>=16.0.0'} - '@smithy/property-provider@3.1.10': - resolution: {integrity: sha512-n1MJZGTorTH2DvyTVj+3wXnd4CzjJxyXeOgnTlgNVFxaaMeT4OteEp4QrzF8p9ee2yg42nvyVK6R/awLCakjeQ==} + '@smithy/property-provider@3.1.11': + resolution: {integrity: sha512-I/+TMc4XTQ3QAjXfOcUWbSS073oOEAxgx4aZy8jHaf8JQnRkq2SZWw8+PfDtBvLUjcGMdxl+YwtzWe6i5uhL/A==} engines: {node: '>=16.0.0'} - '@smithy/protocol-http@4.1.7': - resolution: {integrity: sha512-FP2LepWD0eJeOTm0SjssPcgqAlDFzOmRXqXmGhfIM52G7Lrox/pcpQf6RP4F21k0+O12zaqQt5fCDOeBtqY6Cg==} + '@smithy/protocol-http@4.1.8': + resolution: {integrity: sha512-hmgIAVyxw1LySOwkgMIUN0kjN8TG9Nc85LJeEmEE/cNEe2rkHDUWhnJf2gxcSRFLWsyqWsrZGw40ROjUogg+Iw==} engines: {node: '>=16.0.0'} - '@smithy/querystring-builder@3.0.10': - resolution: {integrity: sha512-nT9CQF3EIJtIUepXQuBFb8dxJi3WVZS3XfuDksxSCSn+/CzZowRLdhDn+2acbBv8R6eaJqPupoI/aRFIImNVPQ==} + '@smithy/querystring-builder@3.0.11': + resolution: {integrity: sha512-u+5HV/9uJaeLj5XTb6+IEF/dokWWkEqJ0XiaRRogyREmKGUgZnNecLucADLdauWFKUNbQfulHFEZEdjwEBjXRg==} engines: {node: '>=16.0.0'} - '@smithy/querystring-parser@3.0.10': - resolution: {integrity: sha512-Oa0XDcpo9SmjhiDD9ua2UyM3uU01ZTuIrNdZvzwUTykW1PM8o2yJvMh1Do1rY5sUQg4NDV70dMi0JhDx4GyxuQ==} + '@smithy/querystring-parser@3.0.11': + resolution: {integrity: sha512-Je3kFvCsFMnso1ilPwA7GtlbPaTixa3WwC+K21kmMZHsBEOZYQaqxcMqeFFoU7/slFjKDIpiiPydvdJm8Q/MCw==} engines: {node: '>=16.0.0'} - '@smithy/service-error-classification@3.0.10': - resolution: {integrity: sha512-zHe642KCqDxXLuhs6xmHVgRwy078RfqxP2wRDpIyiF8EmsWXptMwnMwbVa50lw+WOGNrYm9zbaEg0oDe3PTtvQ==} + '@smithy/service-error-classification@3.0.11': + resolution: {integrity: sha512-QnYDPkyewrJzCyaeI2Rmp7pDwbUETe+hU8ADkXmgNusO1bgHBH7ovXJiYmba8t0fNfJx75fE8dlM6SEmZxheog==} engines: {node: '>=16.0.0'} - '@smithy/shared-ini-file-loader@3.1.11': - resolution: {integrity: sha512-AUdrIZHFtUgmfSN4Gq9nHu3IkHMa1YDcN+s061Nfm+6pQ0mJy85YQDB0tZBCmls0Vuj22pLwDPmL92+Hvfwwlg==} + '@smithy/shared-ini-file-loader@3.1.12': + resolution: {integrity: sha512-1xKSGI+U9KKdbG2qDvIR9dGrw3CNx+baqJfyr0igKEpjbHL5stsqAesYBzHChYHlelWtb87VnLWlhvfCz13H8Q==} engines: {node: '>=16.0.0'} - '@smithy/signature-v4@4.2.3': - resolution: {integrity: sha512-pPSQQ2v2vu9vc8iew7sszLd0O09I5TRc5zhY71KA+Ao0xYazIG+uLeHbTJfIWGO3BGVLiXjUr3EEeCcEQLjpWQ==} + '@smithy/signature-v4@4.2.4': + resolution: {integrity: sha512-5JWeMQYg81TgU4cG+OexAWdvDTs5JDdbEZx+Qr1iPbvo91QFGzjy0IkXAKaXUHqmKUJgSHK0ZxnCkgZpzkeNTA==} engines: {node: '>=16.0.0'} - '@smithy/smithy-client@3.4.5': - resolution: {integrity: sha512-k0sybYT9zlP79sIKd1XGm4TmK0AS1nA2bzDHXx7m0nGi3RQ8dxxQUs4CPkSmQTKAo+KF9aINU3KzpGIpV7UoMw==} + '@smithy/smithy-client@3.4.6': + resolution: {integrity: sha512-j/WYdfzdx4asqb0YZch1rb6Y5OQcuTdXY7xnEMtc05diB5jfLQQtys9J/2lzmGKri9m9mUBrcnNTv3jbXvtk7A==} engines: {node: '>=16.0.0'} - '@smithy/types@3.7.1': - resolution: {integrity: sha512-XKLcLXZY7sUQgvvWyeaL/qwNPp6V3dWcUjqrQKjSb+tzYiCy340R/c64LV5j+Tnb2GhmunEX0eou+L+m2hJNYA==} + '@smithy/types@3.7.2': + resolution: {integrity: sha512-bNwBYYmN8Eh9RyjS1p2gW6MIhSO2rl7X9QeLM8iTdcGRP+eDiIWDt66c9IysCc22gefKszZv+ubV9qZc7hdESg==} engines: {node: '>=16.0.0'} - '@smithy/url-parser@3.0.10': - resolution: {integrity: sha512-j90NUalTSBR2NaZTuruEgavSdh8MLirf58LoGSk4AtQfyIymogIhgnGUU2Mga2bkMkpSoC9gxb74xBXL5afKAQ==} + '@smithy/url-parser@3.0.11': + resolution: {integrity: sha512-TmlqXkSk8ZPhfc+SQutjmFr5FjC0av3GZP4B/10caK1SbRwe/v+Wzu/R6xEKxoNqL+8nY18s1byiy6HqPG37Aw==} '@smithy/util-base64@3.0.0': resolution: {integrity: sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==} @@ -3483,32 +3495,32 @@ packages: resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==} engines: {node: '>=16.0.0'} - '@smithy/util-defaults-mode-browser@3.0.28': - resolution: {integrity: sha512-6bzwAbZpHRFVJsOztmov5PGDmJYsbNSoIEfHSJJyFLzfBGCCChiO3od9k7E/TLgrCsIifdAbB9nqbVbyE7wRUw==} + '@smithy/util-defaults-mode-browser@3.0.29': + resolution: {integrity: sha512-7k0kOfDjnSM44GG74UnjEixtHmtF/do6pCNEvp1DQlFjktEz8pv06p9RSjxp2J3Lv6I3+Ba9FLfurpFeBv+Pvw==} engines: {node: '>= 10.0.0'} - '@smithy/util-defaults-mode-node@3.0.28': - resolution: {integrity: sha512-78ENJDorV1CjOQselGmm3+z7Yqjj5HWCbjzh0Ixuq736dh1oEnD9sAttSBNSLlpZsX8VQnmERqA2fEFlmqWn8w==} + '@smithy/util-defaults-mode-node@3.0.29': + resolution: {integrity: sha512-lu8jaXAt1TIVkTAKMuGdZwWQ1L03iV/n8WPbY5hdjcNqLg2ysp5DqiINmtuLL8EgzDv1TXvKDaBAN+9bGH4sEQ==} engines: {node: '>= 10.0.0'} - '@smithy/util-endpoints@2.1.6': - resolution: {integrity: sha512-mFV1t3ndBh0yZOJgWxO9J/4cHZVn5UG1D8DeCc6/echfNkeEJWu9LD7mgGH5fHrEdR7LDoWw7PQO6QiGpHXhgA==} + '@smithy/util-endpoints@2.1.7': + resolution: {integrity: sha512-tSfcqKcN/Oo2STEYCABVuKgJ76nyyr6skGl9t15hs+YaiU06sgMkN7QYjo0BbVw+KT26zok3IzbdSOksQ4YzVw==} engines: {node: '>=16.0.0'} '@smithy/util-hex-encoding@3.0.0': resolution: {integrity: sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==} engines: {node: '>=16.0.0'} - '@smithy/util-middleware@3.0.10': - resolution: {integrity: sha512-eJO+/+RsrG2RpmY68jZdwQtnfsxjmPxzMlQpnHKjFPwrYqvlcT+fHdT+ZVwcjlWSrByOhGr9Ff2GG17efc192A==} + '@smithy/util-middleware@3.0.11': + resolution: {integrity: sha512-dWpyc1e1R6VoXrwLoLDd57U1z6CwNSdkM69Ie4+6uYh2GC7Vg51Qtan7ITzczuVpqezdDTKJGJB95fFvvjU/ow==} engines: {node: '>=16.0.0'} - '@smithy/util-retry@3.0.10': - resolution: {integrity: sha512-1l4qatFp4PiU6j7UsbasUHL2VU023NRB/gfaa1M0rDqVrRN4g3mCArLRyH3OuktApA4ye+yjWQHjdziunw2eWA==} + '@smithy/util-retry@3.0.11': + resolution: {integrity: sha512-hJUC6W7A3DQgaee3Hp9ZFcOxVDZzmBIRBPlUAk8/fSOEl7pE/aX7Dci0JycNOnm9Mfr0KV2XjIlUOcGWXQUdVQ==} engines: {node: '>=16.0.0'} - '@smithy/util-stream@3.3.1': - resolution: {integrity: sha512-Ff68R5lJh2zj+AUTvbAU/4yx+6QPRzg7+pI7M1FbtQHcRIp7xvguxVsQBKyB3fwiOwhAKu0lnNyYBaQfSW6TNw==} + '@smithy/util-stream@3.3.2': + resolution: {integrity: sha512-sInAqdiVeisUGYAv/FrXpmJ0b4WTFmciTRqzhb7wVuem9BHvhIG7tpiYHLDWrl2stOokNZpTTGqz3mzB2qFwXg==} engines: {node: '>=16.0.0'} '@smithy/util-uri-escape@3.0.0': @@ -3523,13 +3535,16 @@ packages: resolution: {integrity: sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==} engines: {node: '>=16.0.0'} - '@smithy/util-waiter@3.1.9': - resolution: {integrity: sha512-/aMXPANhMOlMPjfPtSrDfPeVP8l56SJlz93xeiLmhLe5xvlXA5T3abZ2ilEsDEPeY9T/wnN/vNGn9wa1SbufWA==} + '@smithy/util-waiter@3.2.0': + resolution: {integrity: sha512-PpjSboaDUE6yl+1qlg3Si57++e84oXdWGbuFUSAciXsVfEZJJJupR2Nb0QuXHiunt2vGR+1PTizOMvnUPaG2Qg==} engines: {node: '>=16.0.0'} '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} + '@solidity-parser/parser@0.14.5': + resolution: {integrity: sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==} + '@solidity-parser/parser@0.19.0': resolution: {integrity: sha512-RV16k/qIxW/wWc+mLzV3ARyKUaMUTBy9tOLMzFhtNSKYeTAanQ3a5MudJKf/8arIFnA2L27SNjarQKmFg0w/jA==} @@ -3595,19 +3610,19 @@ packages: resolution: {integrity: sha512-62z1qXIILvjdkQyMTVPFQedHOc6kQgunz9GHV9jSy2z1ixsDqyI9GxNj3AWx8Ucmhjwd5/P+v3XN10bsb+FzRA==} engines: {node: '>=12'} - '@tanstack/query-core@5.62.2': - resolution: {integrity: sha512-LcwVcC5qpsDpHcqlXUUL5o9SaOBwhNkGeV+B06s0GBoyBr8FqXPuXT29XzYXR36lchhnerp6XO+CWc84/vh7Zg==} + '@tanstack/query-core@5.62.3': + resolution: {integrity: sha512-Jp/nYoz8cnO7kqhOlSv8ke/0MJRJVGuZ0P/JO9KQ+f45mpN90hrerzavyTKeSoT/pOzeoOUkv1Xd0wPsxAWXfg==} - '@tanstack/react-query@5.62.2': - resolution: {integrity: sha512-fkTpKKfwTJtVPKVR+ag7YqFgG/7TRVVPzduPAUF9zRCiiA8Wu305u+KJl8rCrh98Qce77vzIakvtUyzWLtaPGA==} + '@tanstack/react-query@5.62.3': + resolution: {integrity: sha512-y2zDNKuhgiuMgsKkqd4AcsLIBiCfEO8U11AdrtAUihmLbRNztPrlcZqx2lH1GacZsx+y1qRRbCcJLYTtF1vKsw==} peerDependencies: react: ^18 || ^19 - '@tanstack/react-router@1.85.4': - resolution: {integrity: sha512-CmrgrMtIIVnXS/og5W3glP1noBlFSD3mRaBgP6nTEbkZZ25nN1s52C35dnsMNuAQayQsVJNlkuSNZv3elfrBmA==} + '@tanstack/react-router@1.87.1': + resolution: {integrity: sha512-LqpP235wfHJQl1LmjfoII4xll29IOjmFFp1i3G/k1zIffjdmsEshmsAJozPxgsJEe6M8r34mlG7IBvfmYmXK6w==} engines: {node: '>=12'} peerDependencies: - '@tanstack/router-generator': 1.85.3 + '@tanstack/router-generator': ^1.86.0 react: '>=18' react-dom: '>=18' peerDependenciesMeta: @@ -3620,21 +3635,21 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tanstack/router-cli@1.85.3': - resolution: {integrity: sha512-xyEGUGJPO9xAdp2FsOZSVMWt49c5/wokz2RPDfRpcIvMNg+dGDaqk/f2JwXt8H20x5dpEmhLilOnpVdnvQxCYA==} + '@tanstack/router-cli@1.86.0': + resolution: {integrity: sha512-aA3RGiXnpk1zJ67pKKZ2bIDLpmj+xVOOCxCLGRwtniUoYv+8UU3ifjlbZ6VYo0dqHOVw5aAOe4gmlmDmu5O2YQ==} engines: {node: '>=12'} hasBin: true - '@tanstack/router-generator@1.85.3': - resolution: {integrity: sha512-ka3hO1EPgV4h2hhECUHi4PGyCCUoo70Masb1/idyL7zzkDX/OPZnRd7JxxyneuRGKJ+GI//YWevqjAemyYeg1A==} + '@tanstack/router-generator@1.86.0': + resolution: {integrity: sha512-6UrQmysjRNZZp1KnAR4aghqrHJKz+5TwGpq8w+kjVWj7ac6OLekqaWbF+LvfwRs03rLiRNxI9VYHmrSkCvIF+A==} engines: {node: '>=12'} - '@tanstack/router-plugin@1.85.3': - resolution: {integrity: sha512-se75j7NZ+I44dcbi6CayvWhfp0r/3pfqgHNYgEQ5BSSPTtXYDaZXxFm5eU6oNxej8IqkzEZS5CMSkq9iHRvaUA==} + '@tanstack/router-plugin@1.86.0': + resolution: {integrity: sha512-cKBgHBva1amOV+86AKP3DwIT9DYH9keF7GDjqhEMzLHgsTAtJ8IqEQk87xnGw9z55acQJGaVGkP6xuRCACy9eQ==} engines: {node: '>=12'} peerDependencies: '@rsbuild/core': '>=1.0.2' - vite: '>=5.0.0' + vite: '>=5.0.0 || >=6.0.0' webpack: '>=5.92.0' peerDependenciesMeta: '@rsbuild/core': @@ -3644,8 +3659,8 @@ packages: webpack: optional: true - '@tanstack/router-vite-plugin@1.85.3': - resolution: {integrity: sha512-61oadC00KhKtZIU+2vM9aPsC8dmPVPhJ5R01P3kqfYEMum/uZW52Ac+FQPThst3LkqjXuW/+bWPdc1HE1iZUjw==} + '@tanstack/router-vite-plugin@1.86.0': + resolution: {integrity: sha512-+3YjIIjy5RMppOPtBQqxQ28Ut684wNksGCaY9v/EmwWcADWqlR+WrRlO72qAN1JAb0vONChDqK56Db+d7h9VHA==} engines: {node: '>=12'} '@tanstack/store@0.6.0': @@ -3723,9 +3738,6 @@ packages: '@types/chai@4.3.20': resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==} - '@types/chai@5.0.1': - resolution: {integrity: sha512-5T8ajsg3M/FOncpLYW7sdOcD6yf4+722sze/tc4KQV0P8Z2rAr3SAuHCIkYmYpt8VbcQlnz8SxlOlPQYefe4cA==} - '@types/cli-progress@3.11.6': resolution: {integrity: sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA==} @@ -3741,9 +3753,6 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/deep-eql@4.0.2': - resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} - '@types/dns-packet@5.6.5': resolution: {integrity: sha512-qXOC7XLOEe43ehtWJCMnQXvgcIpv6rPmQ1jXT98Ad8A3TB1Ue50jsCbSSSyuazScEuZ/Q026vHbrOTVkmwA+7Q==} @@ -3837,17 +3846,17 @@ packages: '@types/prettier@2.7.3': resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - '@types/prop-types@15.7.13': - resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} + '@types/prop-types@15.7.14': + resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} '@types/qs@6.9.17': resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==} - '@types/react-dom@18.3.1': - resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==} + '@types/react-dom@18.3.2': + resolution: {integrity: sha512-Fqp+rcvem9wEnGr3RY8dYNvSQ8PoLqjZ9HLgaPUOjJJD120uDyOxOjc/39M4Kddp9JQCxpGQbnhVQF0C0ncYVg==} - '@types/react@18.3.12': - resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==} + '@types/react@18.3.14': + resolution: {integrity: sha512-NzahNKvjNhVjuPBQ+2G7WlxstQ+47kXZNHlUvFakDViuIEfGY926GqhMueQFZ7woG+sPiQKlF36XfrIUVSUfFg==} '@types/secp256k1@4.0.6': resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} @@ -3898,16 +3907,13 @@ packages: typescript: optional: true - '@typescript-eslint/eslint-plugin@8.17.0': - resolution: {integrity: sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==} + '@typescript-eslint/eslint-plugin@8.18.0': + resolution: {integrity: sha512-NR2yS7qUqCL7AIxdJUQf2MKKNDVNaig/dEB0GBLU7D+ZdHgK1NoH/3wsgO3OnPVipn51tG3MAwaODEGil70WEw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' '@typescript-eslint/parser@8.15.0': resolution: {integrity: sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A==} @@ -3919,15 +3925,12 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.17.0': - resolution: {integrity: sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==} + '@typescript-eslint/parser@8.18.0': + resolution: {integrity: sha512-hgUZ3kTEpVzKaK3uNibExUYm6SKKOmTU2BOxBSvOYwtJEPdVQ70kZJpPjstlnhCHcuc2WGfSbpKlb/69ttyN5Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' '@typescript-eslint/scope-manager@7.16.1': resolution: {integrity: sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==} @@ -3937,8 +3940,8 @@ packages: resolution: {integrity: sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.17.0': - resolution: {integrity: sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==} + '@typescript-eslint/scope-manager@8.18.0': + resolution: {integrity: sha512-PNGcHop0jkK2WVYGotk/hxj+UFLhXtGPiGtiaWgVBVP1jhMoMCHlTyJA+hEj4rszoSdLTK3fN4oOatrL0Cp+Xw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/type-utils@7.16.1': @@ -3961,15 +3964,12 @@ packages: typescript: optional: true - '@typescript-eslint/type-utils@8.17.0': - resolution: {integrity: sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==} + '@typescript-eslint/type-utils@8.18.0': + resolution: {integrity: sha512-er224jRepVAVLnMF2Q7MZJCq5CsdH2oqjP4dT7K6ij09Kyd+R21r7UVJrF0buMVdZS5QRhDzpvzAxHxabQadow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' '@typescript-eslint/types@7.16.1': resolution: {integrity: sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==} @@ -3979,8 +3979,8 @@ packages: resolution: {integrity: sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.17.0': - resolution: {integrity: sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==} + '@typescript-eslint/types@8.18.0': + resolution: {integrity: sha512-FNYxgyTCAnFwTrzpBGq+zrnoTO4x0c1CKYY5MuUTzpScqmY5fmsh2o3+57lqdI3NZucBDCzDgdEbIaNfAjAHQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@7.16.1': @@ -4001,14 +4001,11 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.17.0': - resolution: {integrity: sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==} + '@typescript-eslint/typescript-estree@8.18.0': + resolution: {integrity: sha512-rqQgFRu6yPkauz+ms3nQpohwejS8bvgbPyIDq13cgEDbkXt4LH4OkDMT0/fN1RUtzG8e8AKJyDBoocuQh8qNeg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' '@typescript-eslint/utils@7.16.1': resolution: {integrity: sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==} @@ -4026,15 +4023,12 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.17.0': - resolution: {integrity: sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==} + '@typescript-eslint/utils@8.18.0': + resolution: {integrity: sha512-p6GLdY383i7h5b0Qrfbix3Vc3+J2k6QWw6UMUeY5JGfm3C5LbZ4QIZzJNoNOfgyRe0uuYKjvVOsO/jD4SJO+xg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' '@typescript-eslint/visitor-keys@7.16.1': resolution: {integrity: sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==} @@ -4044,8 +4038,8 @@ packages: resolution: {integrity: sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.17.0': - resolution: {integrity: sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==} + '@typescript-eslint/visitor-keys@8.18.0': + resolution: {integrity: sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vitejs/plugin-react@4.3.4': @@ -4231,19 +4225,8 @@ packages: zod: optional: true - abitype@1.0.0: - resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.22.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - - abitype@1.0.6: - resolution: {integrity: sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==} + abitype@1.0.7: + resolution: {integrity: sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw==} peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.22.0 @@ -4275,6 +4258,9 @@ packages: resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} engines: {node: '>=0.3.0'} + aes-js@3.0.0: + resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} + aes-js@4.0.0-beta.5: resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} @@ -4311,6 +4297,10 @@ packages: resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} engines: {node: '>=0.10.0'} + ansi-regex@3.0.1: + resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} + engines: {node: '>=4'} + ansi-regex@4.1.1: resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} engines: {node: '>=6'} @@ -4346,6 +4336,9 @@ packages: resolution: {integrity: sha512-cFthbBlt+Oi0i9Pv/j6YdVWJh54CtjGACaMPCIrEV4Ha7HWsIjXDwseYV79TIL0B4+KfSwD5S70PeQDkPUd1rA==} engines: {node: '>=15'} + antlr4ts@0.5.0-alpha.4: + resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==} + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -4415,6 +4408,10 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + array-uniq@1.0.3: + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} + engines: {node: '>=0.10.0'} + array.prototype.findlast@1.2.5: resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} engines: {node: '>= 0.4'} @@ -4530,8 +4527,8 @@ packages: axios@0.26.1: resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} - axios@1.7.8: - resolution: {integrity: sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==} + axios@1.7.9: + resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} @@ -4612,6 +4609,9 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + bech32@1.1.4: + resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} + better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} @@ -4681,9 +4681,6 @@ packages: brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - brotli-wasm@2.0.1: - resolution: {integrity: sha512-+3USgYsC7bzb5yU0/p2HnnynZl0ak0E6uoIm4UW4Aby/8s8HFCq6NCfrrf1E9c3O8OCSzq3oYO1tUVqIi61Nww==} - browser-readablestream-to-it@1.0.3: resolution: {integrity: sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==} @@ -4783,8 +4780,12 @@ packages: resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} engines: {node: '>=14.16'} - call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + call-bind-apply-helpers@1.0.1: + resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} engines: {node: '>= 0.4'} callsites@3.1.0: @@ -4809,8 +4810,8 @@ packages: camelize@1.0.1: resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} - caniuse-lite@1.0.30001686: - resolution: {integrity: sha512-Y7deg0Aergpa24M3qLC5xjNklnKnhsmSyR/V89dLZ1n0ucJIFNs7PgR2Yfa/Zf6W79SbBicgtGxZr2juHkEUIA==} + caniuse-lite@1.0.30001687: + resolution: {integrity: sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==} capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -4834,8 +4835,8 @@ packages: resolution: {integrity: sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==} hasBin: true - cborg@4.2.6: - resolution: {integrity: sha512-77vo4KlSwfjCIXcyZUVei4l2gdjesSCeYSx4U/Upwix7pcWZq8uw21sVRpjwn7mjEi//ieJPTj1MRWDHmud1Rg==} + cborg@4.2.7: + resolution: {integrity: sha512-zHTUAm+HAoRLtGEQ1b28HXBm8d/5YP+7eiSKzEu/mpFkptGYaMQCHv15OiQBuyNlIgbCBXvBbZQPl3xvcZTJXg==} hasBin: true ccount@2.0.1: @@ -4979,14 +4980,14 @@ packages: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} + cli-table3@0.5.1: + resolution: {integrity: sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==} + engines: {node: '>=6'} + cli-table3@0.6.0: resolution: {integrity: sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==} engines: {node: 10.* || >= 12.*} - cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} - cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} @@ -5259,6 +5260,15 @@ packages: supports-color: optional: true + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} @@ -5448,6 +5458,10 @@ packages: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} + dunder-proto@1.0.0: + resolution: {integrity: sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==} + engines: {node: '>= 0.4'} + duplexify@4.1.3: resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} @@ -5472,8 +5486,8 @@ packages: resolution: {integrity: sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==} engines: {node: '>=6'} - electron-to-chromium@1.5.68: - resolution: {integrity: sha512-FgMdJlma0OzUYlbrtZ4AeXjKxKPk6KT8WOP8BjcqxWtlg8qyJQjRzPJzUtUn5GBg1oQ26hFs7HOOHJMYiJRnvQ==} + electron-to-chromium@1.5.71: + resolution: {integrity: sha512-dB68l59BI75W1BUGVTAEJy45CEVuEGy9qPVVQ8pnHyHMn36PLPPoE1mjLH+lo9rKulO3HC2OhbACI/8tCqJBcA==} elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} @@ -5535,8 +5549,8 @@ packages: resolution: {integrity: sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==} engines: {node: '>= 0.4'} - es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} es-errors@1.3.0: @@ -5758,6 +5772,12 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + eslint-plugin-react-hooks@5.1.0: + resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + eslint-plugin-react-refresh@0.4.16: resolution: {integrity: sha512-slterMlxAhov/DZO8NScf6mEeMBBXodFUolijDvrtTxyezyLoTQaa73FyYus/VbTdftd8wBgBxPMRk3poleXNQ==} peerDependencies: @@ -5888,6 +5908,14 @@ packages: resolution: {integrity: sha512-8YdplnuE1IK4xfqpf4iU7oBxnOYAc35934o083G8ao+8WM8QQtt/mVlAY6yIAdY1eMeLqg4Z//PZjJGmWGPMRg==} engines: {node: '>=14.0.0'} + eth-gas-reporter@0.2.27: + resolution: {integrity: sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==} + peerDependencies: + '@codechecks/client': ^0.1.0 + peerDependenciesMeta: + '@codechecks/client': + optional: true + eth-json-rpc-filters@6.0.1: resolution: {integrity: sha512-ITJTvqoCw6OVMLs7pI8f4gG92n/St6x80ACtHodeS+IXmO0w+t1T5OOzfSt7KLSMLRkVUoexV7tztLgDxg+iig==} engines: {node: '>=14.0.0'} @@ -5921,6 +5949,9 @@ packages: resolution: {integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==} engines: {node: '>=10.0.0'} + ethers@5.7.2: + resolution: {integrity: sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==} + ethers@6.13.4: resolution: {integrity: sha512-21YtnZVg4/zKkCQPjrDj38B1r4nQvTZLopUGMLQ1ePU2zV/joCfDC3t3iKQjWRzjjjbzR+mdAIoikeBRNkdllA==} engines: {node: '>=14.0.0'} @@ -6159,6 +6190,9 @@ packages: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} + fs-readdir-recursive@1.1.0: + resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -6191,8 +6225,8 @@ packages: get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + get-intrinsic@1.2.5: + resolution: {integrity: sha512-Y4+pKa7XeRUPWFNvOOYHkRYrfzW07oraURSvjDmRVOJ748OrVmeXtpE4+GCEHncjCjkTxPNRt8kEbxDhsn6VTg==} engines: {node: '>= 0.4'} get-iterator@1.0.2: @@ -6328,8 +6362,8 @@ packages: resolution: {integrity: sha512-jSUM5xUy2ztYFQANne17OUm/oAd7qSX7EBksS9bQDt9UvLPqcEkeWUebmaposb8Tx7eTTD8uJVWGRe6PYSsYkg==} hasBin: true - gopd@1.1.0: - resolution: {integrity: sha512-FQoVQnqcdk4hVM4JN1eromaun4iuS34oStkdlLENLdpULsuQcTyXj8w7ayhuUfPwEYZ1ZOooOTT6fdA9Vmx/RA==} + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} got@13.0.0: @@ -6372,10 +6406,10 @@ packages: engines: {node: '>=0.4.7'} hasBin: true - hardhat-gas-reporter@2.2.2: - resolution: {integrity: sha512-xlg3d00wrgUvP2S5tw3Zf6nO7OyS5crK3P6/ZP69i24pz4grM+6oFHGW/eJPSGqiDWBYX+gKp9XoqP4rwRXrdQ==} + hardhat-gas-reporter@1.0.10: + resolution: {integrity: sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==} peerDependencies: - hardhat: ^2.16.0 + hardhat: ^2.0.2 hardhat@2.22.17: resolution: {integrity: sha512-tDlI475ccz4d/dajnADUTRc1OJ3H8fpP9sWhXhBPpYsQOg8JHq5xrDimo53UhWPl7KJmAeDCm1bFG74xvpGRpg==} @@ -6411,8 +6445,8 @@ packages: has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.1.0: - resolution: {integrity: sha512-QLdzI9IIO1Jg7f9GT1gXpPpXArAn6cS31R1eEZqz08Gc+uQ8/XiqHWt17Fiw+2p6oTTIq5GXEpQkAlA88YRl/Q==} + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} engines: {node: '>= 0.4'} has-symbols@1.1.0: @@ -6544,9 +6578,6 @@ packages: immer@10.0.2: resolution: {integrity: sha512-Rx3CqeqQ19sxUtYV9CU911Vhy8/721wRFnJv3REVGWUmoAcIwzifTsdmJte/MV+0/XpM35LZdQMBGkRIoLPwQA==} - immer@10.1.1: - resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} - immutable@4.2.1: resolution: {integrity: sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==} @@ -6738,6 +6769,10 @@ packages: resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==} engines: {node: '>=0.10.0'} + is-fullwidth-code-point@2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -6909,11 +6944,6 @@ packages: peerDependencies: ws: '*' - isows@1.0.3: - resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} - peerDependencies: - ws: '*' - isows@1.0.6: resolution: {integrity: sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==} peerDependencies: @@ -7138,10 +7168,6 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -7297,8 +7323,8 @@ packages: make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - markdown-table@2.0.0: - resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} + markdown-table@1.1.3: + resolution: {integrity: sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==} matchstick-as@0.6.0: resolution: {integrity: sha512-E36fWsC1AbCkBFt05VsDDRoFvGSdcZg6oZJrtIe/YDBbuFh8SKbR5FcoqDhNWqSN+F7bN/iS2u8Md0SM+4pUpw==} @@ -7558,8 +7584,8 @@ packages: engines: {node: '>= 14.0.0'} hasBin: true - monaco-editor@0.52.0: - resolution: {integrity: sha512-OeWhNpABLCeTqubfqLMXGsqf6OmPU6pHM85kF3dhy6kq5hnhuVS1p3VrEW/XhWHc71P2tHyS5JFySD8mgs1crw==} + monaco-editor@0.52.2: + resolution: {integrity: sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==} motion@10.16.2: resolution: {integrity: sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==} @@ -7941,8 +7967,8 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - package-manager-detector@0.2.6: - resolution: {integrity: sha512-9vPH3qooBlYRJdmdYP00nvjZOulm40r5dhtal8st18ctf+6S1k7pi5yIHLvI4w5D70x0Y+xdVD9qITH0QO/A8A==} + package-manager-detector@0.2.7: + resolution: {integrity: sha512-g4+387DXDKlZzHkP+9FLt8yKj8+/3tOkPv7DVTJGGRm00RkEWgqbFstX1mXJ4M0VDYhUqsTOiISqNOJnhAu3PQ==} pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} @@ -8327,8 +8353,8 @@ packages: peerDependencies: react: '>= 16.8 || 18.0.0' - react-hook-form@7.53.2: - resolution: {integrity: sha512-YVel6fW5sOeedd1524pltpHX+jgU2u3DSDtXEaBORNdqiNrsX/nUI/iGXONegttg0mJVnfrIkiV0cmTU6Oo2xw==} + react-hook-form@7.54.0: + resolution: {integrity: sha512-PS05+UQy/IdSbJNojBypxAo9wllhHgGmyr8/dyGQcPoiMf3e7Dfb9PWYVRco55bLbxH9S+1yDDJeTdlYCSxO3A==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 @@ -8336,9 +8362,6 @@ packages: react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - react-native-fetch-api@3.0.0: resolution: {integrity: sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==} @@ -8455,8 +8478,8 @@ packages: resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - reflect.getprototypeof@1.0.7: - resolution: {integrity: sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==} + reflect.getprototypeof@1.0.8: + resolution: {integrity: sha512-B5dj6usc5dkk8uFliwjwDHM8To5/QwdKz9JcBZ8Ic4G1f0YmeeJTtE/ZTdgRFPAfxZFiUaPhZ1Jcs4qeagItGQ==} engines: {node: '>= 0.4'} regenerate-unicode-properties@10.2.0: @@ -8518,14 +8541,18 @@ packages: remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - repeating@2.0.1: resolution: {integrity: sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==} engines: {node: '>=0.10.0'} + req-cwd@2.0.0: + resolution: {integrity: sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==} + engines: {node: '>=4'} + + req-from@2.0.0: + resolution: {integrity: sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==} + engines: {node: '>=4'} + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -8543,6 +8570,10 @@ packages: resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + resolve-from@3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -8613,8 +8644,8 @@ packages: resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} hasBin: true - rollup@4.28.0: - resolution: {integrity: sha512-G9GOrmgWHBma4YfCcX8PjH0qhXSdH8B4HDE2o4/jaxj93S4DPCIDoLcXz99eWMji4hB29UFCEd7B2gwGJDR9cQ==} + rollup@4.28.1: + resolution: {integrity: sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -8906,6 +8937,10 @@ packages: string-format@2.0.0: resolution: {integrity: sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==} + string-width@2.1.1: + resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} + engines: {node: '>=4'} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -8956,6 +8991,10 @@ packages: resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} engines: {node: '>=0.10.0'} + strip-ansi@4.0.0: + resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} + engines: {node: '>=4'} + strip-ansi@5.2.0: resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} engines: {node: '>=6'} @@ -9086,8 +9125,8 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders' - tailwindcss@3.4.15: - resolution: {integrity: sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw==} + tailwindcss@3.4.16: + resolution: {integrity: sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==} engines: {node: '>=14.0.0'} hasBin: true @@ -9110,11 +9149,6 @@ packages: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} - terser@5.36.0: - resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==} - engines: {node: '>=10'} - hasBin: true - then-request@6.0.2: resolution: {integrity: sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==} engines: {node: '>=6.0.0'} @@ -9402,10 +9436,6 @@ packages: resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} - undici@7.0.0: - resolution: {integrity: sha512-c4xi3kWnQJrb7h2q8aJYKvUzmz7boCgz1cUCC6OwdeM5Tr2P0hDuthr2iut4ggqsz+Cnh20U/LoTzbKIdDS/Nw==} - engines: {node: '>=20.18.1'} - unenv@1.10.0: resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} @@ -9573,10 +9603,10 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 - use-sync-external-store@1.2.2: - resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} + use-sync-external-store@1.4.0: + resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 utf-8-validate@5.0.10: resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} @@ -9644,16 +9674,8 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - viem@2.21.53: - resolution: {integrity: sha512-0pY8clBacAwzc59iV1vY4a6U4xvRlA5tAuhClJCKvqA6rXJzmNMMvxQ0EG79lkHr7WtBEruXz8nAmONXwnq4EQ==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true - - viem@2.7.14: - resolution: {integrity: sha512-5b1KB1gXli02GOQHZIUsRluNUwssl2t4hqdFAzyWPwJ744N83jAOBOjOkrGz7K3qMIv9b0GQt3DoZIErSQTPkQ==} + viem@2.21.54: + resolution: {integrity: sha512-G9mmtbua3UtnVY9BqAtWdNp+3AO+oWhD0B9KaEsZb6gcrOWgmA4rz02yqEMg+qW9m6KgKGie7q3zcHqJIw6AqA==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -9701,8 +9723,8 @@ packages: terser: optional: true - vite@6.0.2: - resolution: {integrity: sha512-XdQ+VsY2tJpBsKGs0wf3U/+azx8BBpYRHFAyKm5VeEZNOJZRB63q7Sc8Iup3k0TrN3KO6QgyzFf+opSbfY1y0g==} + vite@6.0.3: + resolution: {integrity: sha512-Cmuo5P0ENTN6HxLSo6IHsjCLn/81Vgrp81oaiFFMRa8gGDj5xEjIcEpf2ZymZtZR8oU0P2JX5WuUp/rlXcHkAw==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -9779,8 +9801,8 @@ packages: resolution: {integrity: sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg==} hasBin: true - wagmi@2.13.3: - resolution: {integrity: sha512-EBtrWUtmSpr7YYkPE1aokXiMn8EF+8kaNJAXtQ0UUSKlOLEbrsDtaiO3mEOOpFQtRXd2UUI2teMnIThCOk71kQ==} + wagmi@2.13.5: + resolution: {integrity: sha512-jeW6UFIcmMJjtcFF3K18X7xYzwmR/fxs4sGxKFSCqyY90zoOQ6jorwnv/PwCaJnzHyBBtSlWILvPqU/D9MEWCA==} peerDependencies: '@tanstack/react-query': '>=5.0.0' react: '>=18' @@ -9936,8 +9958,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@7.5.10: - resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + ws@7.4.6: + resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 @@ -9948,12 +9970,12 @@ packages: utf-8-validate: optional: true - ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} - engines: {node: '>=10.0.0'} + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' + utf-8-validate: ^5.0.2 peerDependenciesMeta: bufferutil: optional: true @@ -10084,7 +10106,7 @@ packages: snapshots: - '@0no-co/graphql.web@1.0.11(graphql@16.9.0)': + '@0no-co/graphql.web@1.0.12(graphql@16.9.0)': optionalDependencies: graphql: 16.9.0 @@ -10094,8 +10116,6 @@ snapshots: graphql: 16.9.0 typescript: 5.7.2 - '@adraffy/ens-normalize@1.10.0': {} - '@adraffy/ens-normalize@1.10.1': {} '@adraffy/ens-normalize@1.11.0': {} @@ -10172,38 +10192,38 @@ snapshots: '@aws-sdk/util-user-agent-browser': 3.696.0 '@aws-sdk/util-user-agent-node': 3.696.0 '@aws-sdk/xml-builder': 3.696.0 - '@smithy/config-resolver': 3.0.12 - '@smithy/core': 2.5.4 - '@smithy/fetch-http-handler': 4.1.1 - '@smithy/hash-node': 3.0.10 - '@smithy/invalid-dependency': 3.0.10 - '@smithy/middleware-content-length': 3.0.12 - '@smithy/middleware-endpoint': 3.2.4 - '@smithy/middleware-retry': 3.0.28 - '@smithy/middleware-serde': 3.0.10 - '@smithy/middleware-stack': 3.0.10 - '@smithy/node-config-provider': 3.1.11 - '@smithy/node-http-handler': 3.3.1 - '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.5 - '@smithy/types': 3.7.1 - '@smithy/url-parser': 3.0.10 + '@smithy/config-resolver': 3.0.13 + '@smithy/core': 2.5.5 + '@smithy/fetch-http-handler': 4.1.2 + '@smithy/hash-node': 3.0.11 + '@smithy/invalid-dependency': 3.0.11 + '@smithy/middleware-content-length': 3.0.13 + '@smithy/middleware-endpoint': 3.2.5 + '@smithy/middleware-retry': 3.0.29 + '@smithy/middleware-serde': 3.0.11 + '@smithy/middleware-stack': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/node-http-handler': 3.3.2 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.4.6 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.28 - '@smithy/util-defaults-mode-node': 3.0.28 - '@smithy/util-endpoints': 2.1.6 - '@smithy/util-middleware': 3.0.10 - '@smithy/util-retry': 3.0.10 - '@smithy/util-stream': 3.3.1 + '@smithy/util-defaults-mode-browser': 3.0.29 + '@smithy/util-defaults-mode-node': 3.0.29 + '@smithy/util-endpoints': 2.1.7 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 + '@smithy/util-stream': 3.3.2 '@smithy/util-utf8': 3.0.0 - '@smithy/util-waiter': 3.1.9 + '@smithy/util-waiter': 3.2.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-s3@3.703.0': + '@aws-sdk/client-s3@3.705.0': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 @@ -10229,39 +10249,39 @@ snapshots: '@aws-sdk/util-user-agent-browser': 3.696.0 '@aws-sdk/util-user-agent-node': 3.696.0 '@aws-sdk/xml-builder': 3.696.0 - '@smithy/config-resolver': 3.0.12 - '@smithy/core': 2.5.4 - '@smithy/eventstream-serde-browser': 3.0.13 - '@smithy/eventstream-serde-config-resolver': 3.0.10 - '@smithy/eventstream-serde-node': 3.0.12 - '@smithy/fetch-http-handler': 4.1.1 - '@smithy/hash-blob-browser': 3.1.9 - '@smithy/hash-node': 3.0.10 - '@smithy/hash-stream-node': 3.1.9 - '@smithy/invalid-dependency': 3.0.10 - '@smithy/md5-js': 3.0.10 - '@smithy/middleware-content-length': 3.0.12 - '@smithy/middleware-endpoint': 3.2.4 - '@smithy/middleware-retry': 3.0.28 - '@smithy/middleware-serde': 3.0.10 - '@smithy/middleware-stack': 3.0.10 - '@smithy/node-config-provider': 3.1.11 - '@smithy/node-http-handler': 3.3.1 - '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.5 - '@smithy/types': 3.7.1 - '@smithy/url-parser': 3.0.10 + '@smithy/config-resolver': 3.0.13 + '@smithy/core': 2.5.5 + '@smithy/eventstream-serde-browser': 3.0.14 + '@smithy/eventstream-serde-config-resolver': 3.0.11 + '@smithy/eventstream-serde-node': 3.0.13 + '@smithy/fetch-http-handler': 4.1.2 + '@smithy/hash-blob-browser': 3.1.10 + '@smithy/hash-node': 3.0.11 + '@smithy/hash-stream-node': 3.1.10 + '@smithy/invalid-dependency': 3.0.11 + '@smithy/md5-js': 3.0.11 + '@smithy/middleware-content-length': 3.0.13 + '@smithy/middleware-endpoint': 3.2.5 + '@smithy/middleware-retry': 3.0.29 + '@smithy/middleware-serde': 3.0.11 + '@smithy/middleware-stack': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/node-http-handler': 3.3.2 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.4.6 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.28 - '@smithy/util-defaults-mode-node': 3.0.28 - '@smithy/util-endpoints': 2.1.6 - '@smithy/util-middleware': 3.0.10 - '@smithy/util-retry': 3.0.10 - '@smithy/util-stream': 3.3.1 + '@smithy/util-defaults-mode-browser': 3.0.29 + '@smithy/util-defaults-mode-node': 3.0.29 + '@smithy/util-endpoints': 2.1.7 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 + '@smithy/util-stream': 3.3.2 '@smithy/util-utf8': 3.0.0 - '@smithy/util-waiter': 3.1.9 + '@smithy/util-waiter': 3.2.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -10282,30 +10302,30 @@ snapshots: '@aws-sdk/util-endpoints': 3.696.0 '@aws-sdk/util-user-agent-browser': 3.696.0 '@aws-sdk/util-user-agent-node': 3.696.0 - '@smithy/config-resolver': 3.0.12 - '@smithy/core': 2.5.4 - '@smithy/fetch-http-handler': 4.1.1 - '@smithy/hash-node': 3.0.10 - '@smithy/invalid-dependency': 3.0.10 - '@smithy/middleware-content-length': 3.0.12 - '@smithy/middleware-endpoint': 3.2.4 - '@smithy/middleware-retry': 3.0.28 - '@smithy/middleware-serde': 3.0.10 - '@smithy/middleware-stack': 3.0.10 - '@smithy/node-config-provider': 3.1.11 - '@smithy/node-http-handler': 3.3.1 - '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.5 - '@smithy/types': 3.7.1 - '@smithy/url-parser': 3.0.10 + '@smithy/config-resolver': 3.0.13 + '@smithy/core': 2.5.5 + '@smithy/fetch-http-handler': 4.1.2 + '@smithy/hash-node': 3.0.11 + '@smithy/invalid-dependency': 3.0.11 + '@smithy/middleware-content-length': 3.0.13 + '@smithy/middleware-endpoint': 3.2.5 + '@smithy/middleware-retry': 3.0.29 + '@smithy/middleware-serde': 3.0.11 + '@smithy/middleware-stack': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/node-http-handler': 3.3.2 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.4.6 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.28 - '@smithy/util-defaults-mode-node': 3.0.28 - '@smithy/util-endpoints': 2.1.6 - '@smithy/util-middleware': 3.0.10 - '@smithy/util-retry': 3.0.10 + '@smithy/util-defaults-mode-browser': 3.0.29 + '@smithy/util-defaults-mode-node': 3.0.29 + '@smithy/util-endpoints': 2.1.7 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 transitivePeerDependencies: @@ -10325,30 +10345,30 @@ snapshots: '@aws-sdk/util-endpoints': 3.696.0 '@aws-sdk/util-user-agent-browser': 3.696.0 '@aws-sdk/util-user-agent-node': 3.696.0 - '@smithy/config-resolver': 3.0.12 - '@smithy/core': 2.5.4 - '@smithy/fetch-http-handler': 4.1.1 - '@smithy/hash-node': 3.0.10 - '@smithy/invalid-dependency': 3.0.10 - '@smithy/middleware-content-length': 3.0.12 - '@smithy/middleware-endpoint': 3.2.4 - '@smithy/middleware-retry': 3.0.28 - '@smithy/middleware-serde': 3.0.10 - '@smithy/middleware-stack': 3.0.10 - '@smithy/node-config-provider': 3.1.11 - '@smithy/node-http-handler': 3.3.1 - '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.5 - '@smithy/types': 3.7.1 - '@smithy/url-parser': 3.0.10 + '@smithy/config-resolver': 3.0.13 + '@smithy/core': 2.5.5 + '@smithy/fetch-http-handler': 4.1.2 + '@smithy/hash-node': 3.0.11 + '@smithy/invalid-dependency': 3.0.11 + '@smithy/middleware-content-length': 3.0.13 + '@smithy/middleware-endpoint': 3.2.5 + '@smithy/middleware-retry': 3.0.29 + '@smithy/middleware-serde': 3.0.11 + '@smithy/middleware-stack': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/node-http-handler': 3.3.2 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.4.6 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.28 - '@smithy/util-defaults-mode-node': 3.0.28 - '@smithy/util-endpoints': 2.1.6 - '@smithy/util-middleware': 3.0.10 - '@smithy/util-retry': 3.0.10 + '@smithy/util-defaults-mode-browser': 3.0.29 + '@smithy/util-defaults-mode-node': 3.0.29 + '@smithy/util-endpoints': 2.1.7 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 transitivePeerDependencies: @@ -10370,30 +10390,30 @@ snapshots: '@aws-sdk/util-endpoints': 3.696.0 '@aws-sdk/util-user-agent-browser': 3.696.0 '@aws-sdk/util-user-agent-node': 3.696.0 - '@smithy/config-resolver': 3.0.12 - '@smithy/core': 2.5.4 - '@smithy/fetch-http-handler': 4.1.1 - '@smithy/hash-node': 3.0.10 - '@smithy/invalid-dependency': 3.0.10 - '@smithy/middleware-content-length': 3.0.12 - '@smithy/middleware-endpoint': 3.2.4 - '@smithy/middleware-retry': 3.0.28 - '@smithy/middleware-serde': 3.0.10 - '@smithy/middleware-stack': 3.0.10 - '@smithy/node-config-provider': 3.1.11 - '@smithy/node-http-handler': 3.3.1 - '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.5 - '@smithy/types': 3.7.1 - '@smithy/url-parser': 3.0.10 + '@smithy/config-resolver': 3.0.13 + '@smithy/core': 2.5.5 + '@smithy/fetch-http-handler': 4.1.2 + '@smithy/hash-node': 3.0.11 + '@smithy/invalid-dependency': 3.0.11 + '@smithy/middleware-content-length': 3.0.13 + '@smithy/middleware-endpoint': 3.2.5 + '@smithy/middleware-retry': 3.0.29 + '@smithy/middleware-serde': 3.0.11 + '@smithy/middleware-stack': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/node-http-handler': 3.3.2 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.4.6 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.28 - '@smithy/util-defaults-mode-node': 3.0.28 - '@smithy/util-endpoints': 2.1.6 - '@smithy/util-middleware': 3.0.10 - '@smithy/util-retry': 3.0.10 + '@smithy/util-defaults-mode-browser': 3.0.29 + '@smithy/util-defaults-mode-node': 3.0.29 + '@smithy/util-endpoints': 2.1.7 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 transitivePeerDependencies: @@ -10402,14 +10422,14 @@ snapshots: '@aws-sdk/core@3.696.0': dependencies: '@aws-sdk/types': 3.696.0 - '@smithy/core': 2.5.4 - '@smithy/node-config-provider': 3.1.11 - '@smithy/property-provider': 3.1.10 - '@smithy/protocol-http': 4.1.7 - '@smithy/signature-v4': 4.2.3 - '@smithy/smithy-client': 3.4.5 - '@smithy/types': 3.7.1 - '@smithy/util-middleware': 3.0.10 + '@smithy/core': 2.5.5 + '@smithy/node-config-provider': 3.1.12 + '@smithy/property-provider': 3.1.11 + '@smithy/protocol-http': 4.1.8 + '@smithy/signature-v4': 4.2.4 + '@smithy/smithy-client': 3.4.6 + '@smithy/types': 3.7.2 + '@smithy/util-middleware': 3.0.11 fast-xml-parser: 4.4.1 tslib: 2.8.1 @@ -10417,21 +10437,21 @@ snapshots: dependencies: '@aws-sdk/core': 3.696.0 '@aws-sdk/types': 3.696.0 - '@smithy/property-provider': 3.1.10 - '@smithy/types': 3.7.1 + '@smithy/property-provider': 3.1.11 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@aws-sdk/credential-provider-http@3.696.0': dependencies: '@aws-sdk/core': 3.696.0 '@aws-sdk/types': 3.696.0 - '@smithy/fetch-http-handler': 4.1.1 - '@smithy/node-http-handler': 3.3.1 - '@smithy/property-provider': 3.1.10 - '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.5 - '@smithy/types': 3.7.1 - '@smithy/util-stream': 3.3.1 + '@smithy/fetch-http-handler': 4.1.2 + '@smithy/node-http-handler': 3.3.2 + '@smithy/property-provider': 3.1.11 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.4.6 + '@smithy/types': 3.7.2 + '@smithy/util-stream': 3.3.2 tslib: 2.8.1 '@aws-sdk/credential-provider-ini@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0)': @@ -10444,10 +10464,10 @@ snapshots: '@aws-sdk/credential-provider-sso': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) '@aws-sdk/credential-provider-web-identity': 3.696.0(@aws-sdk/client-sts@3.699.0) '@aws-sdk/types': 3.696.0 - '@smithy/credential-provider-imds': 3.2.7 - '@smithy/property-provider': 3.1.10 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 + '@smithy/credential-provider-imds': 3.2.8 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 tslib: 2.8.1 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' @@ -10462,10 +10482,10 @@ snapshots: '@aws-sdk/credential-provider-sso': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) '@aws-sdk/credential-provider-web-identity': 3.696.0(@aws-sdk/client-sts@3.699.0) '@aws-sdk/types': 3.696.0 - '@smithy/credential-provider-imds': 3.2.7 - '@smithy/property-provider': 3.1.10 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 + '@smithy/credential-provider-imds': 3.2.8 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 tslib: 2.8.1 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' @@ -10476,9 +10496,9 @@ snapshots: dependencies: '@aws-sdk/core': 3.696.0 '@aws-sdk/types': 3.696.0 - '@smithy/property-provider': 3.1.10 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@aws-sdk/credential-provider-sso@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))': @@ -10487,9 +10507,9 @@ snapshots: '@aws-sdk/core': 3.696.0 '@aws-sdk/token-providers': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) '@aws-sdk/types': 3.696.0 - '@smithy/property-provider': 3.1.10 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 tslib: 2.8.1 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' @@ -10500,25 +10520,25 @@ snapshots: '@aws-sdk/client-sts': 3.699.0 '@aws-sdk/core': 3.696.0 '@aws-sdk/types': 3.696.0 - '@smithy/property-provider': 3.1.10 - '@smithy/types': 3.7.1 + '@smithy/property-provider': 3.1.11 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@aws-sdk/middleware-bucket-endpoint@3.696.0': dependencies: '@aws-sdk/types': 3.696.0 '@aws-sdk/util-arn-parser': 3.693.0 - '@smithy/node-config-provider': 3.1.11 - '@smithy/protocol-http': 4.1.7 - '@smithy/types': 3.7.1 + '@smithy/node-config-provider': 3.1.12 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 '@smithy/util-config-provider': 3.0.0 tslib: 2.8.1 '@aws-sdk/middleware-expect-continue@3.696.0': dependencies: '@aws-sdk/types': 3.696.0 - '@smithy/protocol-http': 4.1.7 - '@smithy/types': 3.7.1 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@aws-sdk/middleware-flexible-checksums@3.701.0': @@ -10529,38 +10549,38 @@ snapshots: '@aws-sdk/core': 3.696.0 '@aws-sdk/types': 3.696.0 '@smithy/is-array-buffer': 3.0.0 - '@smithy/node-config-provider': 3.1.11 - '@smithy/protocol-http': 4.1.7 - '@smithy/types': 3.7.1 - '@smithy/util-middleware': 3.0.10 - '@smithy/util-stream': 3.3.1 + '@smithy/node-config-provider': 3.1.12 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-stream': 3.3.2 '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 '@aws-sdk/middleware-host-header@3.696.0': dependencies: '@aws-sdk/types': 3.696.0 - '@smithy/protocol-http': 4.1.7 - '@smithy/types': 3.7.1 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@aws-sdk/middleware-location-constraint@3.696.0': dependencies: '@aws-sdk/types': 3.696.0 - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@aws-sdk/middleware-logger@3.696.0': dependencies: '@aws-sdk/types': 3.696.0 - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@aws-sdk/middleware-recursion-detection@3.696.0': dependencies: '@aws-sdk/types': 3.696.0 - '@smithy/protocol-http': 4.1.7 - '@smithy/types': 3.7.1 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@aws-sdk/middleware-sdk-s3@3.696.0': @@ -10568,22 +10588,22 @@ snapshots: '@aws-sdk/core': 3.696.0 '@aws-sdk/types': 3.696.0 '@aws-sdk/util-arn-parser': 3.693.0 - '@smithy/core': 2.5.4 - '@smithy/node-config-provider': 3.1.11 - '@smithy/protocol-http': 4.1.7 - '@smithy/signature-v4': 4.2.3 - '@smithy/smithy-client': 3.4.5 - '@smithy/types': 3.7.1 + '@smithy/core': 2.5.5 + '@smithy/node-config-provider': 3.1.12 + '@smithy/protocol-http': 4.1.8 + '@smithy/signature-v4': 4.2.4 + '@smithy/smithy-client': 3.4.6 + '@smithy/types': 3.7.2 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.10 - '@smithy/util-stream': 3.3.1 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-stream': 3.3.2 '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 '@aws-sdk/middleware-ssec@3.696.0': dependencies: '@aws-sdk/types': 3.696.0 - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@aws-sdk/middleware-user-agent@3.696.0': @@ -10591,41 +10611,41 @@ snapshots: '@aws-sdk/core': 3.696.0 '@aws-sdk/types': 3.696.0 '@aws-sdk/util-endpoints': 3.696.0 - '@smithy/core': 2.5.4 - '@smithy/protocol-http': 4.1.7 - '@smithy/types': 3.7.1 + '@smithy/core': 2.5.5 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@aws-sdk/region-config-resolver@3.696.0': dependencies: '@aws-sdk/types': 3.696.0 - '@smithy/node-config-provider': 3.1.11 - '@smithy/types': 3.7.1 + '@smithy/node-config-provider': 3.1.12 + '@smithy/types': 3.7.2 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.10 + '@smithy/util-middleware': 3.0.11 tslib: 2.8.1 '@aws-sdk/signature-v4-multi-region@3.696.0': dependencies: '@aws-sdk/middleware-sdk-s3': 3.696.0 '@aws-sdk/types': 3.696.0 - '@smithy/protocol-http': 4.1.7 - '@smithy/signature-v4': 4.2.3 - '@smithy/types': 3.7.1 + '@smithy/protocol-http': 4.1.8 + '@smithy/signature-v4': 4.2.4 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@aws-sdk/token-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))': dependencies: '@aws-sdk/client-sso-oidc': 3.699.0(@aws-sdk/client-sts@3.699.0) '@aws-sdk/types': 3.696.0 - '@smithy/property-provider': 3.1.10 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@aws-sdk/types@3.696.0': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@aws-sdk/util-arn-parser@3.693.0': @@ -10635,8 +10655,8 @@ snapshots: '@aws-sdk/util-endpoints@3.696.0': dependencies: '@aws-sdk/types': 3.696.0 - '@smithy/types': 3.7.1 - '@smithy/util-endpoints': 2.1.6 + '@smithy/types': 3.7.2 + '@smithy/util-endpoints': 2.1.7 tslib: 2.8.1 '@aws-sdk/util-locate-window@3.693.0': @@ -10646,7 +10666,7 @@ snapshots: '@aws-sdk/util-user-agent-browser@3.696.0': dependencies: '@aws-sdk/types': 3.696.0 - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 bowser: 2.11.0 tslib: 2.8.1 @@ -10654,13 +10674,13 @@ snapshots: dependencies: '@aws-sdk/middleware-user-agent': 3.696.0 '@aws-sdk/types': 3.696.0 - '@smithy/node-config-provider': 3.1.11 - '@smithy/types': 3.7.1 + '@smithy/node-config-provider': 3.1.12 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@aws-sdk/xml-builder@3.696.0': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@babel/code-frame@7.26.2': @@ -10669,20 +10689,20 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.26.2': {} + '@babel/compat-data@7.26.3': {} '@babel/core@7.25.2': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.2 + '@babel/generator': 7.26.3 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.2) '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.2 + '@babel/parser': 7.26.3 '@babel/template': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.26.4(supports-color@5.5.0) + '@babel/types': 7.26.3 convert-source-map: 2.0.0 debug: 4.3.7(supports-color@5.5.0) gensync: 1.0.0-beta.2 @@ -10695,14 +10715,14 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.2 + '@babel/generator': 7.26.3 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.2 + '@babel/parser': 7.26.3 '@babel/template': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.26.4(supports-color@5.5.0) + '@babel/types': 7.26.3 convert-source-map: 2.0.0 debug: 4.3.7(supports-color@5.5.0) gensync: 1.0.0-beta.2 @@ -10719,28 +10739,21 @@ snapshots: eslint-visitor-keys: 2.1.0 semver: 6.3.1 - '@babel/generator@7.26.2': + '@babel/generator@7.26.3': dependencies: - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.0.2 '@babel/helper-annotate-as-pure@7.25.9': dependencies: - '@babel/types': 7.26.0 - - '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9': - dependencies: - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 - transitivePeerDependencies: - - supports-color + '@babel/types': 7.26.3 '@babel/helper-compilation-targets@7.25.9': dependencies: - '@babel/compat-data': 7.26.2 + '@babel/compat-data': 7.26.3 '@babel/helper-validator-option': 7.25.9 browserslist: 4.24.2 lru-cache: 5.1.1 @@ -10754,12 +10767,12 @@ snapshots: '@babel/helper-optimise-call-expression': 7.25.9 '@babel/helper-replace-supers': 7.25.9(@babel/core@7.25.2) '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.26.4(supports-color@5.5.0) semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.25.9(@babel/core@7.25.2)': + '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.25.9 @@ -10779,15 +10792,15 @@ snapshots: '@babel/helper-member-expression-to-functions@7.25.9': dependencies: - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.26.4(supports-color@5.5.0) + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.25.9(supports-color@5.5.0)': dependencies: - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.26.4(supports-color@5.5.0) + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color @@ -10796,7 +10809,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.26.4(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -10805,13 +10818,13 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.26.4(supports-color@5.5.0) transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.25.9': dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 '@babel/helper-plugin-utils@7.25.9': {} @@ -10820,7 +10833,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-wrap-function': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.26.4(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -10829,21 +10842,14 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-member-expression-to-functions': 7.25.9 '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) - transitivePeerDependencies: - - supports-color - - '@babel/helper-simple-access@7.25.9': - dependencies: - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.26.4(supports-color@5.5.0) transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.25.9': dependencies: - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.26.4(supports-color@5.5.0) + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color @@ -10856,25 +10862,25 @@ snapshots: '@babel/helper-wrap-function@7.25.9': dependencies: '@babel/template': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.26.4(supports-color@5.5.0) + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color '@babel/helpers@7.26.0': dependencies: '@babel/template': 7.25.9 - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 - '@babel/parser@7.26.2': + '@babel/parser@7.26.3': dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.26.4(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -10901,7 +10907,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.26.4(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -11031,7 +11037,7 @@ snapshots: '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.25.2) + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.25.2)': @@ -11044,7 +11050,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.25.2) - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.26.4(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -11090,7 +11096,7 @@ snapshots: '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-replace-supers': 7.25.9(@babel/core@7.25.2) - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.26.4(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -11109,7 +11115,7 @@ snapshots: '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.25.2) + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.25.2)': @@ -11120,7 +11126,7 @@ snapshots: '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.25.2) + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.25.2)': @@ -11128,13 +11134,10 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-exponentiation-operator@7.25.9(@babel/core@7.25.2)': + '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.25.2)': dependencies: @@ -11160,7 +11163,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.26.4(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -11192,12 +11195,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.25.2)': + '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-simple-access': 7.25.9 transitivePeerDependencies: - supports-color @@ -11207,7 +11209,7 @@ snapshots: '@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.26.4(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -11222,7 +11224,7 @@ snapshots: '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.25.2) + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.25.2)': @@ -11324,7 +11326,7 @@ snapshots: '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.2) - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color @@ -11381,24 +11383,24 @@ snapshots: '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.25.2) + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.25.2) + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.25.2) + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.25.9 '@babel/preset-env@7.25.4(@babel/core@7.25.2)': dependencies: - '@babel/compat-data': 7.26.2 + '@babel/compat-data': 7.26.3 '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 @@ -11441,7 +11443,7 @@ snapshots: '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.25.2) - '@babel/plugin-transform-exponentiation-operator': 7.25.9(@babel/core@7.25.2) + '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.25.2) '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.25.2) @@ -11450,7 +11452,7 @@ snapshots: '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.25.2) '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.25.2) @@ -11496,7 +11498,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.25.9 - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 esutils: 2.0.3 '@babel/preset-react@7.24.7(@babel/core@7.25.2)': @@ -11518,22 +11520,22 @@ snapshots: '@babel/template@7.25.9': dependencies: '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 - '@babel/traverse@7.25.9(supports-color@5.5.0)': + '@babel/traverse@7.26.4(supports-color@5.5.0)': dependencies: '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.2 - '@babel/parser': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/parser': 7.26.3 '@babel/template': 7.25.9 - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 debug: 4.3.7(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.26.0': + '@babel/types@7.26.3': dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 @@ -11605,7 +11607,7 @@ snapshots: fs-extra: 7.0.1 mri: 1.2.0 p-limit: 2.3.0 - package-manager-detector: 0.2.6 + package-manager-detector: 0.2.7 picocolors: 1.1.1 resolve-from: 5.0.0 semver: 7.6.3 @@ -11722,9 +11724,6 @@ snapshots: eventemitter3: 5.0.1 preact: 10.25.1 - '@colors/colors@1.5.0': - optional: true - '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 @@ -11973,15 +11972,17 @@ snapshots: '@eslint-community/regexpp@4.12.1': {} - '@eslint/config-array@0.19.0': + '@eslint/config-array@0.19.1': dependencies: - '@eslint/object-schema': 2.1.4 + '@eslint/object-schema': 2.1.5 debug: 4.3.7(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/core@0.9.0': {} + '@eslint/core@0.9.1': + dependencies: + '@types/json-schema': 7.0.15 '@eslint/eslintrc@3.2.0': dependencies: @@ -11999,9 +12000,9 @@ snapshots: '@eslint/js@9.16.0': {} - '@eslint/object-schema@2.1.4': {} + '@eslint/object-schema@2.1.5': {} - '@eslint/plugin-kit@0.2.3': + '@eslint/plugin-kit@0.2.4': dependencies: levn: 0.4.1 @@ -12087,6 +12088,11 @@ snapshots: dependencies: '@ethersproject/bytes': 5.7.0 + '@ethersproject/basex@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/bignumber@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 @@ -12101,6 +12107,19 @@ snapshots: dependencies: '@ethersproject/bignumber': 5.7.0 + '@ethersproject/contracts@5.7.0': + dependencies: + '@ethersproject/abi': 5.7.0 + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/hash@5.7.0': dependencies: '@ethersproject/abstract-signer': 5.7.0 @@ -12113,6 +12132,37 @@ snapshots: '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 + '@ethersproject/hdnode@5.7.0': + dependencies: + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/basex': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/pbkdf2': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/sha2': 5.7.0 + '@ethersproject/signing-key': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/wordlists': 5.7.0 + + '@ethersproject/json-wallets@5.7.0': + dependencies: + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hdnode': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/pbkdf2': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/random': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + aes-js: 3.0.0 + scrypt-js: 3.0.1 + '@ethersproject/keccak256@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 @@ -12124,15 +12174,57 @@ snapshots: dependencies: '@ethersproject/logger': 5.7.0 + '@ethersproject/pbkdf2@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/sha2': 5.7.0 + '@ethersproject/properties@5.7.0': dependencies: '@ethersproject/logger': 5.7.0 + '@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/base64': 5.7.0 + '@ethersproject/basex': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/networks': 5.7.1 + '@ethersproject/properties': 5.7.0 + '@ethersproject/random': 5.7.0 + '@ethersproject/rlp': 5.7.0 + '@ethersproject/sha2': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/web': 5.7.1 + bech32: 1.1.4 + ws: 7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@ethersproject/random@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/rlp@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 + '@ethersproject/sha2@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + hash.js: 1.1.7 + '@ethersproject/signing-key@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 @@ -12142,6 +12234,15 @@ snapshots: elliptic: 6.5.4 hash.js: 1.1.7 + '@ethersproject/solidity@5.7.0': + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/sha2': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/strings@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 @@ -12166,6 +12267,24 @@ snapshots: '@ethersproject/constants': 5.7.0 '@ethersproject/logger': 5.7.0 + '@ethersproject/wallet@5.7.0': + dependencies: + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/hdnode': 5.7.0 + '@ethersproject/json-wallets': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/random': 5.7.0 + '@ethersproject/signing-key': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/wordlists': 5.7.0 + '@ethersproject/web@5.7.1': dependencies: '@ethersproject/base64': 5.7.0 @@ -12174,6 +12293,14 @@ snapshots: '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 + '@ethersproject/wordlists@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@fastify/busboy@2.1.1': {} '@float-capital/float-subgraph-uncrashable@0.0.0-internal-testing.5': @@ -12209,7 +12336,7 @@ snapshots: '@gql.tada/internal@1.0.8(graphql@16.9.0)(typescript@5.7.2)': dependencies: - '@0no-co/graphql.web': 1.0.11(graphql@16.9.0) + '@0no-co/graphql.web': 1.0.12(graphql@16.9.0) graphql: 16.9.0 typescript: 5.7.2 @@ -12219,13 +12346,13 @@ snapshots: '@oclif/core': 2.8.6(@types/node@22.10.1)(typescript@5.7.2) '@oclif/plugin-autocomplete': 2.3.10(@types/node@22.10.1)(typescript@5.7.2) '@oclif/plugin-not-found': 2.4.3(@types/node@22.10.1)(typescript@5.7.2) - '@oclif/plugin-warn-if-update-available': 3.1.24 + '@oclif/plugin-warn-if-update-available': 3.1.26 '@whatwg-node/fetch': 0.8.8 assemblyscript: 0.19.23 binary-install-raw: 0.0.13(debug@4.3.4) chalk: 3.0.0 chokidar: 3.5.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 docker-compose: 0.23.19 dockerode: 2.5.8 fs-extra: 9.1.0 @@ -12263,9 +12390,9 @@ snapshots: dependencies: graphql: 16.9.0 - '@hookform/resolvers@3.9.1(react-hook-form@7.53.2(react@18.3.1))': + '@hookform/resolvers@3.9.1(react-hook-form@7.54.0(react@18.3.1))': dependencies: - react-hook-form: 7.53.2(react@18.3.1) + react-hook-form: 7.54.0(react@18.3.1) '@humanfs/core@0.19.1': {} @@ -12282,18 +12409,18 @@ snapshots: '@ianvs/prettier-plugin-sort-imports@4.4.0(prettier@3.4.1)': dependencies: - '@babel/generator': 7.26.2 - '@babel/parser': 7.26.2 - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/generator': 7.26.3 + '@babel/parser': 7.26.3 + '@babel/traverse': 7.26.4(supports-color@5.5.0) + '@babel/types': 7.26.3 prettier: 3.4.1 semver: 7.6.3 transitivePeerDependencies: - supports-color - '@inquirer/checkbox@4.0.2(@types/node@22.10.1)': + '@inquirer/checkbox@4.0.3(@types/node@22.10.1)': dependencies: - '@inquirer/core': 10.1.0(@types/node@22.10.1) + '@inquirer/core': 10.1.1(@types/node@22.10.1) '@inquirer/figures': 1.0.8 '@inquirer/type': 3.0.1(@types/node@22.10.1) '@types/node': 22.10.1 @@ -12305,13 +12432,13 @@ snapshots: '@inquirer/core': 9.2.1 '@inquirer/type': 1.5.5 - '@inquirer/confirm@5.0.2(@types/node@22.10.1)': + '@inquirer/confirm@5.1.0(@types/node@22.10.1)': dependencies: - '@inquirer/core': 10.1.0(@types/node@22.10.1) + '@inquirer/core': 10.1.1(@types/node@22.10.1) '@inquirer/type': 3.0.1(@types/node@22.10.1) '@types/node': 22.10.1 - '@inquirer/core@10.1.0(@types/node@22.10.1)': + '@inquirer/core@10.1.1(@types/node@22.10.1)': dependencies: '@inquirer/figures': 1.0.8 '@inquirer/type': 3.0.1(@types/node@22.10.1) @@ -12340,16 +12467,16 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 - '@inquirer/editor@4.1.0(@types/node@22.10.1)': + '@inquirer/editor@4.2.0(@types/node@22.10.1)': dependencies: - '@inquirer/core': 10.1.0(@types/node@22.10.1) + '@inquirer/core': 10.1.1(@types/node@22.10.1) '@inquirer/type': 3.0.1(@types/node@22.10.1) '@types/node': 22.10.1 external-editor: 3.1.0 - '@inquirer/expand@4.0.2(@types/node@22.10.1)': + '@inquirer/expand@4.0.3(@types/node@22.10.1)': dependencies: - '@inquirer/core': 10.1.0(@types/node@22.10.1) + '@inquirer/core': 10.1.1(@types/node@22.10.1) '@inquirer/type': 3.0.1(@types/node@22.10.1) '@types/node': 22.10.1 yoctocolors-cjs: 2.1.2 @@ -12361,49 +12488,49 @@ snapshots: '@inquirer/core': 9.2.1 '@inquirer/type': 1.5.5 - '@inquirer/input@4.0.2(@types/node@22.10.1)': + '@inquirer/input@4.1.0(@types/node@22.10.1)': dependencies: - '@inquirer/core': 10.1.0(@types/node@22.10.1) + '@inquirer/core': 10.1.1(@types/node@22.10.1) '@inquirer/type': 3.0.1(@types/node@22.10.1) '@types/node': 22.10.1 - '@inquirer/number@3.0.2(@types/node@22.10.1)': + '@inquirer/number@3.0.3(@types/node@22.10.1)': dependencies: - '@inquirer/core': 10.1.0(@types/node@22.10.1) + '@inquirer/core': 10.1.1(@types/node@22.10.1) '@inquirer/type': 3.0.1(@types/node@22.10.1) '@types/node': 22.10.1 - '@inquirer/password@4.0.2(@types/node@22.10.1)': + '@inquirer/password@4.0.3(@types/node@22.10.1)': dependencies: - '@inquirer/core': 10.1.0(@types/node@22.10.1) + '@inquirer/core': 10.1.1(@types/node@22.10.1) '@inquirer/type': 3.0.1(@types/node@22.10.1) '@types/node': 22.10.1 ansi-escapes: 4.3.2 - '@inquirer/prompts@7.1.0(@types/node@22.10.1)': - dependencies: - '@inquirer/checkbox': 4.0.2(@types/node@22.10.1) - '@inquirer/confirm': 5.0.2(@types/node@22.10.1) - '@inquirer/editor': 4.1.0(@types/node@22.10.1) - '@inquirer/expand': 4.0.2(@types/node@22.10.1) - '@inquirer/input': 4.0.2(@types/node@22.10.1) - '@inquirer/number': 3.0.2(@types/node@22.10.1) - '@inquirer/password': 4.0.2(@types/node@22.10.1) - '@inquirer/rawlist': 4.0.2(@types/node@22.10.1) - '@inquirer/search': 3.0.2(@types/node@22.10.1) - '@inquirer/select': 4.0.2(@types/node@22.10.1) + '@inquirer/prompts@7.2.0(@types/node@22.10.1)': + dependencies: + '@inquirer/checkbox': 4.0.3(@types/node@22.10.1) + '@inquirer/confirm': 5.1.0(@types/node@22.10.1) + '@inquirer/editor': 4.2.0(@types/node@22.10.1) + '@inquirer/expand': 4.0.3(@types/node@22.10.1) + '@inquirer/input': 4.1.0(@types/node@22.10.1) + '@inquirer/number': 3.0.3(@types/node@22.10.1) + '@inquirer/password': 4.0.3(@types/node@22.10.1) + '@inquirer/rawlist': 4.0.3(@types/node@22.10.1) + '@inquirer/search': 3.0.3(@types/node@22.10.1) + '@inquirer/select': 4.0.3(@types/node@22.10.1) '@types/node': 22.10.1 - '@inquirer/rawlist@4.0.2(@types/node@22.10.1)': + '@inquirer/rawlist@4.0.3(@types/node@22.10.1)': dependencies: - '@inquirer/core': 10.1.0(@types/node@22.10.1) + '@inquirer/core': 10.1.1(@types/node@22.10.1) '@inquirer/type': 3.0.1(@types/node@22.10.1) '@types/node': 22.10.1 yoctocolors-cjs: 2.1.2 - '@inquirer/search@3.0.2(@types/node@22.10.1)': + '@inquirer/search@3.0.3(@types/node@22.10.1)': dependencies: - '@inquirer/core': 10.1.0(@types/node@22.10.1) + '@inquirer/core': 10.1.1(@types/node@22.10.1) '@inquirer/figures': 1.0.8 '@inquirer/type': 3.0.1(@types/node@22.10.1) '@types/node': 22.10.1 @@ -12417,9 +12544,9 @@ snapshots: ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 - '@inquirer/select@4.0.2(@types/node@22.10.1)': + '@inquirer/select@4.0.3(@types/node@22.10.1)': dependencies: - '@inquirer/core': 10.1.0(@types/node@22.10.1) + '@inquirer/core': 10.1.1(@types/node@22.10.1) '@inquirer/figures': 1.0.8 '@inquirer/type': 3.0.1(@types/node@22.10.1) '@types/node': 22.10.1 @@ -12445,12 +12572,12 @@ snapshots: '@ipld/dag-cbor@9.2.2': dependencies: - cborg: 4.2.6 + cborg: 4.2.7 multiformats: 13.3.1 '@ipld/dag-json@10.2.3': dependencies: - cborg: 4.2.6 + cborg: 4.2.7 multiformats: 13.3.1 '@ipld/dag-json@8.0.11': @@ -12485,12 +12612,6 @@ snapshots: '@jridgewell/set-array@1.2.1': {} - '@jridgewell/source-map@0.3.6': - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - optional: true - '@jridgewell/sourcemap-codec@1.5.0': {} '@jridgewell/trace-mapping@0.3.25': @@ -12507,9 +12628,9 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@libp2p/crypto@5.0.7': + '@libp2p/crypto@5.0.8': dependencies: - '@libp2p/interface': 2.2.1 + '@libp2p/interface': 2.3.0 '@noble/curves': 1.7.0 '@noble/hashes': 1.6.1 asn1js: 3.0.5 @@ -12518,7 +12639,7 @@ snapshots: uint8arraylist: 2.4.8 uint8arrays: 5.1.0 - '@libp2p/interface@2.2.1': + '@libp2p/interface@2.3.0': dependencies: '@multiformats/multiaddr': 12.3.4 it-pushable: 3.2.3 @@ -12527,18 +12648,18 @@ snapshots: progress-events: 1.0.1 uint8arraylist: 2.4.8 - '@libp2p/logger@5.1.4': + '@libp2p/logger@5.1.5': dependencies: - '@libp2p/interface': 2.2.1 + '@libp2p/interface': 2.3.0 '@multiformats/multiaddr': 12.3.4 interface-datastore: 8.3.1 multiformats: 13.3.1 weald: 1.0.4 - '@libp2p/peer-id@5.0.8': + '@libp2p/peer-id@5.0.9': dependencies: - '@libp2p/crypto': 5.0.7 - '@libp2p/interface': 2.2.1 + '@libp2p/crypto': 5.0.8 + '@libp2p/interface': 2.3.0 multiformats: 13.3.1 uint8arrays: 5.1.0 @@ -12728,15 +12849,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@monaco-editor/loader@1.4.0(monaco-editor@0.52.0)': + '@monaco-editor/loader@1.4.0(monaco-editor@0.52.2)': dependencies: - monaco-editor: 0.52.0 + monaco-editor: 0.52.2 state-local: 1.0.7 - '@monaco-editor/react@4.6.0(monaco-editor@0.52.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@monaco-editor/react@4.6.0(monaco-editor@0.52.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@monaco-editor/loader': 1.4.0(monaco-editor@0.52.0) - monaco-editor: 0.52.0 + '@monaco-editor/loader': 1.4.0(monaco-editor@0.52.2) + monaco-editor: 0.52.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -12831,10 +12952,6 @@ snapshots: dependencies: '@noble/hashes': 1.4.0 - '@noble/curves@1.6.0': - dependencies: - '@noble/hashes': 1.5.0 - '@noble/curves@1.7.0': dependencies: '@noble/hashes': 1.6.0 @@ -12845,8 +12962,6 @@ snapshots: '@noble/hashes@1.4.0': {} - '@noble/hashes@1.5.0': {} - '@noble/hashes@1.6.0': {} '@noble/hashes@1.6.1': {} @@ -12971,9 +13086,9 @@ snapshots: ethereumjs-util: 7.1.5 hardhat: 2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10) - '@nomicfoundation/hardhat-toolbox@5.0.0(a6ky6izuismqqdbfgorzmkgys4)': + '@nomicfoundation/hardhat-toolbox@5.0.0(4bhliqvuzx2ati2zhlpmdia4ja)': dependencies: - '@nomicfoundation/hardhat-chai-matchers': 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)))(chai@4.5.0)(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)) + '@nomicfoundation/hardhat-chai-matchers': 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)))(chai@5.1.2)(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)) '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)) '@nomicfoundation/hardhat-ignition-ethers': 0.15.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)))(@nomicfoundation/hardhat-ignition@0.15.8(@nomicfoundation/hardhat-verify@2.0.12(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10))(@nomicfoundation/ignition-core@0.15.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)) '@nomicfoundation/hardhat-network-helpers': 1.0.12(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)) @@ -12983,31 +13098,31 @@ snapshots: '@types/chai': 4.3.20 '@types/mocha': 10.0.10 '@types/node': 22.10.1 - chai: 4.5.0 + chai: 5.1.2 ethers: 6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10) hardhat: 2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10) - hardhat-gas-reporter: 2.2.2(bufferutil@4.0.8)(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10))(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) + hardhat-gas-reporter: 1.0.10(bufferutil@4.0.8)(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) solidity-coverage: 0.8.14(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)) ts-node: 10.9.2(@types/node@22.10.1)(typescript@5.7.2) typechain: 8.3.2(typescript@5.7.2) typescript: 5.7.2 - '@nomicfoundation/hardhat-toolbox@5.0.0(gps7ij3pmuxrz5tos4um7yj7ei)': + '@nomicfoundation/hardhat-toolbox@5.0.0(qealhu2rq4ejlqx5acmdeynyxu)': dependencies: - '@nomicfoundation/hardhat-chai-matchers': 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)))(chai@5.1.2)(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)) + '@nomicfoundation/hardhat-chai-matchers': 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)))(chai@4.5.0)(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)) '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)) '@nomicfoundation/hardhat-ignition-ethers': 0.15.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)))(@nomicfoundation/hardhat-ignition@0.15.8(@nomicfoundation/hardhat-verify@2.0.12(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10))(@nomicfoundation/ignition-core@0.15.8(bufferutil@4.0.8)(utf-8-validate@5.0.10))(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)) '@nomicfoundation/hardhat-network-helpers': 1.0.12(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)) '@nomicfoundation/hardhat-verify': 2.0.12(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)) '@typechain/ethers-v6': 0.5.1(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.7.2))(typescript@5.7.2) '@typechain/hardhat': 9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.7.2))(typescript@5.7.2))(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.7.2)) - '@types/chai': 5.0.1 + '@types/chai': 4.3.20 '@types/mocha': 10.0.10 '@types/node': 22.10.1 - chai: 5.1.2 + chai: 4.5.0 ethers: 6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10) hardhat: 2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10) - hardhat-gas-reporter: 2.2.2(bufferutil@4.0.8)(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10))(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) + hardhat-gas-reporter: 1.0.10(bufferutil@4.0.8)(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) solidity-coverage: 0.8.14(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)) ts-node: 10.9.2(@types/node@22.10.1)(typescript@5.7.2) typechain: 8.3.2(typescript@5.7.2) @@ -13138,7 +13253,7 @@ snapshots: chalk: 4.1.2 clean-stack: 3.0.1 cli-progress: 3.12.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) ejs: 3.1.10 get-package-type: 0.1.0 globby: 11.1.0 @@ -13174,7 +13289,7 @@ snapshots: chalk: 4.1.2 clean-stack: 3.0.1 cli-progress: 3.12.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) ejs: 3.1.10 fs-extra: 9.1.0 get-package-type: 0.1.0 @@ -13186,7 +13301,7 @@ snapshots: natural-orderby: 2.0.3 object-treeify: 1.1.33 password-prompt: 1.1.3 - semver: 7.4.0 + semver: 7.6.3 string-width: 4.2.3 strip-ansi: 6.0.1 supports-color: 8.1.1 @@ -13227,7 +13342,7 @@ snapshots: dependencies: '@oclif/core': 2.16.0(@types/node@22.10.1)(typescript@5.7.2) chalk: 4.1.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -13235,16 +13350,16 @@ snapshots: - supports-color - typescript - '@oclif/plugin-autocomplete@3.2.11': + '@oclif/plugin-autocomplete@3.2.13': dependencies: '@oclif/core': 4.0.34 ansis: 3.3.2 - debug: 4.3.7(supports-color@5.5.0) + debug: 4.4.0 ejs: 3.1.10 transitivePeerDependencies: - supports-color - '@oclif/plugin-help@6.2.18': + '@oclif/plugin-help@6.2.19': dependencies: '@oclif/core': 4.0.34 @@ -13259,20 +13374,20 @@ snapshots: - '@types/node' - typescript - '@oclif/plugin-not-found@3.2.29(@types/node@22.10.1)': + '@oclif/plugin-not-found@3.2.30(@types/node@22.10.1)': dependencies: - '@inquirer/prompts': 7.1.0(@types/node@22.10.1) + '@inquirer/prompts': 7.2.0(@types/node@22.10.1) '@oclif/core': 4.0.34 ansis: 3.3.2 fast-levenshtein: 3.0.0 transitivePeerDependencies: - '@types/node' - '@oclif/plugin-warn-if-update-available@3.1.24': + '@oclif/plugin-warn-if-update-available@3.1.26': dependencies: '@oclif/core': 4.0.34 ansis: 3.3.2 - debug: 4.3.7(supports-color@5.5.0) + debug: 4.4.0 http-call: 5.3.0 lodash: 4.17.21 registry-auth-token: 5.0.3 @@ -13364,6 +13479,8 @@ snapshots: tslib: 2.8.1 webcrypto-core: 1.8.1 + '@pinax/graph-networks-registry@0.6.5': {} + '@pkgjs/parseargs@0.11.0': optional: true @@ -13408,331 +13525,334 @@ snapshots: '@radix-ui/primitive@1.1.0': {} - '@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.14 + '@types/react-dom': 18.3.2 - '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.14)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.14 + '@types/react-dom': 18.3.2 - '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.14)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@radix-ui/react-context@1.1.0(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-context@1.1.0(@types/react@18.3.14)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@radix-ui/react-context@1.1.1(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-context@1.1.1(@types/react@18.3.14)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@radix-ui/react-direction@1.1.0(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-direction@1.1.0(@types/react@18.3.14)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.14)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.14 + '@types/react-dom': 18.3.2 - '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.14)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.14)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.14 + '@types/react-dom': 18.3.2 '@radix-ui/react-icons@1.3.2(react@18.3.1)': dependencies: react: 18.3.1 - '@radix-ui/react-id@1.1.0(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-id@1.1.0(@types/react@18.3.14)(react@18.3.1)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.14)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@radix-ui/react-label@2.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-label@2.1.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.14 + '@types/react-dom': 18.3.2 - '@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.14)(react@18.3.1) '@radix-ui/rect': 1.1.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.14 + '@types/react-dom': 18.3.2 - '@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.14)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.14 + '@types/react-dom': 18.3.2 - '@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.14)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.14 + '@types/react-dom': 18.3.2 - '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.14)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.14 + '@types/react-dom': 18.3.2 - '@radix-ui/react-select@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-select@2.1.2(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@18.3.1) + react-remove-scroll: 2.6.0(@types/react@18.3.14)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.14 + '@types/react-dom': 18.3.2 - '@radix-ui/react-slot@1.1.0(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-slot@1.1.0(@types/react@18.3.14)(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.14)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@radix-ui/react-toast@1.2.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-toast@1.2.2(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.14)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.14 + '@types/react-dom': 18.3.2 - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.14)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.14)(react@18.3.1)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.14)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.14)(react@18.3.1)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.14)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.14)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.14)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.14)(react@18.3.1)': dependencies: '@radix-ui/rect': 1.1.0 react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@radix-ui/react-use-size@1.1.0(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-use-size@1.1.0(@types/react@18.3.14)(react@18.3.1)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.14)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.2)(@types/react@18.3.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.14 + '@types/react-dom': 18.3.2 '@radix-ui/rect@1.1.0': {} '@rescript/std@9.0.0': {} - '@rollup/plugin-inject@5.0.5(rollup@4.28.0)': + '@rollup/plugin-inject@5.0.5(rollup@4.28.1)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.28.0) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) estree-walker: 2.0.2 magic-string: 0.30.14 optionalDependencies: - rollup: 4.28.0 + rollup: 4.28.1 - '@rollup/pluginutils@5.1.3(rollup@4.28.0)': + '@rollup/pluginutils@5.1.3(rollup@4.28.1)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.28.0 + rollup: 4.28.1 + + '@rollup/rollup-android-arm-eabi@4.28.1': + optional: true - '@rollup/rollup-android-arm-eabi@4.28.0': + '@rollup/rollup-android-arm64@4.28.1': optional: true - '@rollup/rollup-android-arm64@4.28.0': + '@rollup/rollup-darwin-arm64@4.28.1': optional: true - '@rollup/rollup-darwin-arm64@4.28.0': + '@rollup/rollup-darwin-x64@4.28.1': optional: true - '@rollup/rollup-darwin-x64@4.28.0': + '@rollup/rollup-freebsd-arm64@4.28.1': optional: true - '@rollup/rollup-freebsd-arm64@4.28.0': + '@rollup/rollup-freebsd-x64@4.28.1': optional: true - '@rollup/rollup-freebsd-x64@4.28.0': + '@rollup/rollup-linux-arm-gnueabihf@4.28.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.28.0': + '@rollup/rollup-linux-arm-musleabihf@4.28.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.28.0': + '@rollup/rollup-linux-arm64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.28.0': + '@rollup/rollup-linux-arm64-musl@4.28.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.28.0': + '@rollup/rollup-linux-loongarch64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.28.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.28.0': + '@rollup/rollup-linux-riscv64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.28.0': + '@rollup/rollup-linux-s390x-gnu@4.28.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.28.0': + '@rollup/rollup-linux-x64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-x64-musl@4.28.0': + '@rollup/rollup-linux-x64-musl@4.28.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.28.0': + '@rollup/rollup-win32-arm64-msvc@4.28.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.28.0': + '@rollup/rollup-win32-ia32-msvc@4.28.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.28.0': + '@rollup/rollup-win32-x64-msvc@4.28.1': optional: true '@rtsao/scc@1.1.0': {} @@ -13752,7 +13872,7 @@ snapshots: '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8)': dependencies: '@safe-global/safe-gateway-typescript-sdk': 3.22.4 - viem: 2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) + viem: 2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) transitivePeerDependencies: - bufferutil - typescript @@ -13771,43 +13891,32 @@ snapshots: '@noble/secp256k1': 1.7.1 '@scure/base': 1.1.9 - '@scure/bip32@1.3.2': - dependencies: - '@noble/curves': 1.2.0 - '@noble/hashes': 1.3.2 - '@scure/base': 1.1.9 - '@scure/bip32@1.4.0': dependencies: '@noble/curves': 1.4.2 '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 - '@scure/bip32@1.5.0': + '@scure/bip32@1.6.0': dependencies: - '@noble/curves': 1.6.0 - '@noble/hashes': 1.5.0 - '@scure/base': 1.1.9 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/base': 1.2.1 '@scure/bip39@1.1.1': dependencies: '@noble/hashes': 1.2.0 '@scure/base': 1.1.9 - '@scure/bip39@1.2.1': - dependencies: - '@noble/hashes': 1.3.2 - '@scure/base': 1.1.9 - '@scure/bip39@1.3.0': dependencies: '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 - '@scure/bip39@1.4.0': + '@scure/bip39@1.5.0': dependencies: - '@noble/hashes': 1.5.0 - '@scure/base': 1.1.9 + '@noble/hashes': 1.6.1 + '@scure/base': 1.2.1 '@sec-ant/readable-stream@0.4.1': {} @@ -13862,9 +13971,9 @@ snapshots: '@sindresorhus/is@5.6.0': {} - '@smithy/abort-controller@3.1.8': + '@smithy/abort-controller@3.1.9': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@smithy/chunked-blob-reader-native@3.0.1': @@ -13876,94 +13985,94 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/config-resolver@3.0.12': + '@smithy/config-resolver@3.0.13': dependencies: - '@smithy/node-config-provider': 3.1.11 - '@smithy/types': 3.7.1 + '@smithy/node-config-provider': 3.1.12 + '@smithy/types': 3.7.2 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.10 + '@smithy/util-middleware': 3.0.11 tslib: 2.8.1 - '@smithy/core@2.5.4': + '@smithy/core@2.5.5': dependencies: - '@smithy/middleware-serde': 3.0.10 - '@smithy/protocol-http': 4.1.7 - '@smithy/types': 3.7.1 + '@smithy/middleware-serde': 3.0.11 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-middleware': 3.0.10 - '@smithy/util-stream': 3.3.1 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-stream': 3.3.2 '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 - '@smithy/credential-provider-imds@3.2.7': + '@smithy/credential-provider-imds@3.2.8': dependencies: - '@smithy/node-config-provider': 3.1.11 - '@smithy/property-provider': 3.1.10 - '@smithy/types': 3.7.1 - '@smithy/url-parser': 3.0.10 + '@smithy/node-config-provider': 3.1.12 + '@smithy/property-provider': 3.1.11 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 tslib: 2.8.1 - '@smithy/eventstream-codec@3.1.9': + '@smithy/eventstream-codec@3.1.10': dependencies: '@aws-crypto/crc32': 5.2.0 - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 '@smithy/util-hex-encoding': 3.0.0 tslib: 2.8.1 - '@smithy/eventstream-serde-browser@3.0.13': + '@smithy/eventstream-serde-browser@3.0.14': dependencies: - '@smithy/eventstream-serde-universal': 3.0.12 - '@smithy/types': 3.7.1 + '@smithy/eventstream-serde-universal': 3.0.13 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/eventstream-serde-config-resolver@3.0.10': + '@smithy/eventstream-serde-config-resolver@3.0.11': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/eventstream-serde-node@3.0.12': + '@smithy/eventstream-serde-node@3.0.13': dependencies: - '@smithy/eventstream-serde-universal': 3.0.12 - '@smithy/types': 3.7.1 + '@smithy/eventstream-serde-universal': 3.0.13 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/eventstream-serde-universal@3.0.12': + '@smithy/eventstream-serde-universal@3.0.13': dependencies: - '@smithy/eventstream-codec': 3.1.9 - '@smithy/types': 3.7.1 + '@smithy/eventstream-codec': 3.1.10 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/fetch-http-handler@4.1.1': + '@smithy/fetch-http-handler@4.1.2': dependencies: - '@smithy/protocol-http': 4.1.7 - '@smithy/querystring-builder': 3.0.10 - '@smithy/types': 3.7.1 + '@smithy/protocol-http': 4.1.8 + '@smithy/querystring-builder': 3.0.11 + '@smithy/types': 3.7.2 '@smithy/util-base64': 3.0.0 tslib: 2.8.1 - '@smithy/hash-blob-browser@3.1.9': + '@smithy/hash-blob-browser@3.1.10': dependencies: '@smithy/chunked-blob-reader': 4.0.0 '@smithy/chunked-blob-reader-native': 3.0.1 - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/hash-node@3.0.10': + '@smithy/hash-node@3.0.11': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 '@smithy/util-buffer-from': 3.0.0 '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 - '@smithy/hash-stream-node@3.1.9': + '@smithy/hash-stream-node@3.1.10': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 - '@smithy/invalid-dependency@3.0.10': + '@smithy/invalid-dependency@3.0.11': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@smithy/is-array-buffer@2.2.0': @@ -13974,125 +14083,125 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/md5-js@3.0.10': + '@smithy/md5-js@3.0.11': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 - '@smithy/middleware-content-length@3.0.12': + '@smithy/middleware-content-length@3.0.13': dependencies: - '@smithy/protocol-http': 4.1.7 - '@smithy/types': 3.7.1 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/middleware-endpoint@3.2.4': + '@smithy/middleware-endpoint@3.2.5': dependencies: - '@smithy/core': 2.5.4 - '@smithy/middleware-serde': 3.0.10 - '@smithy/node-config-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 - '@smithy/url-parser': 3.0.10 - '@smithy/util-middleware': 3.0.10 + '@smithy/core': 2.5.5 + '@smithy/middleware-serde': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 + '@smithy/util-middleware': 3.0.11 tslib: 2.8.1 - '@smithy/middleware-retry@3.0.28': + '@smithy/middleware-retry@3.0.29': dependencies: - '@smithy/node-config-provider': 3.1.11 - '@smithy/protocol-http': 4.1.7 - '@smithy/service-error-classification': 3.0.10 - '@smithy/smithy-client': 3.4.5 - '@smithy/types': 3.7.1 - '@smithy/util-middleware': 3.0.10 - '@smithy/util-retry': 3.0.10 + '@smithy/node-config-provider': 3.1.12 + '@smithy/protocol-http': 4.1.8 + '@smithy/service-error-classification': 3.0.11 + '@smithy/smithy-client': 3.4.6 + '@smithy/types': 3.7.2 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 tslib: 2.8.1 uuid: 9.0.1 - '@smithy/middleware-serde@3.0.10': + '@smithy/middleware-serde@3.0.11': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/middleware-stack@3.0.10': + '@smithy/middleware-stack@3.0.11': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/node-config-provider@3.1.11': + '@smithy/node-config-provider@3.1.12': dependencies: - '@smithy/property-provider': 3.1.10 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/node-http-handler@3.3.1': + '@smithy/node-http-handler@3.3.2': dependencies: - '@smithy/abort-controller': 3.1.8 - '@smithy/protocol-http': 4.1.7 - '@smithy/querystring-builder': 3.0.10 - '@smithy/types': 3.7.1 + '@smithy/abort-controller': 3.1.9 + '@smithy/protocol-http': 4.1.8 + '@smithy/querystring-builder': 3.0.11 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/property-provider@3.1.10': + '@smithy/property-provider@3.1.11': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/protocol-http@4.1.7': + '@smithy/protocol-http@4.1.8': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/querystring-builder@3.0.10': + '@smithy/querystring-builder@3.0.11': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 '@smithy/util-uri-escape': 3.0.0 tslib: 2.8.1 - '@smithy/querystring-parser@3.0.10': + '@smithy/querystring-parser@3.0.11': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/service-error-classification@3.0.10': + '@smithy/service-error-classification@3.0.11': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 - '@smithy/shared-ini-file-loader@3.1.11': + '@smithy/shared-ini-file-loader@3.1.12': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/signature-v4@4.2.3': + '@smithy/signature-v4@4.2.4': dependencies: '@smithy/is-array-buffer': 3.0.0 - '@smithy/protocol-http': 4.1.7 - '@smithy/types': 3.7.1 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 '@smithy/util-hex-encoding': 3.0.0 - '@smithy/util-middleware': 3.0.10 + '@smithy/util-middleware': 3.0.11 '@smithy/util-uri-escape': 3.0.0 '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 - '@smithy/smithy-client@3.4.5': + '@smithy/smithy-client@3.4.6': dependencies: - '@smithy/core': 2.5.4 - '@smithy/middleware-endpoint': 3.2.4 - '@smithy/middleware-stack': 3.0.10 - '@smithy/protocol-http': 4.1.7 - '@smithy/types': 3.7.1 - '@smithy/util-stream': 3.3.1 + '@smithy/core': 2.5.5 + '@smithy/middleware-endpoint': 3.2.5 + '@smithy/middleware-stack': 3.0.11 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 + '@smithy/util-stream': 3.3.2 tslib: 2.8.1 - '@smithy/types@3.7.1': + '@smithy/types@3.7.2': dependencies: tslib: 2.8.1 - '@smithy/url-parser@3.0.10': + '@smithy/url-parser@3.0.11': dependencies: - '@smithy/querystring-parser': 3.0.10 - '@smithy/types': 3.7.1 + '@smithy/querystring-parser': 3.0.11 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@smithy/util-base64@3.0.0': @@ -14123,50 +14232,50 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/util-defaults-mode-browser@3.0.28': + '@smithy/util-defaults-mode-browser@3.0.29': dependencies: - '@smithy/property-provider': 3.1.10 - '@smithy/smithy-client': 3.4.5 - '@smithy/types': 3.7.1 + '@smithy/property-provider': 3.1.11 + '@smithy/smithy-client': 3.4.6 + '@smithy/types': 3.7.2 bowser: 2.11.0 tslib: 2.8.1 - '@smithy/util-defaults-mode-node@3.0.28': + '@smithy/util-defaults-mode-node@3.0.29': dependencies: - '@smithy/config-resolver': 3.0.12 - '@smithy/credential-provider-imds': 3.2.7 - '@smithy/node-config-provider': 3.1.11 - '@smithy/property-provider': 3.1.10 - '@smithy/smithy-client': 3.4.5 - '@smithy/types': 3.7.1 + '@smithy/config-resolver': 3.0.13 + '@smithy/credential-provider-imds': 3.2.8 + '@smithy/node-config-provider': 3.1.12 + '@smithy/property-provider': 3.1.11 + '@smithy/smithy-client': 3.4.6 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/util-endpoints@2.1.6': + '@smithy/util-endpoints@2.1.7': dependencies: - '@smithy/node-config-provider': 3.1.11 - '@smithy/types': 3.7.1 + '@smithy/node-config-provider': 3.1.12 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@smithy/util-hex-encoding@3.0.0': dependencies: tslib: 2.8.1 - '@smithy/util-middleware@3.0.10': + '@smithy/util-middleware@3.0.11': dependencies: - '@smithy/types': 3.7.1 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/util-retry@3.0.10': + '@smithy/util-retry@3.0.11': dependencies: - '@smithy/service-error-classification': 3.0.10 - '@smithy/types': 3.7.1 + '@smithy/service-error-classification': 3.0.11 + '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/util-stream@3.3.1': + '@smithy/util-stream@3.3.2': dependencies: - '@smithy/fetch-http-handler': 4.1.1 - '@smithy/node-http-handler': 3.3.1 - '@smithy/types': 3.7.1 + '@smithy/fetch-http-handler': 4.1.2 + '@smithy/node-http-handler': 3.3.2 + '@smithy/types': 3.7.2 '@smithy/util-base64': 3.0.0 '@smithy/util-buffer-from': 3.0.0 '@smithy/util-hex-encoding': 3.0.0 @@ -14187,14 +14296,18 @@ snapshots: '@smithy/util-buffer-from': 3.0.0 tslib: 2.8.1 - '@smithy/util-waiter@3.1.9': + '@smithy/util-waiter@3.2.0': dependencies: - '@smithy/abort-controller': 3.1.8 - '@smithy/types': 3.7.1 + '@smithy/abort-controller': 3.1.9 + '@smithy/types': 3.7.2 tslib: 2.8.1 '@socket.io/component-emitter@3.1.2': {} + '@solidity-parser/parser@0.14.5': + dependencies: + antlr4ts: 0.5.0-alpha.4 + '@solidity-parser/parser@0.19.0': {} '@stablelib/aead@1.0.1': {} @@ -14283,14 +14396,14 @@ snapshots: '@tanstack/history@1.85.3': {} - '@tanstack/query-core@5.62.2': {} + '@tanstack/query-core@5.62.3': {} - '@tanstack/react-query@5.62.2(react@18.3.1)': + '@tanstack/react-query@5.62.3(react@18.3.1)': dependencies: - '@tanstack/query-core': 5.62.2 + '@tanstack/query-core': 5.62.3 react: 18.3.1 - '@tanstack/react-router@1.85.4(@tanstack/router-generator@1.85.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-router@1.87.1(@tanstack/router-generator@1.86.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@tanstack/history': 1.85.3 '@tanstack/react-store': 0.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -14300,39 +14413,39 @@ snapshots: tiny-invariant: 1.3.3 tiny-warning: 1.0.3 optionalDependencies: - '@tanstack/router-generator': 1.85.3 + '@tanstack/router-generator': 1.86.0 '@tanstack/react-store@0.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@tanstack/store': 0.6.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - use-sync-external-store: 1.2.2(react@18.3.1) + use-sync-external-store: 1.4.0(react@18.3.1) - '@tanstack/router-cli@1.85.3': + '@tanstack/router-cli@1.86.0': dependencies: - '@tanstack/router-generator': 1.85.3 + '@tanstack/router-generator': 1.86.0 chokidar: 3.6.0 yargs: 17.7.2 - '@tanstack/router-generator@1.85.3': + '@tanstack/router-generator@1.86.0': dependencies: '@tanstack/virtual-file-routes': 1.81.9 prettier: 3.4.1 tsx: 4.19.2 zod: 3.23.8 - '@tanstack/router-plugin@1.85.3(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))': + '@tanstack/router-plugin@1.86.0(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1))': dependencies: '@babel/core': 7.26.0 - '@babel/generator': 7.26.2 - '@babel/parser': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/parser': 7.26.3 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) '@babel/template': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 - '@tanstack/router-generator': 1.85.3 + '@babel/traverse': 7.26.4(supports-color@5.5.0) + '@babel/types': 7.26.3 + '@tanstack/router-generator': 1.86.0 '@tanstack/virtual-file-routes': 1.81.9 '@types/babel__core': 7.20.5 '@types/babel__generator': 7.6.8 @@ -14343,13 +14456,13 @@ snapshots: unplugin: 1.16.0 zod: 3.23.8 optionalDependencies: - vite: 6.0.2(@types/node@22.10.1)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - supports-color - '@tanstack/router-vite-plugin@1.85.3(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))': + '@tanstack/router-vite-plugin@1.86.0(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1))': dependencies: - '@tanstack/router-plugin': 1.85.3(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) + '@tanstack/router-plugin': 1.86.0(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1)) transitivePeerDependencies: - '@rsbuild/core' - supports-color @@ -14430,24 +14543,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 '@types/bn.js@4.11.6': dependencies: @@ -14463,17 +14576,13 @@ snapshots: '@types/chai@4.3.20': {} - '@types/chai@5.0.1': - dependencies: - '@types/deep-eql': 4.0.2 - '@types/cli-progress@3.11.6': dependencies: '@types/node': 22.10.1 '@types/concat-stream@1.6.1': dependencies: - '@types/node': 8.10.66 + '@types/node': 22.10.1 '@types/concat-stream@2.0.3': dependencies: @@ -14481,14 +14590,12 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 12.20.55 + '@types/node': 22.10.1 '@types/debug@4.1.12': dependencies: '@types/ms': 0.7.34 - '@types/deep-eql@4.0.2': {} - '@types/dns-packet@5.6.5': dependencies: '@types/node': 22.10.1 @@ -14501,7 +14608,7 @@ snapshots: '@types/form-data@0.0.33': dependencies: - '@types/node': 8.10.66 + '@types/node': 22.10.1 '@types/fs-extra@11.0.4': dependencies: @@ -14579,17 +14686,17 @@ snapshots: '@types/prettier@2.7.3': {} - '@types/prop-types@15.7.13': {} + '@types/prop-types@15.7.14': {} '@types/qs@6.9.17': {} - '@types/react-dom@18.3.1': + '@types/react-dom@18.3.2': dependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - '@types/react@18.3.12': + '@types/react@18.3.14': dependencies: - '@types/prop-types': 15.7.13 + '@types/prop-types': 15.7.14 csstype: 3.1.3 '@types/secp256k1@4.0.6': @@ -14612,7 +14719,7 @@ snapshots: '@types/ws@7.4.7': dependencies: - '@types/node': 12.20.55 + '@types/node': 22.10.1 '@typescript-eslint/eslint-plugin@7.16.1(@typescript-eslint/parser@8.15.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.6.2))(eslint@9.16.0(jiti@2.4.1))(typescript@5.6.2)': dependencies: @@ -14650,20 +14757,19 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.18.0(@typescript-eslint/parser@8.18.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/type-utils': 8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/parser': 8.18.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.18.0 + '@typescript-eslint/type-utils': 8.18.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + '@typescript-eslint/utils': 8.18.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.18.0 eslint: 9.16.0(jiti@2.4.1) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 ts-api-utils: 1.4.3(typescript@5.7.2) - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -14681,15 +14787,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': + '@typescript-eslint/parser@8.18.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/scope-manager': 8.18.0 + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.18.0 debug: 4.3.7(supports-color@5.5.0) eslint: 9.16.0(jiti@2.4.1) - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -14704,10 +14809,10 @@ snapshots: '@typescript-eslint/types': 8.15.0 '@typescript-eslint/visitor-keys': 8.15.0 - '@typescript-eslint/scope-manager@8.17.0': + '@typescript-eslint/scope-manager@8.18.0': dependencies: - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/visitor-keys': 8.18.0 '@typescript-eslint/type-utils@7.16.1(eslint@9.16.0(jiti@2.4.1))(typescript@5.6.2)': dependencies: @@ -14733,14 +14838,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.18.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.18.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) debug: 4.3.7(supports-color@5.5.0) eslint: 9.16.0(jiti@2.4.1) ts-api-utils: 1.4.3(typescript@5.7.2) - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -14749,7 +14853,7 @@ snapshots: '@typescript-eslint/types@8.15.0': {} - '@typescript-eslint/types@8.17.0': {} + '@typescript-eslint/types@8.18.0': {} '@typescript-eslint/typescript-estree@7.16.1(typescript@5.6.2)': dependencies: @@ -14781,17 +14885,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.17.0(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.18.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/visitor-keys': 8.18.0 debug: 4.3.7(supports-color@5.5.0) fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 ts-api-utils: 1.4.3(typescript@5.7.2) - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -14819,14 +14922,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': + '@typescript-eslint/utils@8.18.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.1)) - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.18.0 + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2) eslint: 9.16.0(jiti@2.4.1) - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -14841,19 +14943,19 @@ snapshots: '@typescript-eslint/types': 8.15.0 eslint-visitor-keys: 4.2.0 - '@typescript-eslint/visitor-keys@8.17.0': + '@typescript-eslint/visitor-keys@8.18.0': dependencies: - '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/types': 8.18.0 eslint-visitor-keys: 4.2.0 - '@vitejs/plugin-react@4.3.4(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))': + '@vitejs/plugin-react@4.3.4(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.0.2(@types/node@22.10.1)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - supports-color @@ -14864,13 +14966,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.1)(terser@5.36.0))': + '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.1))': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.14 optionalDependencies: - vite: 5.4.11(@types/node@22.10.1)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.1) '@vitest/pretty-format@2.1.8': dependencies: @@ -14897,16 +14999,16 @@ snapshots: loupe: 3.1.2 tinyrainbow: 1.2.0 - '@wagmi/connectors@5.5.3(@types/react@18.3.12)(@wagmi/core@2.15.2(@tanstack/query-core@5.62.2)(@types/react@18.3.12)(immer@10.1.1)(react@18.3.1)(typescript@5.7.2)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)': + '@wagmi/connectors@5.5.3(@types/react@18.3.14)(@wagmi/core@2.15.2(@tanstack/query-core@5.62.3)(@types/react@18.3.14)(immer@10.0.2)(react@18.3.1)(typescript@5.7.2)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)': dependencies: '@coinbase/wallet-sdk': 4.2.3 '@metamask/sdk': 0.31.1(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) '@safe-global/safe-apps-provider': 0.18.4(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) - '@wagmi/core': 2.15.2(@tanstack/query-core@5.62.2)(@types/react@18.3.12)(immer@10.1.1)(react@18.3.1)(typescript@5.7.2)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8)) - '@walletconnect/ethereum-provider': 2.17.0(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10) + '@wagmi/core': 2.15.2(@tanstack/query-core@5.62.3)(@types/react@18.3.14)(immer@10.0.2)(react@18.3.1)(typescript@5.7.2)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@walletconnect/ethereum-provider': 2.17.0(@types/react@18.3.14)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10) cbw-sdk: '@coinbase/wallet-sdk@3.9.3' - viem: 2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) + viem: 2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -14931,14 +15033,14 @@ snapshots: - utf-8-validate - zod - '@wagmi/core@2.15.2(@tanstack/query-core@5.62.2)(@types/react@18.3.12)(immer@10.1.1)(react@18.3.1)(typescript@5.7.2)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))': + '@wagmi/core@2.15.2(@tanstack/query-core@5.62.3)(@types/react@18.3.14)(immer@10.0.2)(react@18.3.1)(typescript@5.7.2)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))': dependencies: eventemitter3: 5.0.1 mipd: 0.0.7(typescript@5.7.2) - viem: 2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) - zustand: 5.0.0(@types/react@18.3.12)(immer@10.1.1)(react@18.3.1)(use-sync-external-store@1.2.0(react@18.3.1)) + viem: 2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) + zustand: 5.0.0(@types/react@18.3.14)(immer@10.0.2)(react@18.3.1)(use-sync-external-store@1.2.0(react@18.3.1)) optionalDependencies: - '@tanstack/query-core': 5.62.2 + '@tanstack/query-core': 5.62.3 typescript: 5.7.2 transitivePeerDependencies: - '@types/react' @@ -14985,13 +15087,13 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/ethereum-provider@2.17.0(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10)': + '@walletconnect/ethereum-provider@2.17.0(@types/react@18.3.14)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/jsonrpc-http-connection': 1.0.8(encoding@0.1.13) '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/modal': 2.7.0(@types/react@18.3.12)(react@18.3.1) + '@walletconnect/modal': 2.7.0(@types/react@18.3.14)(react@18.3.1) '@walletconnect/sign-client': 2.17.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@walletconnect/types': 2.17.0 '@walletconnect/universal-provider': 2.17.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) @@ -15088,16 +15190,16 @@ snapshots: '@walletconnect/safe-json': 1.0.2 pino: 7.11.0 - '@walletconnect/modal-core@2.7.0(@types/react@18.3.12)(react@18.3.1)': + '@walletconnect/modal-core@2.7.0(@types/react@18.3.14)(react@18.3.1)': dependencies: - valtio: 1.11.2(@types/react@18.3.12)(react@18.3.1) + valtio: 1.11.2(@types/react@18.3.14)(react@18.3.1) transitivePeerDependencies: - '@types/react' - react - '@walletconnect/modal-ui@2.7.0(@types/react@18.3.12)(react@18.3.1)': + '@walletconnect/modal-ui@2.7.0(@types/react@18.3.14)(react@18.3.1)': dependencies: - '@walletconnect/modal-core': 2.7.0(@types/react@18.3.12)(react@18.3.1) + '@walletconnect/modal-core': 2.7.0(@types/react@18.3.14)(react@18.3.1) lit: 2.8.0 motion: 10.16.2 qrcode: 1.5.3 @@ -15105,10 +15207,10 @@ snapshots: - '@types/react' - react - '@walletconnect/modal@2.7.0(@types/react@18.3.12)(react@18.3.1)': + '@walletconnect/modal@2.7.0(@types/react@18.3.14)(react@18.3.1)': dependencies: - '@walletconnect/modal-core': 2.7.0(@types/react@18.3.12)(react@18.3.1) - '@walletconnect/modal-ui': 2.7.0(@types/react@18.3.12)(react@18.3.1) + '@walletconnect/modal-core': 2.7.0(@types/react@18.3.14)(react@18.3.1) + '@walletconnect/modal-ui': 2.7.0(@types/react@18.3.14)(react@18.3.1) transitivePeerDependencies: - '@types/react' - react @@ -15311,12 +15413,7 @@ snapshots: optionalDependencies: zod: 3.23.8 - abitype@1.0.0(typescript@5.7.2)(zod@3.23.8): - optionalDependencies: - typescript: 5.7.2 - zod: 3.23.8 - - abitype@1.0.6(typescript@5.7.2)(zod@3.23.8): + abitype@1.0.7(typescript@5.7.2)(zod@3.23.8): optionalDependencies: typescript: 5.7.2 zod: 3.23.8 @@ -15337,6 +15434,8 @@ snapshots: adm-zip@0.4.16: {} + aes-js@3.0.0: {} + aes-js@4.0.0-beta.5: {} agent-base@6.0.2: @@ -15379,6 +15478,8 @@ snapshots: ansi-regex@2.1.1: {} + ansi-regex@3.0.1: {} + ansi-regex@4.1.1: {} ansi-regex@5.0.1: {} @@ -15401,6 +15502,8 @@ snapshots: ansis@3.3.2: {} + antlr4ts@0.5.0-alpha.4: {} + any-promise@1.3.0: {} any-signal@2.1.2: @@ -15461,23 +15564,25 @@ snapshots: array-buffer-byte-length@1.0.1: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 is-array-buffer: 3.0.4 array-includes@3.1.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.5 es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.5 is-string: 1.1.0 array-union@2.1.0: {} + array-uniq@1.0.3: {} + array.prototype.findlast@1.2.5: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.5 es-errors: 1.3.0 @@ -15486,7 +15591,7 @@ snapshots: array.prototype.findlastindex@1.2.5: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.5 es-errors: 1.3.0 @@ -15495,21 +15600,21 @@ snapshots: array.prototype.flat@1.3.2: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.5 es-shim-unscopables: 1.0.2 array.prototype.flatmap@1.3.2: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.5 es-shim-unscopables: 1.0.2 array.prototype.tosorted@1.1.4: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.5 es-errors: 1.3.0 @@ -15518,11 +15623,11 @@ snapshots: arraybuffer.prototype.slice@1.0.3: dependencies: array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.5 es-errors: 1.3.0 - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.5 is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 @@ -15560,7 +15665,7 @@ snapshots: assert@2.1.0: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 is-nan: 1.3.2 object-is: 1.1.6 object.assign: 4.1.5 @@ -15597,7 +15702,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001686 + caniuse-lite: 1.0.30001687 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -15628,7 +15733,7 @@ snapshots: transitivePeerDependencies: - debug - axios@1.7.8: + axios@1.7.9: dependencies: follow-redirects: 1.15.9(debug@4.3.7) form-data: 4.0.1 @@ -15671,9 +15776,9 @@ snapshots: babel-dead-code-elimination@1.0.6: dependencies: '@babel/core': 7.26.0 - '@babel/parser': 7.26.2 - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/traverse': 7.26.4(supports-color@5.5.0) + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color @@ -15701,7 +15806,7 @@ snapshots: babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.25.2): dependencies: - '@babel/compat-data': 7.26.2 + '@babel/compat-data': 7.26.3 '@babel/core': 7.25.2 '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.25.2) semver: 6.3.1 @@ -15723,14 +15828,14 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-styled-components@2.1.4(@babel/core@7.26.0)(styled-components@5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1))(supports-color@5.5.0): + babel-plugin-styled-components@2.1.4(@babel/core@7.26.0)(styled-components@5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1))(supports-color@5.5.0): dependencies: '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) lodash: 4.17.21 picomatch: 2.3.1 - styled-components: 5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) + styled-components: 5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1) transitivePeerDependencies: - '@babel/core' - supports-color @@ -15803,6 +15908,8 @@ snapshots: base64-js@1.5.1: {} + bech32@1.1.4: {} + better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 @@ -15880,8 +15987,6 @@ snapshots: brorand@1.1.0: {} - brotli-wasm@2.0.1: {} - browser-readablestream-to-it@1.0.3: {} browser-readablestream-to-it@2.0.7: {} @@ -15939,8 +16044,8 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001686 - electron-to-chromium: 1.5.68 + caniuse-lite: 1.0.30001687 + electron-to-chromium: 1.5.71 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -16009,12 +16114,16 @@ snapshots: normalize-url: 8.0.1 responselike: 3.0.0 - call-bind@1.0.7: + call-bind-apply-helpers@1.0.1: dependencies: - es-define-property: 1.0.0 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.4 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-define-property: 1.0.1 + get-intrinsic: 1.2.5 set-function-length: 1.2.2 callsites@3.1.0: {} @@ -16032,7 +16141,7 @@ snapshots: camelize@1.0.1: {} - caniuse-lite@1.0.30001686: {} + caniuse-lite@1.0.30001687: {} capital-case@1.0.4: dependencies: @@ -16057,7 +16166,7 @@ snapshots: cborg@1.10.2: {} - cborg@4.2.6: {} + cborg@4.2.7: {} ccount@2.0.1: {} @@ -16227,18 +16336,19 @@ snapshots: cli-spinners@2.9.2: {} - cli-table3@0.6.0: + cli-table3@0.5.1: dependencies: object-assign: 4.1.1 - string-width: 4.2.3 + string-width: 2.1.1 optionalDependencies: colors: 1.4.0 - cli-table3@0.6.5: + cli-table3@0.6.0: dependencies: + object-assign: 4.1.1 string-width: 4.2.3 optionalDependencies: - '@colors/colors': 1.5.0 + colors: 1.4.0 cli-width@4.1.0: {} @@ -16335,9 +16445,9 @@ snapshots: ini: 1.3.8 proto-list: 1.2.4 - connectkit@1.8.2(@babel/core@7.26.0)(@tanstack/react-query@5.62.2(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(wagmi@2.13.3(@tanstack/query-core@5.62.2)(@tanstack/react-query@5.62.2(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(immer@10.1.1)(react@18.3.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)): + connectkit@1.8.2(@babel/core@7.26.0)(@tanstack/react-query@5.62.3(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1)(viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(wagmi@2.13.5(@tanstack/query-core@5.62.3)(@tanstack/react-query@5.62.3(react@18.3.1))(@types/react@18.3.14)(bufferutil@4.0.8)(encoding@0.1.13)(immer@10.0.2)(react@18.3.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)): dependencies: - '@tanstack/react-query': 5.62.2(react@18.3.1) + '@tanstack/react-query': 5.62.3(react@18.3.1) buffer: 6.0.3 detect-browser: 5.3.0 framer-motion: 6.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -16347,9 +16457,9 @@ snapshots: react-transition-state: 1.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-use-measure: 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) resize-observer-polyfill: 1.5.1 - styled-components: 5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) - viem: 2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) - wagmi: 2.13.3(@tanstack/query-core@5.62.2)(@tanstack/react-query@5.62.2(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(immer@10.1.1)(react@18.3.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) + styled-components: 5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1) + viem: 2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) + wagmi: 2.13.5(@tanstack/query-core@5.62.3)(@tanstack/react-query@5.62.3(react@18.3.1))(@types/react@18.3.14)(bufferutil@4.0.8)(encoding@0.1.13)(immer@10.0.2)(react@18.3.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) transitivePeerDependencies: - '@babel/core' - react-is @@ -16499,19 +16609,19 @@ snapshots: data-view-buffer@1.0.1: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 es-errors: 1.3.0 is-data-view: 1.0.1 data-view-byte-length@1.0.1: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 es-errors: 1.3.0 is-data-view: 1.0.1 data-view-byte-offset@1.0.0: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 es-errors: 1.3.0 is-data-view: 1.0.1 @@ -16533,11 +16643,9 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.4(supports-color@8.1.1): + debug@4.3.4: dependencies: ms: 2.1.2 - optionalDependencies: - supports-color: 8.1.1 debug@4.3.7(supports-color@5.5.0): dependencies: @@ -16551,6 +16659,10 @@ snapshots: optionalDependencies: supports-color: 8.1.1 + debug@4.4.0: + dependencies: + ms: 2.1.3 + decamelize@1.2.0: {} decamelize@4.0.0: {} @@ -16574,9 +16686,9 @@ snapshots: deep-equal@2.2.3: dependencies: array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 + call-bind: 1.0.8 es-get-iterator: 1.1.3 - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.5 is-arguments: 1.1.1 is-array-buffer: 3.0.4 is-date-object: 1.0.5 @@ -16611,9 +16723,9 @@ snapshots: define-data-property@1.1.4: dependencies: - es-define-property: 1.0.0 + es-define-property: 1.0.1 es-errors: 1.3.0 - gopd: 1.1.0 + gopd: 1.2.0 define-lazy-prop@2.0.0: {} @@ -16688,7 +16800,7 @@ snapshots: dns-over-http-resolver@1.2.3(node-fetch@2.7.0(encoding@0.1.13)): dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@5.5.0) native-fetch: 3.0.0(node-fetch@2.7.0(encoding@0.1.13)) receptacle: 1.3.2 transitivePeerDependencies: @@ -16737,6 +16849,12 @@ snapshots: dotenv@8.6.0: {} + dunder-proto@1.0.0: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + duplexify@4.1.3: dependencies: end-of-stream: 1.4.4 @@ -16765,7 +16883,7 @@ snapshots: dependencies: encoding: 0.1.13 - electron-to-chromium@1.5.68: {} + electron-to-chromium@1.5.71: {} elliptic@6.5.4: dependencies: @@ -16846,22 +16964,22 @@ snapshots: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 available-typed-arrays: 1.0.7 - call-bind: 1.0.7 + call-bind: 1.0.8 data-view-buffer: 1.0.1 data-view-byte-length: 1.0.1 data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 + es-define-property: 1.0.1 es-errors: 1.3.0 es-object-atoms: 1.0.0 es-set-tostringtag: 2.0.3 es-to-primitive: 1.3.0 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.5 get-symbol-description: 1.0.2 globalthis: 1.0.4 - gopd: 1.1.0 + gopd: 1.2.0 has-property-descriptors: 1.0.2 - has-proto: 1.1.0 + has-proto: 1.2.0 has-symbols: 1.1.0 hasown: 2.0.2 internal-slot: 1.0.7 @@ -16890,16 +17008,14 @@ snapshots: unbox-primitive: 1.0.2 which-typed-array: 1.1.16 - es-define-property@1.0.0: - dependencies: - get-intrinsic: 1.2.4 + es-define-property@1.0.1: {} es-errors@1.3.0: {} es-get-iterator@1.1.3: dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 + call-bind: 1.0.8 + get-intrinsic: 1.2.5 has-symbols: 1.1.0 is-arguments: 1.1.1 is-map: 2.0.3 @@ -16910,17 +17026,17 @@ snapshots: es-iterator-helpers@1.2.0: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.5 es-errors: 1.3.0 es-set-tostringtag: 2.0.3 function-bind: 1.1.2 - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.5 globalthis: 1.0.4 - gopd: 1.1.0 + gopd: 1.2.0 has-property-descriptors: 1.0.2 - has-proto: 1.1.0 + has-proto: 1.2.0 has-symbols: 1.1.0 internal-slot: 1.0.7 iterator.prototype: 1.1.3 @@ -16934,7 +17050,7 @@ snapshots: es-set-tostringtag@2.0.3: dependencies: - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.5 has-tostringtag: 1.0.2 hasown: 2.0.2 @@ -17291,6 +17407,10 @@ snapshots: dependencies: eslint: 9.16.0(jiti@2.4.1) + eslint-plugin-react-hooks@5.1.0(eslint@9.16.0(jiti@2.4.1)): + dependencies: + eslint: 9.16.0(jiti@2.4.1) + eslint-plugin-react-refresh@0.4.16(eslint@9.16.0(jiti@2.4.1)): dependencies: eslint: 9.16.0(jiti@2.4.1) @@ -17432,11 +17552,11 @@ snapshots: dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.1)) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.19.0 - '@eslint/core': 0.9.0 + '@eslint/config-array': 0.19.1 + '@eslint/core': 0.9.1 '@eslint/eslintrc': 3.2.0 '@eslint/js': 9.16.0 - '@eslint/plugin-kit': 0.2.3 + '@eslint/plugin-kit': 0.2.4 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.1 @@ -17524,6 +17644,26 @@ snapshots: transitivePeerDependencies: - supports-color + eth-gas-reporter@0.2.27(bufferutil@4.0.8)(utf-8-validate@5.0.10): + dependencies: + '@solidity-parser/parser': 0.14.5 + axios: 1.7.9 + cli-table3: 0.5.1 + colors: 1.4.0 + ethereum-cryptography: 1.2.0 + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + fs-readdir-recursive: 1.1.0 + lodash: 4.17.21 + markdown-table: 1.1.3 + mocha: 10.8.2 + req-cwd: 2.0.0 + sha1: 1.1.1 + sync-request: 6.1.0 + transitivePeerDependencies: + - bufferutil + - debug + - utf-8-validate + eth-json-rpc-filters@6.0.1: dependencies: '@metamask/safe-event-emitter': 3.1.2 @@ -17600,6 +17740,42 @@ snapshots: ethereum-cryptography: 0.1.3 rlp: 2.2.7 + ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10): + dependencies: + '@ethersproject/abi': 5.7.0 + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/base64': 5.7.0 + '@ethersproject/basex': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/contracts': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/hdnode': 5.7.0 + '@ethersproject/json-wallets': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/networks': 5.7.1 + '@ethersproject/pbkdf2': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@ethersproject/random': 5.7.0 + '@ethersproject/rlp': 5.7.0 + '@ethersproject/sha2': 5.7.0 + '@ethersproject/signing-key': 5.7.0 + '@ethersproject/solidity': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/units': 5.7.0 + '@ethersproject/wallet': 5.7.0 + '@ethersproject/web': 5.7.1 + '@ethersproject/wordlists': 5.7.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@adraffy/ens-normalize': 1.10.1 @@ -17783,7 +17959,7 @@ snapshots: follow-redirects@1.15.9(debug@4.3.4): optionalDependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 follow-redirects@1.15.9(debug@4.3.7): optionalDependencies: @@ -17876,6 +18052,8 @@ snapshots: dependencies: minipass: 3.3.6 + fs-readdir-recursive@1.1.0: {} + fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -17885,7 +18063,7 @@ snapshots: function.prototype.name@1.1.6: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.5 functions-have-names: 1.2.3 @@ -17900,11 +18078,14 @@ snapshots: get-func-name@2.0.2: {} - get-intrinsic@1.2.4: + get-intrinsic@1.2.5: dependencies: + call-bind-apply-helpers: 1.0.1 + dunder-proto: 1.0.0 + es-define-property: 1.0.1 es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.1.0 + gopd: 1.2.0 has-symbols: 1.1.0 hasown: 2.0.2 @@ -17931,9 +18112,9 @@ snapshots: get-symbol-description@1.0.2: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 es-errors: 1.3.0 - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.5 get-tsconfig@4.8.1: dependencies: @@ -18036,7 +18217,7 @@ snapshots: globalthis@1.0.4: dependencies: define-properties: 1.2.1 - gopd: 1.1.0 + gopd: 1.2.0 globby@10.0.2: dependencies: @@ -18128,9 +18309,7 @@ snapshots: transitivePeerDependencies: - debug - gopd@1.1.0: - dependencies: - get-intrinsic: 1.2.4 + gopd@1.2.0: {} got@13.0.0: dependencies: @@ -18148,7 +18327,7 @@ snapshots: gql.tada@1.8.10(graphql@16.9.0)(typescript@5.7.2): dependencies: - '@0no-co/graphql.web': 1.0.11(graphql@16.9.0) + '@0no-co/graphql.web': 1.0.12(graphql@16.9.0) '@0no-co/graphqlsp': 1.12.16(graphql@16.9.0)(typescript@5.7.2) '@gql.tada/cli-utils': 1.6.3(@0no-co/graphqlsp@1.12.16(graphql@16.9.0)(typescript@5.7.2))(graphql@16.9.0)(typescript@5.7.2) '@gql.tada/internal': 1.0.8(graphql@16.9.0)(typescript@5.7.2) @@ -18194,30 +18373,17 @@ snapshots: optionalDependencies: uglify-js: 3.19.3 - hardhat-gas-reporter@2.2.2(bufferutil@4.0.8)(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10))(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8): + hardhat-gas-reporter@1.0.10(bufferutil@4.0.8)(hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10): dependencies: - '@ethersproject/abi': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/units': 5.7.0 - '@solidity-parser/parser': 0.19.0 - axios: 1.7.8 - brotli-wasm: 2.0.1 - chalk: 4.1.2 - cli-table3: 0.6.5 - ethereum-cryptography: 2.2.1 - glob: 10.4.5 + array-uniq: 1.0.3 + eth-gas-reporter: 0.2.27(bufferutil@4.0.8)(utf-8-validate@5.0.10) hardhat: 2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10) - jsonschema: 1.4.1 - lodash: 4.17.21 - markdown-table: 2.0.0 sha1: 1.1.1 - viem: 2.7.14(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) transitivePeerDependencies: + - '@codechecks/client' - bufferutil - debug - - typescript - utf-8-validate - - zod hardhat@2.22.17(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10): dependencies: @@ -18288,11 +18454,11 @@ snapshots: has-property-descriptors@1.0.2: dependencies: - es-define-property: 1.0.0 + es-define-property: 1.0.1 - has-proto@1.1.0: + has-proto@1.2.0: dependencies: - call-bind: 1.0.7 + dunder-proto: 1.0.0 has-symbols@1.1.0: {} @@ -18428,9 +18594,6 @@ snapshots: immer@10.0.2: {} - immer@10.1.1: - optional: true - immutable@4.2.1: {} immutable@4.3.7: {} @@ -18506,7 +18669,7 @@ snapshots: any-signal: 2.1.2 blob-to-it: 1.0.4 browser-readablestream-to-it: 1.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@5.5.0) err-code: 3.0.1 ipfs-core-types: 0.9.0(node-fetch@2.7.0(encoding@0.1.13)) ipfs-unixfs: 6.0.9 @@ -18535,7 +18698,7 @@ snapshots: '@ipld/dag-pb': 2.1.18 abort-controller: 3.0.0 any-signal: 2.1.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.7(supports-color@5.5.0) err-code: 3.0.1 ipfs-core-types: 0.9.0(node-fetch@2.7.0(encoding@0.1.13)) ipfs-core-utils: 0.13.0(encoding@0.1.13)(node-fetch@2.7.0(encoding@0.1.13)) @@ -18603,13 +18766,13 @@ snapshots: is-arguments@1.1.1: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 has-tostringtag: 1.0.2 is-array-buffer@3.0.4: dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 + call-bind: 1.0.8 + get-intrinsic: 1.2.5 is-arrayish@0.2.1: {} @@ -18627,7 +18790,7 @@ snapshots: is-boolean-object@1.2.0: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 has-tostringtag: 1.0.2 is-builtin-module@3.2.1: @@ -18668,10 +18831,12 @@ snapshots: is-finalizationregistry@1.1.0: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 is-finite@1.1.0: {} + is-fullwidth-code-point@2.0.0: {} + is-fullwidth-code-point@3.0.0: {} is-generator-function@1.0.10: @@ -18702,14 +18867,14 @@ snapshots: is-nan@1.3.2: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 is-negative-zero@2.0.3: {} is-number-object@1.1.0: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 has-tostringtag: 1.0.2 is-number@7.0.0: {} @@ -18720,8 +18885,8 @@ snapshots: is-regex@1.2.0: dependencies: - call-bind: 1.0.7 - gopd: 1.1.0 + call-bind: 1.0.8 + gopd: 1.2.0 has-tostringtag: 1.0.2 hasown: 2.0.2 @@ -18731,7 +18896,7 @@ snapshots: is-shared-array-buffer@1.0.3: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 is-stream@1.1.0: {} @@ -18743,7 +18908,7 @@ snapshots: is-string@1.1.0: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 has-tostringtag: 1.0.2 is-subdir@1.2.0: @@ -18752,7 +18917,7 @@ snapshots: is-symbol@1.1.0: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 has-symbols: 1.1.0 safe-regex-test: 1.0.3 @@ -18766,12 +18931,12 @@ snapshots: is-weakref@1.0.2: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 is-weakset@2.0.3: dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 + call-bind: 1.0.8 + get-intrinsic: 1.2.5 is-windows@1.0.2: {} @@ -18805,10 +18970,6 @@ snapshots: dependencies: ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) - isows@1.0.3(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)): - dependencies: - ws: 8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - isows@1.0.6(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)): dependencies: ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -18862,9 +19023,9 @@ snapshots: iterator.prototype@1.1.3: dependencies: define-properties: 1.2.1 - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.5 has-symbols: 1.1.0 - reflect.getprototypeof: 1.0.7 + reflect.getprototypeof: 1.0.8 set-function-name: 2.0.2 jackspeak@3.4.3: @@ -19024,15 +19185,15 @@ snapshots: kleur@4.1.5: {} - kubo-rpc-client@5.0.2(undici@7.0.0): + kubo-rpc-client@5.0.2(undici@5.28.4): dependencies: '@ipld/dag-cbor': 9.2.2 '@ipld/dag-json': 10.2.3 '@ipld/dag-pb': 4.1.3 - '@libp2p/crypto': 5.0.7 - '@libp2p/interface': 2.2.1 - '@libp2p/logger': 5.1.4 - '@libp2p/peer-id': 5.0.8 + '@libp2p/crypto': 5.0.8 + '@libp2p/interface': 2.3.0 + '@libp2p/logger': 5.1.5 + '@libp2p/peer-id': 5.0.9 '@multiformats/multiaddr': 12.3.4 '@multiformats/multiaddr-to-uri': 10.1.2 any-signal: 4.1.1 @@ -19053,7 +19214,7 @@ snapshots: merge-options: 3.0.4 multiformats: 13.3.1 nanoid: 5.0.9 - native-fetch: 4.0.2(undici@7.0.0) + native-fetch: 4.0.2(undici@5.28.4) parse-duration: 1.1.1 react-native-fetch-api: 3.0.0 stream-to-it: 1.0.1 @@ -19078,8 +19239,6 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - lilconfig@2.1.0: {} - lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} @@ -19231,9 +19390,7 @@ snapshots: make-error@1.3.6: {} - markdown-table@2.0.0: - dependencies: - repeat-string: 1.6.1 + markdown-table@1.1.3: {} matchstick-as@0.6.0: dependencies: @@ -19684,7 +19841,7 @@ snapshots: yargs-parser: 20.2.9 yargs-unparser: 2.0.0 - monaco-editor@0.52.0: {} + monaco-editor@0.52.2: {} motion@10.16.2: dependencies: @@ -19756,9 +19913,9 @@ snapshots: dependencies: node-fetch: 2.7.0(encoding@0.1.13) - native-fetch@4.0.2(undici@7.0.0): + native-fetch@4.0.2(undici@5.28.4): dependencies: - undici: 7.0.0 + undici: 5.28.4 natural-compare@1.4.0: {} @@ -19919,7 +20076,7 @@ snapshots: object-is@1.1.6: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 object-keys@1.1.1: {} @@ -19928,33 +20085,33 @@ snapshots: object.assign@4.1.5: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 has-symbols: 1.1.0 object-keys: 1.1.1 object.entries@1.1.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-object-atoms: 1.0.0 object.fromentries@2.0.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.5 es-object-atoms: 1.0.0 object.groupby@1.0.3: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.5 object.values@1.2.0: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-object-atoms: 1.0.0 @@ -19963,14 +20120,14 @@ snapshots: oclif@4.16.0(@types/node@22.10.1): dependencies: '@aws-sdk/client-cloudfront': 3.699.0 - '@aws-sdk/client-s3': 3.703.0 + '@aws-sdk/client-s3': 3.705.0 '@inquirer/confirm': 3.2.0 '@inquirer/input': 2.3.0 '@inquirer/select': 2.5.0 '@oclif/core': 4.0.34 - '@oclif/plugin-help': 6.2.18 - '@oclif/plugin-not-found': 3.2.29(@types/node@22.10.1) - '@oclif/plugin-warn-if-update-available': 3.1.24 + '@oclif/plugin-help': 6.2.19 + '@oclif/plugin-not-found': 3.2.30(@types/node@22.10.1) + '@oclif/plugin-warn-if-update-available': 3.1.26 async-retry: 1.3.3 chalk: 4.1.2 change-case: 4.1.2 @@ -20067,11 +20224,11 @@ snapshots: ox@0.1.2(typescript@5.7.2)(zod@3.23.8): dependencies: '@adraffy/ens-normalize': 1.11.0 - '@noble/curves': 1.6.0 - '@noble/hashes': 1.5.0 - '@scure/bip32': 1.5.0 - '@scure/bip39': 1.4.0 - abitype: 1.0.6(typescript@5.7.2)(zod@3.23.8) + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.6.0 + '@scure/bip39': 1.5.0 + abitype: 1.0.7(typescript@5.7.2)(zod@3.23.8) eventemitter3: 5.0.1 optionalDependencies: typescript: 5.7.2 @@ -20126,7 +20283,7 @@ snapshots: package-json-from-dist@1.0.1: {} - package-manager-detector@0.2.6: {} + package-manager-detector@0.2.7: {} pako@1.0.11: {} @@ -20523,47 +20680,45 @@ snapshots: prop-types: 15.8.1 react: 18.3.1 - react-hook-form@7.53.2(react@18.3.1): + react-hook-form@7.54.0(react@18.3.1): dependencies: react: 18.3.1 react-is@16.13.1: {} - react-is@18.3.1: {} - react-native-fetch-api@3.0.0: dependencies: p-defer: 3.0.0 react-refresh@0.14.2: {} - react-remove-scroll-bar@2.3.6(@types/react@18.3.12)(react@18.3.1): + react-remove-scroll-bar@2.3.6(@types/react@18.3.14)(react@18.3.1): dependencies: react: 18.3.1 - react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.14)(react@18.3.1) tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - react-remove-scroll@2.6.0(@types/react@18.3.12)(react@18.3.1): + react-remove-scroll@2.6.0(@types/react@18.3.14)(react@18.3.1): dependencies: react: 18.3.1 - react-remove-scroll-bar: 2.3.6(@types/react@18.3.12)(react@18.3.1) - react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1) + react-remove-scroll-bar: 2.3.6(@types/react@18.3.14)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.14)(react@18.3.1) tslib: 2.8.1 - use-callback-ref: 1.3.2(@types/react@18.3.12)(react@18.3.1) - use-sidecar: 1.1.2(@types/react@18.3.12)(react@18.3.1) + use-callback-ref: 1.3.2(@types/react@18.3.14)(react@18.3.1) + use-sidecar: 1.1.2(@types/react@18.3.14)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - react-style-singleton@2.2.1(@types/react@18.3.12)(react@18.3.1): + react-style-singleton@2.2.1(@types/react@18.3.14)(react@18.3.1): dependencies: get-nonce: 1.0.1 invariant: 2.2.4 react: 18.3.1 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 react-transition-state@1.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: @@ -20660,16 +20815,17 @@ snapshots: refa@0.12.1: dependencies: - '@eslint-community/regexpp': 4.11.1 + '@eslint-community/regexpp': 4.12.1 - reflect.getprototypeof@1.0.7: + reflect.getprototypeof@1.0.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 + dunder-proto: 1.0.0 es-abstract: 1.23.5 es-errors: 1.3.0 - get-intrinsic: 1.2.4 - gopd: 1.1.0 + get-intrinsic: 1.2.5 + gopd: 1.2.0 which-builtin-type: 1.2.0 regenerate-unicode-properties@10.2.0: @@ -20690,14 +20846,14 @@ snapshots: regexp-ast-analysis@0.7.1: dependencies: - '@eslint-community/regexpp': 4.11.1 + '@eslint-community/regexpp': 4.12.1 refa: 0.12.1 regexp-tree@0.1.27: {} regexp.prototype.flags@1.5.3: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-errors: 1.3.0 set-function-name: 2.0.2 @@ -20747,12 +20903,18 @@ snapshots: mdast-util-to-markdown: 2.1.2 unified: 11.0.5 - repeat-string@1.6.1: {} - repeating@2.0.1: dependencies: is-finite: 1.1.0 + req-cwd@2.0.0: + dependencies: + req-from: 2.0.0 + + req-from@2.0.0: + dependencies: + resolve-from: 3.0.0 + require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -20763,6 +20925,8 @@ snapshots: resolve-alpn@1.2.1: {} + resolve-from@3.0.0: {} + resolve-from@4.0.0: {} resolve-from@5.0.0: {} @@ -20826,28 +20990,29 @@ snapshots: dependencies: bn.js: 5.2.1 - rollup@4.28.0: + rollup@4.28.1: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.28.0 - '@rollup/rollup-android-arm64': 4.28.0 - '@rollup/rollup-darwin-arm64': 4.28.0 - '@rollup/rollup-darwin-x64': 4.28.0 - '@rollup/rollup-freebsd-arm64': 4.28.0 - '@rollup/rollup-freebsd-x64': 4.28.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.28.0 - '@rollup/rollup-linux-arm-musleabihf': 4.28.0 - '@rollup/rollup-linux-arm64-gnu': 4.28.0 - '@rollup/rollup-linux-arm64-musl': 4.28.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.28.0 - '@rollup/rollup-linux-riscv64-gnu': 4.28.0 - '@rollup/rollup-linux-s390x-gnu': 4.28.0 - '@rollup/rollup-linux-x64-gnu': 4.28.0 - '@rollup/rollup-linux-x64-musl': 4.28.0 - '@rollup/rollup-win32-arm64-msvc': 4.28.0 - '@rollup/rollup-win32-ia32-msvc': 4.28.0 - '@rollup/rollup-win32-x64-msvc': 4.28.0 + '@rollup/rollup-android-arm-eabi': 4.28.1 + '@rollup/rollup-android-arm64': 4.28.1 + '@rollup/rollup-darwin-arm64': 4.28.1 + '@rollup/rollup-darwin-x64': 4.28.1 + '@rollup/rollup-freebsd-arm64': 4.28.1 + '@rollup/rollup-freebsd-x64': 4.28.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.28.1 + '@rollup/rollup-linux-arm-musleabihf': 4.28.1 + '@rollup/rollup-linux-arm64-gnu': 4.28.1 + '@rollup/rollup-linux-arm64-musl': 4.28.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.28.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.28.1 + '@rollup/rollup-linux-riscv64-gnu': 4.28.1 + '@rollup/rollup-linux-s390x-gnu': 4.28.1 + '@rollup/rollup-linux-x64-gnu': 4.28.1 + '@rollup/rollup-linux-x64-musl': 4.28.1 + '@rollup/rollup-win32-arm64-msvc': 4.28.1 + '@rollup/rollup-win32-ia32-msvc': 4.28.1 + '@rollup/rollup-win32-x64-msvc': 4.28.1 fsevents: 2.3.3 run-applescript@7.0.0: {} @@ -20862,8 +21027,8 @@ snapshots: safe-array-concat@1.1.2: dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 + call-bind: 1.0.8 + get-intrinsic: 1.2.5 has-symbols: 1.1.0 isarray: 2.0.5 @@ -20873,7 +21038,7 @@ snapshots: safe-regex-test@1.0.3: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 es-errors: 1.3.0 is-regex: 1.2.0 @@ -20947,8 +21112,8 @@ snapshots: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.4 - gopd: 1.1.0 + get-intrinsic: 1.2.5 + gopd: 1.2.0 has-property-descriptors: 1.0.2 set-function-name@2.0.2: @@ -20992,9 +21157,9 @@ snapshots: side-channel@1.0.6: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 es-errors: 1.3.0 - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.5 object-inspect: 1.13.3 siginfo@2.0.0: {} @@ -21187,6 +21352,11 @@ snapshots: string-format@2.0.0: {} + string-width@2.1.1: + dependencies: + is-fullwidth-code-point: 2.0.0 + strip-ansi: 4.0.0 + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -21207,19 +21377,19 @@ snapshots: string.prototype.includes@2.0.1: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.5 string.prototype.matchall@4.0.11: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.5 es-errors: 1.3.0 es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - gopd: 1.1.0 + get-intrinsic: 1.2.5 + gopd: 1.2.0 has-symbols: 1.1.0 internal-slot: 1.0.7 regexp.prototype.flags: 1.5.3 @@ -21233,20 +21403,20 @@ snapshots: string.prototype.trim@1.2.9: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.5 es-object-atoms: 1.0.0 string.prototype.trimend@1.0.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-object-atoms: 1.0.0 string.prototype.trimstart@1.0.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-object-atoms: 1.0.0 @@ -21269,6 +21439,10 @@ snapshots: dependencies: ansi-regex: 2.1.1 + strip-ansi@4.0.0: + dependencies: + ansi-regex: 3.0.1 + strip-ansi@5.2.0: dependencies: ansi-regex: 4.1.1 @@ -21309,19 +21483,19 @@ snapshots: hey-listen: 1.0.8 tslib: 2.8.1 - styled-components@5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1): + styled-components@5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1): dependencies: '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.26.4(supports-color@5.5.0) '@emotion/is-prop-valid': 1.3.1 '@emotion/stylis': 0.8.5 '@emotion/unitless': 0.7.5 - babel-plugin-styled-components: 2.1.4(@babel/core@7.26.0)(styled-components@5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1))(supports-color@5.5.0) + babel-plugin-styled-components: 2.1.4(@babel/core@7.26.0)(styled-components@5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1))(supports-color@5.5.0) css-to-react-native: 3.2.0 hoist-non-react-statics: 3.3.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-is: 18.3.1 + react-is: 16.13.1 shallowequal: 1.1.0 supports-color: 5.5.0 transitivePeerDependencies: @@ -21404,11 +21578,11 @@ snapshots: tailwind-merge@2.5.5: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))): + tailwindcss-animate@1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))): dependencies: - tailwindcss: 3.4.15(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)) + tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)) - tailwindcss@3.4.15(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)): + tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -21419,7 +21593,7 @@ snapshots: glob-parent: 6.0.2 is-glob: 4.0.3 jiti: 1.21.6 - lilconfig: 2.1.0 + lilconfig: 3.1.3 micromatch: 4.0.8 normalize-path: 3.0.0 object-hash: 3.0.0 @@ -21465,14 +21639,6 @@ snapshots: term-size@2.2.1: {} - terser@5.36.0: - dependencies: - '@jridgewell/source-map': 0.3.6 - acorn: 8.14.0 - commander: 2.20.3 - source-map-support: 0.5.21 - optional: true - then-request@6.0.2: dependencies: '@types/concat-stream': 1.6.1 @@ -21683,36 +21849,36 @@ snapshots: typed-array-buffer@1.0.2: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 es-errors: 1.3.0 is-typed-array: 1.1.13 typed-array-byte-length@1.0.1: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 for-each: 0.3.3 - gopd: 1.1.0 - has-proto: 1.1.0 + gopd: 1.2.0 + has-proto: 1.2.0 is-typed-array: 1.1.13 typed-array-byte-offset@1.0.3: dependencies: available-typed-arrays: 1.0.7 - call-bind: 1.0.7 + call-bind: 1.0.8 for-each: 0.3.3 - gopd: 1.1.0 - has-proto: 1.1.0 + gopd: 1.2.0 + has-proto: 1.2.0 is-typed-array: 1.1.13 - reflect.getprototypeof: 1.0.7 + reflect.getprototypeof: 1.0.8 typed-array-length@1.0.7: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 for-each: 0.3.3 - gopd: 1.1.0 + gopd: 1.2.0 is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - reflect.getprototypeof: 1.0.7 + reflect.getprototypeof: 1.0.8 typedarray@0.0.6: {} @@ -21754,7 +21920,7 @@ snapshots: unbox-primitive@1.0.2: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 has-bigints: 1.0.2 has-symbols: 1.1.0 which-boxed-primitive: 1.1.0 @@ -21769,8 +21935,6 @@ snapshots: dependencies: '@fastify/busboy': 2.1.1 - undici@7.0.0: {} - unenv@1.10.0: dependencies: consola: 3.2.3 @@ -21921,26 +22085,26 @@ snapshots: urlpattern-polyfill@8.0.2: {} - use-callback-ref@1.3.2(@types/react@18.3.12)(react@18.3.1): + use-callback-ref@1.3.2(@types/react@18.3.14)(react@18.3.1): dependencies: react: 18.3.1 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 - use-sidecar@1.1.2(@types/react@18.3.12)(react@18.3.1): + use-sidecar@1.1.2(@types/react@18.3.14)(react@18.3.1): dependencies: detect-node-es: 1.1.0 react: 18.3.1 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 use-sync-external-store@1.2.0(react@18.3.1): dependencies: react: 18.3.1 - use-sync-external-store@1.2.2(react@18.3.1): + use-sync-external-store@1.4.0(react@18.3.1): dependencies: react: 18.3.1 @@ -21980,12 +22144,12 @@ snapshots: validate-npm-package-name@5.0.1: {} - valtio@1.11.2(@types/react@18.3.12)(react@18.3.1): + valtio@1.11.2(@types/react@18.3.14)(react@18.3.1): dependencies: proxy-compare: 2.5.1 use-sync-external-store: 1.2.0(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.14 react: 18.3.1 varint@6.0.0: {} @@ -22021,13 +22185,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8): + viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8): dependencies: - '@noble/curves': 1.6.0 - '@noble/hashes': 1.5.0 - '@scure/bip32': 1.5.0 - '@scure/bip39': 1.4.0 - abitype: 1.0.6(typescript@5.7.2)(zod@3.23.8) + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.6.0 + '@scure/bip39': 1.5.0 + abitype: 1.0.7(typescript@5.7.2)(zod@3.23.8) isows: 1.0.6(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) ox: 0.1.2(typescript@5.7.2)(zod@3.23.8) webauthn-p256: 0.0.10 @@ -22039,30 +22203,13 @@ snapshots: - utf-8-validate - zod - viem@2.7.14(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8): - 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(typescript@5.7.2)(zod@3.23.8) - isows: 1.0.3(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) - ws: 8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - optionalDependencies: - typescript: 5.7.2 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - zod - - vite-node@2.1.8(@types/node@22.10.1)(terser@5.36.0): + vite-node@2.1.8(@types/node@22.10.1): dependencies: cac: 6.7.14 debug: 4.3.7(supports-color@5.5.0) es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.1)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.1) transitivePeerDependencies: - '@types/node' - less @@ -22074,41 +22221,39 @@ snapshots: - supports-color - terser - vite-plugin-node-polyfills@0.22.0(rollup@4.28.0)(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)): + vite-plugin-node-polyfills@0.22.0(rollup@4.28.1)(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1)): dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@4.28.0) + '@rollup/plugin-inject': 5.0.5(rollup@4.28.1) node-stdlib-browser: 1.3.0 - vite: 6.0.2(@types/node@22.10.1)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - rollup - vite@5.4.11(@types/node@22.10.1)(terser@5.36.0): + vite@5.4.11(@types/node@22.10.1): dependencies: esbuild: 0.21.5 postcss: 8.4.49 - rollup: 4.28.0 + rollup: 4.28.1 optionalDependencies: '@types/node': 22.10.1 fsevents: 2.3.3 - terser: 5.36.0 - vite@6.0.2(@types/node@22.10.1)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1): + vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1): dependencies: esbuild: 0.24.0 postcss: 8.4.49 - rollup: 4.28.0 + rollup: 4.28.1 optionalDependencies: '@types/node': 22.10.1 fsevents: 2.3.3 jiti: 2.4.1 - terser: 5.36.0 tsx: 4.19.2 yaml: 2.6.1 - vitest@2.1.8(@types/node@22.10.1)(terser@5.36.0): + vitest@2.1.8(@types/node@22.10.1): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.1)(terser@5.36.0)) + '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.1)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 @@ -22124,8 +22269,8 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.1)(terser@5.36.0) - vite-node: 2.1.8(@types/node@22.10.1)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.1) + vite-node: 2.1.8(@types/node@22.10.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.10.1 @@ -22157,14 +22302,14 @@ snapshots: wabt@1.0.24: {} - wagmi@2.13.3(@tanstack/query-core@5.62.2)(@tanstack/react-query@5.62.2(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(immer@10.1.1)(react@18.3.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8): + wagmi@2.13.5(@tanstack/query-core@5.62.3)(@tanstack/react-query@5.62.3(react@18.3.1))(@types/react@18.3.14)(bufferutil@4.0.8)(encoding@0.1.13)(immer@10.0.2)(react@18.3.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8): dependencies: - '@tanstack/react-query': 5.62.2(react@18.3.1) - '@wagmi/connectors': 5.5.3(@types/react@18.3.12)(@wagmi/core@2.15.2(@tanstack/query-core@5.62.2)(@types/react@18.3.12)(immer@10.1.1)(react@18.3.1)(typescript@5.7.2)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) - '@wagmi/core': 2.15.2(@tanstack/query-core@5.62.2)(@types/react@18.3.12)(immer@10.1.1)(react@18.3.1)(typescript@5.7.2)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@tanstack/react-query': 5.62.3(react@18.3.1) + '@wagmi/connectors': 5.5.3(@types/react@18.3.14)(@wagmi/core@2.15.2(@tanstack/query-core@5.62.3)(@types/react@18.3.14)(immer@10.0.2)(react@18.3.1)(typescript@5.7.2)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) + '@wagmi/core': 2.15.2(@tanstack/query-core@5.62.3)(@types/react@18.3.14)(immer@10.0.2)(react@18.3.1)(typescript@5.7.2)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8)) react: 18.3.1 use-sync-external-store: 1.2.0(react@18.3.1) - viem: 2.21.53(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) + viem: 2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -22264,8 +22409,8 @@ snapshots: webauthn-p256@0.0.10: dependencies: - '@noble/curves': 1.6.0 - '@noble/hashes': 1.5.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 webcrypto-core@1.8.1: dependencies: @@ -22302,7 +22447,7 @@ snapshots: which-builtin-type@1.2.0: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 function.prototype.name: 1.1.6 has-tostringtag: 1.0.2 is-async-function: 2.0.0 @@ -22328,9 +22473,9 @@ snapshots: which-typed-array@1.1.16: dependencies: available-typed-arrays: 1.0.7 - call-bind: 1.0.7 + call-bind: 1.0.8 for-each: 0.3.3 - gopd: 1.1.0 + gopd: 1.2.0 has-tostringtag: 1.0.2 which@1.3.1: @@ -22389,12 +22534,12 @@ snapshots: wrappy@1.0.2: {} - ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): + ws@7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10): optionalDependencies: bufferutil: 4.0.8 utf-8-validate: 5.0.10 - ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10): + ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): optionalDependencies: bufferutil: 4.0.8 utf-8-validate: 5.0.10 @@ -22489,10 +22634,10 @@ snapshots: zod@3.23.8: {} - zustand@5.0.0(@types/react@18.3.12)(immer@10.1.1)(react@18.3.1)(use-sync-external-store@1.2.0(react@18.3.1)): + zustand@5.0.0(@types/react@18.3.14)(immer@10.0.2)(react@18.3.1)(use-sync-external-store@1.2.0(react@18.3.1)): optionalDependencies: - '@types/react': 18.3.12 - immer: 10.1.1 + '@types/react': 18.3.14 + immer: 10.0.2 react: 18.3.1 use-sync-external-store: 1.2.0(react@18.3.1)