diff --git a/.changeset/curly-days-travel.md b/.changeset/curly-days-travel.md new file mode 100644 index 00000000..cbd57182 --- /dev/null +++ b/.changeset/curly-days-travel.md @@ -0,0 +1,5 @@ +--- +"@wagmi/connectors": minor +--- + +Updated WalletConnect dependencies. diff --git a/.changeset/perfect-lobsters-chew.md b/.changeset/perfect-lobsters-chew.md new file mode 100644 index 00000000..7f68e839 --- /dev/null +++ b/.changeset/perfect-lobsters-chew.md @@ -0,0 +1,5 @@ +--- +"@wagmi/chains": patch +--- + +Added Linea chain. diff --git a/.changeset/shiny-files-applaud.md b/.changeset/shiny-files-applaud.md new file mode 100644 index 00000000..f7ee225e --- /dev/null +++ b/.changeset/shiny-files-applaud.md @@ -0,0 +1,5 @@ +--- +"@wagmi/connectors": patch +--- + +Added Desig Wallet name mapping. diff --git a/.changeset/spotty-stingrays-count.md b/.changeset/spotty-stingrays-count.md new file mode 100644 index 00000000..357fe0fa --- /dev/null +++ b/.changeset/spotty-stingrays-count.md @@ -0,0 +1,5 @@ +--- +"@wagmi/chains": patch +--- + +Updated SKALE Network Chains with WebSocket RPC URLs and Multicall addresses. diff --git a/.changeset/stale-zebras-provide.md b/.changeset/stale-zebras-provide.md new file mode 100644 index 00000000..5e54107a --- /dev/null +++ b/.changeset/stale-zebras-provide.md @@ -0,0 +1,5 @@ +--- +"@wagmi/chains": patch +--- + +Updated Base RPC URL. diff --git a/.changeset/tame-cobras-worry.md b/.changeset/tame-cobras-worry.md new file mode 100644 index 00000000..f5af7f2c --- /dev/null +++ b/.changeset/tame-cobras-worry.md @@ -0,0 +1,5 @@ +--- +"@wagmi/chains": patch +--- + +Added Scroll Sepolia testnet diff --git a/.changeset/wet-chairs-itch.md b/.changeset/wet-chairs-itch.md new file mode 100644 index 00000000..3a961ed2 --- /dev/null +++ b/.changeset/wet-chairs-itch.md @@ -0,0 +1,5 @@ +--- +"@wagmi/chains": patch +--- + +Removed "Testnet" on mantle mainnet explorer name. diff --git a/.changeset/wise-pens-brake.md b/.changeset/wise-pens-brake.md new file mode 100644 index 00000000..a2c0103c --- /dev/null +++ b/.changeset/wise-pens-brake.md @@ -0,0 +1,5 @@ +--- +"@wagmi/connectors": patch +--- + +Added Fordefi Wallet name mapping. diff --git a/packages/chains/src/base.ts b/packages/chains/src/base.ts index 0e885829..d7debb68 100644 --- a/packages/chains/src/base.ts +++ b/packages/chains/src/base.ts @@ -7,10 +7,10 @@ export const base = { nativeCurrency: { name: 'Base', symbol: 'ETH', decimals: 18 }, rpcUrls: { default: { - http: ['https://developer-access-mainnet.base.org'], + http: ['https://mainnet.base.org'], }, public: { - http: ['https://developer-access-mainnet.base.org'], + http: ['https://mainnet.base.org'], }, }, blockExplorers: { diff --git a/packages/chains/src/index.ts b/packages/chains/src/index.ts index 10102f91..20434f4e 100644 --- a/packages/chains/src/index.ts +++ b/packages/chains/src/index.ts @@ -56,6 +56,7 @@ export { harmonyOne } from './harmonyOne' export { haqqMainnet } from './haqqMainnet' export { haqqTestedge2 } from './haqqTestedge2' export { klaytn } from './klaytn' +export { linea } from './linea' export { lineaTestnet } from './lineaTestnet' export { localhost } from './localhost' export { mainnet } from './mainnet' @@ -83,6 +84,7 @@ export { pulsechain } from './pulsechain' export { pulsechainV4 } from './pulsechainV4' export { ronin } from './ronin' export { saigon } from './saigon' +export { scrollSepolia } from './scrollSepolia' export { scrollTestnet } from './scrollTestnet' export { sepolia } from './sepolia' export { skaleBlockBrawlers } from './skale/brawl' diff --git a/packages/chains/src/linea.ts b/packages/chains/src/linea.ts new file mode 100644 index 00000000..fcd2272b --- /dev/null +++ b/packages/chains/src/linea.ts @@ -0,0 +1,43 @@ +import { Chain } from './types' + +export const linea = { + id: 59_144, + name: 'Linea Mainnet', + network: 'linea-mainnet', + nativeCurrency: { name: 'Linea Ether', symbol: 'ETH', decimals: 18 }, + rpcUrls: { + infura: { + http: ['https://linea-mainnet.infura.io/v3'], + webSocket: ['wss://linea-mainnet.infura.io/ws/v3'], + }, + default: { + http: ['https://rpc.linea.build'], + webSocket: ['wss://rpc.linea.build'], + }, + public: { + http: ['https://rpc.linea.build'], + webSocket: ['wss://rpc.linea.build'], + }, + }, + blockExplorers: { + default: { + name: 'Etherscan', + url: 'https://lineascan.build', + }, + etherscan: { + name: 'Etherscan', + url: 'https://lineascan.build', + }, + blockscout: { + name: 'Blockscout', + url: 'https://explorer.linea.build', + }, + }, + contracts: { + multicall3: { + address: '0xcA11bde05977b3631167028862bE2a173976CA11', + blockCreated: 42, + }, + }, + testnet: false, +} as const satisfies Chain diff --git a/packages/chains/src/lineaTestnet.ts b/packages/chains/src/lineaTestnet.ts index 9b5f3c39..888b861e 100644 --- a/packages/chains/src/lineaTestnet.ts +++ b/packages/chains/src/lineaTestnet.ts @@ -7,8 +7,8 @@ export const lineaTestnet = { nativeCurrency: { name: 'Linea Ether', symbol: 'ETH', decimals: 18 }, rpcUrls: { infura: { - http: ['https://consensys-zkevm-goerli-prealpha.infura.io/v3'], - webSocket: ['wss://consensys-zkevm-goerli-prealpha.infura.io/ws/v3'], + http: ['https://linea-goerli.infura.io/v3'], + webSocket: ['wss://linea-goerli.infura.io/ws/v3'], }, default: { http: ['https://rpc.goerli.linea.build'], @@ -21,7 +21,15 @@ export const lineaTestnet = { }, blockExplorers: { default: { - name: 'BlockScout', + name: 'Etherscan', + url: 'https://goerli.lineascan.build', + }, + etherscan: { + name: 'Etherscan', + url: 'https://goerli.lineascan.build', + }, + blockscout: { + name: 'Blockscout', url: 'https://explorer.goerli.linea.build', }, }, diff --git a/packages/chains/src/mantle.ts b/packages/chains/src/mantle.ts index 198589fc..615669e2 100644 --- a/packages/chains/src/mantle.ts +++ b/packages/chains/src/mantle.ts @@ -15,11 +15,11 @@ export const mantle = { }, blockExplorers: { etherscan: { - name: 'Mantle Testnet Explorer', + name: 'Mantle Explorer', url: 'https://explorer.mantle.xyz', }, default: { - name: 'Mantle Testnet Explorer', + name: 'Mantle Explorer', url: 'https://explorer.mantle.xyz', }, }, diff --git a/packages/chains/src/scrollSepolia.ts b/packages/chains/src/scrollSepolia.ts new file mode 100644 index 00000000..0db0fe87 --- /dev/null +++ b/packages/chains/src/scrollSepolia.ts @@ -0,0 +1,25 @@ +import { Chain } from './types' + +export const scrollSepolia = { + id: 534_351, + name: 'Scroll Sepolia', + network: 'scroll-sepolia', + nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 }, + rpcUrls: { + default: { + http: ['https://sepolia-rpc.scroll.io'], + webSocket: ['wss://sepolia-rpc.scroll.io/ws'], + }, + public: { + http: ['https://sepolia-rpc.scroll.io'], + webSocket: ['wss://sepolia-rpc.scroll.io/ws'], + }, + }, + blockExplorers: { + default: { + name: 'Blockscout', + url: 'https://sepolia-blockscout.scroll.io', + }, + }, + testnet: true, +} as const satisfies Chain diff --git a/packages/chains/src/skale/brawl.ts b/packages/chains/src/skale/brawl.ts index 065d5cd5..a3586883 100644 --- a/packages/chains/src/skale/brawl.ts +++ b/packages/chains/src/skale/brawl.ts @@ -8,13 +8,15 @@ export const skaleBlockBrawlers = { rpcUrls: { default: { http: ['https://mainnet.skalenodes.com/v1/frayed-decent-antares'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/frayed-decent-antares'], }, public: { http: ['https://mainnet.skalenodes.com/v1/frayed-decent-antares'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/frayed-decent-antares'], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://frayed-decent-antares.explorer.mainnet.skalenodes.com', }, diff --git a/packages/chains/src/skale/calypso.ts b/packages/chains/src/skale/calypso.ts index b50bf43d..af912eac 100644 --- a/packages/chains/src/skale/calypso.ts +++ b/packages/chains/src/skale/calypso.ts @@ -8,13 +8,19 @@ export const skaleCalypso = { rpcUrls: { default: { http: ['https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague'], + webSocket: [ + 'wss://mainnet.skalenodes.com/v1/ws/honorable-steel-rasalhague', + ], }, public: { http: ['https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague'], + webSocket: [ + 'wss://mainnet.skalenodes.com/v1/ws/honorable-steel-rasalhague', + ], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com', }, @@ -23,5 +29,10 @@ export const skaleCalypso = { url: 'https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com', }, }, - contracts: {}, + contracts: { + multicall3: { + address: '0xcA11bde05977b3631167028862bE2a173976CA11', + blockCreated: 3107626, + }, + }, } as const satisfies Chain diff --git a/packages/chains/src/skale/calypsoTestnet.ts b/packages/chains/src/skale/calypsoTestnet.ts index ff936e17..3e8c22f6 100644 --- a/packages/chains/src/skale/calypsoTestnet.ts +++ b/packages/chains/src/skale/calypsoTestnet.ts @@ -10,15 +10,21 @@ export const skaleCalypsoTestnet = { http: [ 'https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar', ], + webSocket: [ + 'wss://staging-v3.skalenodes.com/v1/ws/staging-utter-unripe-menkar', + ], }, public: { http: [ 'https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar', ], + webSocket: [ + 'wss://staging-v3.skalenodes.com/v1/ws/staging-utter-unripe-menkar', + ], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com', }, @@ -27,6 +33,11 @@ export const skaleCalypsoTestnet = { url: 'https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com', }, }, - contracts: {}, + contracts: { + multicall3: { + address: '0xcA11bde05977b3631167028862bE2a173976CA11', + blockCreated: 2131424, + }, + }, testnet: true, } as const satisfies Chain diff --git a/packages/chains/src/skale/chaosTestnet.ts b/packages/chains/src/skale/chaosTestnet.ts index 44a6f266..01863f03 100644 --- a/packages/chains/src/skale/chaosTestnet.ts +++ b/packages/chains/src/skale/chaosTestnet.ts @@ -10,15 +10,21 @@ export const skaleChaosTestnet = { http: [ 'https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix', ], + webSocket: [ + 'wss://staging-v3.skalenodes.com/v1/ws/staging-fast-active-bellatrix', + ], }, public: { http: [ 'https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix', ], + webSocket: [ + 'wss://staging-v3.skalenodes.com/v1/ws/staging-fast-active-bellatrix', + ], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com', }, @@ -27,6 +33,11 @@ export const skaleChaosTestnet = { url: 'https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com', }, }, - contracts: {}, + contracts: { + multicall3: { + address: '0xcA11bde05977b3631167028862bE2a173976CA11', + blockCreated: 1192202, + }, + }, testnet: true, } as const satisfies Chain diff --git a/packages/chains/src/skale/cryptoBlades.ts b/packages/chains/src/skale/cryptoBlades.ts index 9a1ebf09..a475ee5f 100644 --- a/packages/chains/src/skale/cryptoBlades.ts +++ b/packages/chains/src/skale/cryptoBlades.ts @@ -8,13 +8,19 @@ export const skaleCryptoBlades = { rpcUrls: { default: { http: ['https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux'], + webSocket: [ + 'wss://mainnet.skalenodes.com/v1/ws/affectionate-immediate-pollux', + ], }, public: { http: ['https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux'], + webSocket: [ + 'wss://mainnet.skalenodes.com/v1/ws/affectionate-immediate-pollux', + ], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com', }, diff --git a/packages/chains/src/skale/cryptoColosseum.ts b/packages/chains/src/skale/cryptoColosseum.ts index 50df5191..65f61e5b 100644 --- a/packages/chains/src/skale/cryptoColosseum.ts +++ b/packages/chains/src/skale/cryptoColosseum.ts @@ -8,13 +8,15 @@ export const skaleCryptoColosseum = { rpcUrls: { default: { http: ['https://mainnet.skalenodes.com/v1/haunting-devoted-deneb'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/haunting-devoted-deneb'], }, public: { http: ['https://mainnet.skalenodes.com/v1/haunting-devoted-deneb'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/haunting-devoted-deneb'], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com', }, diff --git a/packages/chains/src/skale/europa.ts b/packages/chains/src/skale/europa.ts index ac216b3a..17e60def 100644 --- a/packages/chains/src/skale/europa.ts +++ b/packages/chains/src/skale/europa.ts @@ -8,13 +8,15 @@ export const skaleEuropa = { rpcUrls: { default: { http: ['https://mainnet.skalenodes.com/v1/elated-tan-skat'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/elated-tan-skat'], }, public: { http: ['https://mainnet.skalenodes.com/v1/elated-tan-skat'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/elated-tan-skat'], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://elated-tan-skat.explorer.mainnet.skalenodes.com', }, @@ -23,5 +25,10 @@ export const skaleEuropa = { url: 'https://elated-tan-skat.explorer.mainnet.skalenodes.com', }, }, - contracts: {}, + contracts: { + multicall3: { + address: '0xcA11bde05977b3631167028862bE2a173976CA11', + blockCreated: 3113495, + }, + }, } as const satisfies Chain diff --git a/packages/chains/src/skale/europaTestnet.ts b/packages/chains/src/skale/europaTestnet.ts index 3f06ca34..988b96c6 100644 --- a/packages/chains/src/skale/europaTestnet.ts +++ b/packages/chains/src/skale/europaTestnet.ts @@ -8,13 +8,19 @@ export const skaleEuropaTestnet = { rpcUrls: { default: { http: ['https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor'], + webSocket: [ + 'wss://staging-v3.skalenodes.com/v1/ws/staging-legal-crazy-castor', + ], }, public: { http: ['https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor'], + webSocket: [ + 'wss://staging-v3.skalenodes.com/v1/ws/staging-legal-crazy-castor', + ], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com', }, @@ -23,6 +29,11 @@ export const skaleEuropaTestnet = { url: 'https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com', }, }, - contracts: {}, + contracts: { + multicall3: { + address: '0xcA11bde05977b3631167028862bE2a173976CA11', + blockCreated: 2071911, + }, + }, testnet: true, } as const satisfies Chain diff --git a/packages/chains/src/skale/exorde.ts b/packages/chains/src/skale/exorde.ts index ca968d21..51d8abcb 100644 --- a/packages/chains/src/skale/exorde.ts +++ b/packages/chains/src/skale/exorde.ts @@ -8,13 +8,15 @@ export const skaleExorde = { rpcUrls: { default: { http: ['https://mainnet.skalenodes.com/v1/light-vast-diphda'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/light-vast-diphda'], }, public: { http: ['https://mainnet.skalenodes.com/v1/light-vast-diphda'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/light-vast-diphda'], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://light-vast-diphda.explorer.mainnet.skalenodes.com', }, diff --git a/packages/chains/src/skale/humanProtocol.ts b/packages/chains/src/skale/humanProtocol.ts index f3622466..9a5706bf 100644 --- a/packages/chains/src/skale/humanProtocol.ts +++ b/packages/chains/src/skale/humanProtocol.ts @@ -8,13 +8,15 @@ export const skaleHumanProtocol = { rpcUrls: { default: { http: ['https://mainnet.skalenodes.com/v1/wan-red-ain'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/wan-red-ain'], }, public: { http: ['https://mainnet.skalenodes.com/v1/wan-red-ain'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/wan-red-ain'], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://wan-red-ain.explorer.mainnet.skalenodes.com', }, diff --git a/packages/chains/src/skale/nebula.ts b/packages/chains/src/skale/nebula.ts index 1cc29279..d79d5823 100644 --- a/packages/chains/src/skale/nebula.ts +++ b/packages/chains/src/skale/nebula.ts @@ -8,13 +8,15 @@ export const skaleNebula = { rpcUrls: { default: { http: ['https://mainnet.skalenodes.com/v1/green-giddy-denebola'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/green-giddy-denebola'], }, public: { http: ['https://mainnet.skalenodes.com/v1/green-giddy-denebola'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/green-giddy-denebola'], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://green-giddy-denebola.explorer.mainnet.skalenodes.com', }, @@ -23,5 +25,10 @@ export const skaleNebula = { url: 'https://green-giddy-denebola.explorer.mainnet.skalenodes.com', }, }, - contracts: {}, + contracts: { + multicall3: { + address: '0xcA11bde05977b3631167028862bE2a173976CA11', + blockCreated: 2372986, + }, + }, } as const satisfies Chain diff --git a/packages/chains/src/skale/nebulaTestnet.ts b/packages/chains/src/skale/nebulaTestnet.ts index 8e8fed5c..5147cb42 100644 --- a/packages/chains/src/skale/nebulaTestnet.ts +++ b/packages/chains/src/skale/nebulaTestnet.ts @@ -8,13 +8,19 @@ export const skaleNebulaTestnet = { rpcUrls: { default: { http: ['https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird'], + webSocket: [ + 'wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird', + ], }, public: { http: ['https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird'], + webSocket: [ + 'wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird', + ], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com', }, @@ -23,6 +29,11 @@ export const skaleNebulaTestnet = { url: 'https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com', }, }, - contracts: {}, + contracts: { + multicall3: { + address: '0xcA11bde05977b3631167028862bE2a173976CA11', + blockCreated: 2205882, + }, + }, testnet: true, } as const satisfies Chain diff --git a/packages/chains/src/skale/razor.ts b/packages/chains/src/skale/razor.ts index d79a0760..1a59ad0f 100644 --- a/packages/chains/src/skale/razor.ts +++ b/packages/chains/src/skale/razor.ts @@ -8,13 +8,15 @@ export const skaleRazor = { rpcUrls: { default: { http: ['https://mainnet.skalenodes.com/v1/turbulent-unique-scheat'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/turbulent-unique-scheat'], }, public: { http: ['https://mainnet.skalenodes.com/v1/turbulent-unique-scheat'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/turbulent-unique-scheat'], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com', }, diff --git a/packages/chains/src/skale/titan.ts b/packages/chains/src/skale/titan.ts index cfe5272c..0f7f9f2f 100644 --- a/packages/chains/src/skale/titan.ts +++ b/packages/chains/src/skale/titan.ts @@ -8,13 +8,15 @@ export const skaleTitan = { rpcUrls: { default: { http: ['https://mainnet.skalenodes.com/v1/parallel-stormy-spica'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica'], }, public: { http: ['https://mainnet.skalenodes.com/v1/parallel-stormy-spica'], + webSocket: ['wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica'], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://parallel-stormy-spica.explorer.mainnet.skalenodes.com', }, @@ -23,5 +25,10 @@ export const skaleTitan = { url: 'https://parallel-stormy-spica.explorer.mainnet.skalenodes.com', }, }, - contracts: {}, + contracts: { + multicall3: { + address: '0xcA11bde05977b3631167028862bE2a173976CA11', + blockCreated: 2076458, + }, + }, } as const satisfies Chain diff --git a/packages/chains/src/skale/titanTestnet.ts b/packages/chains/src/skale/titanTestnet.ts index 08e64e1c..c2918962 100644 --- a/packages/chains/src/skale/titanTestnet.ts +++ b/packages/chains/src/skale/titanTestnet.ts @@ -10,15 +10,21 @@ export const skaleTitanTestnet = { http: [ 'https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar', ], + webSocket: [ + 'wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar', + ], }, public: { http: [ 'https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar', ], + webSocket: [ + 'wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar', + ], }, }, blockExplorers: { - etherscan: { + blockscout: { name: 'SKALE Explorer', url: 'https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com', }, @@ -27,6 +33,11 @@ export const skaleTitanTestnet = { url: 'https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com', }, }, - contracts: {}, + contracts: { + multicall3: { + address: '0xcA11bde05977b3631167028862bE2a173976CA11', + blockCreated: 2085155, + }, + }, testnet: true, } as const satisfies Chain diff --git a/packages/connectors/package.json b/packages/connectors/package.json index 5a684131..8912c0ae 100644 --- a/packages/connectors/package.json +++ b/packages/connectors/package.json @@ -25,10 +25,10 @@ "@ledgerhq/connect-kit-loader": "^1.1.0", "@safe-global/safe-apps-provider": "^0.17.1", "@safe-global/safe-apps-sdk": "^8.0.0", - "@walletconnect/ethereum-provider": "2.9.0", - "@walletconnect/utils": "2.9.0", + "@walletconnect/ethereum-provider": "2.9.2", + "@walletconnect/utils": "2.9.2", "@walletconnect/legacy-provider": "^2.0.0", - "@walletconnect/modal": "2.5.9", + "@walletconnect/modal": "2.6.1", "abitype": "0.8.7", "eventemitter3": "^4.0.7" }, diff --git a/packages/connectors/src/metaMask.ts b/packages/connectors/src/metaMask.ts index 0cbf99bf..48dcf307 100644 --- a/packages/connectors/src/metaMask.ts +++ b/packages/connectors/src/metaMask.ts @@ -51,6 +51,7 @@ export class MetaMaskConnector extends InjectedConnector { if (ethereum.isAvalanche) return if (ethereum.isBitKeep) return if (ethereum.isBlockWallet) return + if (ethereum.isFordefi) return if (ethereum.isMathWallet) return if (ethereum.isOkxWallet || ethereum.isOKExWallet) return if (ethereum.isOneInchIOSWallet || ethereum.isOneInchAndroidWallet) diff --git a/packages/connectors/src/types.ts b/packages/connectors/src/types.ts index 9d58278e..cb59fe48 100644 --- a/packages/connectors/src/types.ts +++ b/packages/connectors/src/types.ts @@ -20,11 +20,14 @@ type InjectedProviderFlags = { isCoinbaseWallet?: true isDawn?: true isDefiant?: true + isDesig?: true isEnkrypt?: true isExodus?: true + isFordefi?: true isFrame?: true isFrontier?: true isGamestop?: true + isHaloWallet?: true isHaqqWallet?: true isHyperPay?: true isImToken?: true @@ -51,7 +54,6 @@ type InjectedProviderFlags = { isTTWallet?: true isXDEFI?: true isZerion?: true - isHaloWallet?: true } type InjectedProviders = InjectedProviderFlags & { diff --git a/packages/connectors/src/utils/getInjectedName.test.ts b/packages/connectors/src/utils/getInjectedName.test.ts index 0a6af419..c27a5679 100644 --- a/packages/connectors/src/utils/getInjectedName.test.ts +++ b/packages/connectors/src/utils/getInjectedName.test.ts @@ -28,8 +28,10 @@ describe.each([ { ethereum: { isCoinbaseWallet: true }, expected: 'Coinbase Wallet' }, { ethereum: { isDawn: true }, expected: 'Dawn Wallet' }, { ethereum: { isDefiant: true }, expected: 'Defiant' }, + { ethereum: { isDesig: true }, expected: 'Desig Wallet' }, { ethereum: { isEnkrypt: true }, expected: 'Enkrypt' }, { ethereum: { isExodus: true }, expected: 'Exodus' }, + { ethereum: { isFordefi: true }, expected: 'Fordefi' }, { ethereum: { isFrame: true }, expected: 'Frame' }, { ethereum: { isFrontier: true }, expected: 'Frontier Wallet' }, { ethereum: { isGamestop: true }, expected: 'GameStop Wallet' }, diff --git a/packages/connectors/src/utils/getInjectedName.ts b/packages/connectors/src/utils/getInjectedName.ts index 2cbfde33..c99a9655 100644 --- a/packages/connectors/src/utils/getInjectedName.ts +++ b/packages/connectors/src/utils/getInjectedName.ts @@ -15,8 +15,10 @@ export function getInjectedName(ethereum?: WindowProvider) { if (provider.isCoinbaseWallet) return 'Coinbase Wallet' if (provider.isDawn) return 'Dawn Wallet' if (provider.isDefiant) return 'Defiant' + if (provider.isDesig) return 'Desig Wallet' if (provider.isEnkrypt) return 'Enkrypt' if (provider.isExodus) return 'Exodus' + if (provider.isFordefi) return 'Fordefi' if (provider.isFrame) return 'Frame' if (provider.isFrontier) return 'Frontier Wallet' if (provider.isGamestop) return 'GameStop Wallet' diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4003879f..1b0ca557 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -96,17 +96,17 @@ importers: specifier: ^8.0.0 version: 8.0.0(typescript@5.0.4) '@walletconnect/ethereum-provider': - specifier: 2.9.0 - version: 2.9.0(@walletconnect/modal@2.5.9)(lokijs@1.5.12) + specifier: 2.9.2 + version: 2.9.2(@walletconnect/modal@2.6.1)(lokijs@1.5.12) '@walletconnect/legacy-provider': specifier: ^2.0.0 version: 2.0.0 '@walletconnect/modal': - specifier: 2.5.9 - version: 2.5.9(react@18.2.0) + specifier: 2.6.1 + version: 2.6.1(react@18.2.0) '@walletconnect/utils': - specifier: 2.9.0 - version: 2.9.0(lokijs@1.5.12) + specifier: 2.9.2 + version: 2.9.2(lokijs@1.5.12) abitype: specifier: 0.8.7 version: 0.8.7(typescript@5.0.4) @@ -983,22 +983,22 @@ packages: dependencies: typescript: 5.0.4 - /@walletconnect/core@2.9.0(lokijs@1.5.12): - resolution: {integrity: sha512-MZYJghS9YCvGe32UOgDj0mCasaOoGHQaYXWeQblXE/xb8HuaM6kAWhjIQN9P+MNp5QP134BHP5olQostcCotXQ==} + /@walletconnect/core@2.9.2(lokijs@1.5.12): + resolution: {integrity: sha512-VARMPAx8sIgodeyngDHbealP3B621PQqjqKsByFUTOep8ZI1/R/20zU+cmq6j9RCrL+kLKZcrZqeVzs8Z7OlqQ==} dependencies: '@walletconnect/heartbeat': 1.2.1 '@walletconnect/jsonrpc-provider': 1.0.13 '@walletconnect/jsonrpc-types': 1.0.3 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/jsonrpc-ws-connection': 1.0.12 + '@walletconnect/jsonrpc-ws-connection': 1.0.13 '@walletconnect/keyvaluestorage': 1.0.2(lokijs@1.5.12) '@walletconnect/logger': 2.0.1 '@walletconnect/relay-api': 1.0.9 '@walletconnect/relay-auth': 1.0.4 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.9.0(lokijs@1.5.12) - '@walletconnect/utils': 2.9.0(lokijs@1.5.12) + '@walletconnect/types': 2.9.2(lokijs@1.5.12) + '@walletconnect/utils': 2.9.2(lokijs@1.5.12) events: 3.3.0 lodash.isequal: 4.5.0 uint8arrays: 3.1.0 @@ -1034,8 +1034,8 @@ packages: tslib: 1.14.1 dev: false - /@walletconnect/ethereum-provider@2.9.0(@walletconnect/modal@2.5.9)(lokijs@1.5.12): - resolution: {integrity: sha512-rSXkC0SXMigJRdIi/M2RMuEuATY1AwtlTWQBnqyxoht7xbO2bQNPCXn0XL4s/GRNrSUtoKSY4aPMHXV4W4yLBA==} + /@walletconnect/ethereum-provider@2.9.2(@walletconnect/modal@2.6.1)(lokijs@1.5.12): + resolution: {integrity: sha512-eO1dkhZffV1g7vpG19XUJTw09M/bwGUwwhy1mJ3AOPbOSbMPvwiCuRz2Kbtm1g9B0Jv15Dl+TvJ9vTgYF8zoZg==} peerDependencies: '@walletconnect/modal': '>=2' peerDependenciesMeta: @@ -1046,11 +1046,11 @@ packages: '@walletconnect/jsonrpc-provider': 1.0.13 '@walletconnect/jsonrpc-types': 1.0.3 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/modal': 2.5.9(react@18.2.0) - '@walletconnect/sign-client': 2.9.0(lokijs@1.5.12) - '@walletconnect/types': 2.9.0(lokijs@1.5.12) - '@walletconnect/universal-provider': 2.9.0(lokijs@1.5.12) - '@walletconnect/utils': 2.9.0(lokijs@1.5.12) + '@walletconnect/modal': 2.6.1(react@18.2.0) + '@walletconnect/sign-client': 2.9.2(lokijs@1.5.12) + '@walletconnect/types': 2.9.2(lokijs@1.5.12) + '@walletconnect/universal-provider': 2.9.2(lokijs@1.5.12) + '@walletconnect/utils': 2.9.2(lokijs@1.5.12) events: 3.3.0 transitivePeerDependencies: - '@react-native-async-storage/async-storage' @@ -1128,8 +1128,8 @@ packages: tslib: 1.14.1 dev: false - /@walletconnect/jsonrpc-ws-connection@1.0.12: - resolution: {integrity: sha512-HAcadga3Qjt1Cqy+qXEW6zjaCs8uJGdGQrqltzl3OjiK4epGZRdvSzTe63P+t/3z+D2wG+ffEPn0GVcDozmN1w==} + /@walletconnect/jsonrpc-ws-connection@1.0.13: + resolution: {integrity: sha512-mfOM7uFH4lGtQxG+XklYuFBj6dwVvseTt5/ahOkkmpcAEgz2umuzu7fTR+h5EmjQBdrmYyEBOWADbeaFNxdySg==} dependencies: '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/safe-json': 1.0.2 @@ -1221,31 +1221,30 @@ packages: tslib: 1.14.1 dev: false - /@walletconnect/modal-core@2.5.9(react@18.2.0): - resolution: {integrity: sha512-isIebwF9hOknGouhS/Ob4YJ9Sa/tqNYG2v6Ua9EkCqIoLimepkG5eC53tslUWW29SLSfQ9qqBNG2+iE7yQXqgw==} + /@walletconnect/modal-core@2.6.1(react@18.2.0): + resolution: {integrity: sha512-f2hYlJ5pwzGvjyaZ6BoGR5uiMgXzWXt6w6ktt1N8lmY6PiYp8whZgqx2hTxVWwVlsGnaIfh6UHp1hGnANx0eTQ==} dependencies: - buffer: 6.0.3 - valtio: 1.10.6(react@18.2.0) + valtio: 1.11.0(react@18.2.0) transitivePeerDependencies: - react dev: false - /@walletconnect/modal-ui@2.5.9(react@18.2.0): - resolution: {integrity: sha512-nfBaAT9Ls7RZTBBgAq+Nt/3AoUcinIJ9bcq5UHXTV3lOPu/qCKmUC/0HY3GvUK8ykabUAsjr0OAGmcqkB91qug==} + /@walletconnect/modal-ui@2.6.1(react@18.2.0): + resolution: {integrity: sha512-RFUOwDAMijSK8B7W3+KoLKaa1l+KEUG0LCrtHqaB0H0cLnhEGdLR+kdTdygw+W8+yYZbkM5tXBm7MlFbcuyitA==} dependencies: - '@walletconnect/modal-core': 2.5.9(react@18.2.0) - lit: 2.7.5 + '@walletconnect/modal-core': 2.6.1(react@18.2.0) + lit: 2.7.6 motion: 10.16.2 qrcode: 1.5.3 transitivePeerDependencies: - react dev: false - /@walletconnect/modal@2.5.9(react@18.2.0): - resolution: {integrity: sha512-Zs2RvPwbBNRdBhb50FuJCxi3FJltt1KSpI7odjU/x9GTpTOcSOkmR66PBCy2JvNA0+ztnS1Xs0LVEr3lu7/Jzw==} + /@walletconnect/modal@2.6.1(react@18.2.0): + resolution: {integrity: sha512-G84tSzdPKAFk1zimgV7JzIUFT5olZUVtI3GcOk77OeLYjlMfnDT23RVRHm5EyCrjkptnvpD0wQScXePOFd2Xcw==} dependencies: - '@walletconnect/modal-core': 2.5.9(react@18.2.0) - '@walletconnect/modal-ui': 2.5.9(react@18.2.0) + '@walletconnect/modal-core': 2.6.1(react@18.2.0) + '@walletconnect/modal-ui': 2.6.1(react@18.2.0) transitivePeerDependencies: - react dev: false @@ -1283,17 +1282,17 @@ packages: tslib: 1.14.1 dev: false - /@walletconnect/sign-client@2.9.0(lokijs@1.5.12): - resolution: {integrity: sha512-mEKc4LlLMebCe45qzqh+MX4ilQK4kOEBzLY6YJpG8EhyT45eX4JMNA7qQoYa9MRMaaVb/7USJcc4e3ZrjZvQmA==} + /@walletconnect/sign-client@2.9.2(lokijs@1.5.12): + resolution: {integrity: sha512-anRwnXKlR08lYllFMEarS01hp1gr6Q9XUgvacr749hoaC/AwGVlxYFdM8+MyYr3ozlA+2i599kjbK/mAebqdXg==} dependencies: - '@walletconnect/core': 2.9.0(lokijs@1.5.12) + '@walletconnect/core': 2.9.2(lokijs@1.5.12) '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.1 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.0.1 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.9.0(lokijs@1.5.12) - '@walletconnect/utils': 2.9.0(lokijs@1.5.12) + '@walletconnect/types': 2.9.2(lokijs@1.5.12) + '@walletconnect/utils': 2.9.2(lokijs@1.5.12) events: 3.3.0 transitivePeerDependencies: - '@react-native-async-storage/async-storage' @@ -1308,8 +1307,8 @@ packages: tslib: 1.14.1 dev: false - /@walletconnect/types@2.9.0(lokijs@1.5.12): - resolution: {integrity: sha512-ORopsMfSRvUYqtjKKd6scfg8o4/aGebipLxx92AuuUgMTERSU6cGmIrK6rdLu7W6FBJkmngPLEGc9mRqAb9Lug==} + /@walletconnect/types@2.9.2(lokijs@1.5.12): + resolution: {integrity: sha512-7Rdn30amnJEEal4hk83cdwHUuxI1SWQ+K7fFFHBMqkuHLGi3tpMY6kpyfDxnUScYEZXqgRps4Jo5qQgnRqVM7A==} dependencies: '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.1 @@ -1322,17 +1321,17 @@ packages: - lokijs dev: false - /@walletconnect/universal-provider@2.9.0(lokijs@1.5.12): - resolution: {integrity: sha512-k3nkSBkF69sJJVoe17IVoPtnhp/sgaa2t+x7BvA/BKeMxE0DGdtRJdEXotTc8DBmI7o2tkq6l8+HyFBGjQ/CjQ==} + /@walletconnect/universal-provider@2.9.2(lokijs@1.5.12): + resolution: {integrity: sha512-JmaolkO8D31UdRaQCHwlr8uIFUI5BYhBzqYFt54Mc6gbIa1tijGOmdyr6YhhFO70LPmS6gHIjljwOuEllmlrxw==} dependencies: '@walletconnect/jsonrpc-http-connection': 1.0.7 '@walletconnect/jsonrpc-provider': 1.0.13 '@walletconnect/jsonrpc-types': 1.0.3 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.0.1 - '@walletconnect/sign-client': 2.9.0(lokijs@1.5.12) - '@walletconnect/types': 2.9.0(lokijs@1.5.12) - '@walletconnect/utils': 2.9.0(lokijs@1.5.12) + '@walletconnect/sign-client': 2.9.2(lokijs@1.5.12) + '@walletconnect/types': 2.9.2(lokijs@1.5.12) + '@walletconnect/utils': 2.9.2(lokijs@1.5.12) events: 3.3.0 transitivePeerDependencies: - '@react-native-async-storage/async-storage' @@ -1342,8 +1341,8 @@ packages: - utf-8-validate dev: false - /@walletconnect/utils@2.9.0(lokijs@1.5.12): - resolution: {integrity: sha512-7Tu3m6dZL84KofrNBcblsgpSqU2vdo9ImLD7zWimLXERVGNQ8smXG+gmhQYblebIBhsPzjy9N38YMC3nPlfQNw==} + /@walletconnect/utils@2.9.2(lokijs@1.5.12): + resolution: {integrity: sha512-D44hwXET/8JhhIjqljY6qxSu7xXnlPrf63UN/Qfl98vDjWlYVcDl2+JIQRxD9GPastw0S8XZXdRq59XDXLuZBg==} dependencies: '@stablelib/chacha20poly1305': 1.0.1 '@stablelib/hkdf': 1.0.1 @@ -1353,7 +1352,7 @@ packages: '@walletconnect/relay-api': 1.0.9 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.9.0(lokijs@1.5.12) + '@walletconnect/types': 2.9.2(lokijs@1.5.12) '@walletconnect/window-getters': 1.0.1 '@walletconnect/window-metadata': 1.0.1 detect-browser: 5.3.0 @@ -3337,8 +3336,8 @@ packages: '@types/trusted-types': 2.0.2 dev: false - /lit@2.7.5: - resolution: {integrity: sha512-i/cH7Ye6nBDUASMnfwcictBnsTN91+aBjXoTHF2xARghXScKxpD4F4WYI+VLXg9lqbMinDfvoI7VnZXjyHgdfQ==} + /lit@2.7.6: + resolution: {integrity: sha512-1amFHA7t4VaaDe+vdQejSVBklwtH9svGoG6/dZi9JhxtJBBlqY5D1RV7iLUYY0trCqQc4NfhYYZilZiVHt7Hxg==} dependencies: '@lit/reactive-element': 1.6.1 lit-element: 3.3.2 @@ -4877,8 +4876,8 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /valtio@1.10.6(react@18.2.0): - resolution: {integrity: sha512-SxN1bHUmdhW6V8qsQTpCgJEwp7uHbntuH0S9cdLQtiohuevwBksbpXjwj5uDMA7bLwg1WKyq9sEpZrx3TIMrkA==} + /valtio@1.11.0(react@18.2.0): + resolution: {integrity: sha512-65Yd0yU5qs86b5lN1eu/nzcTgQ9/6YnD6iO+DDaDbQLn1Zv2w12Gwk43WkPlUBxk5wL/6cD5YMFf7kj6HZ1Kpg==} engines: {node: '>=12.20.0'} peerDependencies: react: '>=16.8'