Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add: testnet chains #44

Merged
merged 6 commits into from
Jan 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/react/src/chains/cosmos/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ export * from './injective.js';
export * from './osmosis.js';
export * from './router-cosmos.js';
export * from './self.js';
export * from './testnets/index.js';
28 changes: 28 additions & 0 deletions packages/react/src/chains/cosmos/testnets/allora.testnet.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { CosmsosChainType } from '../../../types/index.js';

export const alloraTestnet: CosmsosChainType = {
id: 'allora-testnet-1',
chainName: 'alloraTestnet',
name: 'Allora Testnet',
type: 'cosmos',
nativeCurrency: {
name: 'Allora Testnet Token',
symbol: 'ALLO',
decimals: 9,
},
rpcUrls: {
default: {
http: ['https://testnet-allora-rpc.rhino-apis.com'],
webSocket: ['wss://rpc.testnet.osmosis.zone'],
},
},
blockExplorers: {
default: {
name: 'Self Explorer',
url: 'https://explorer.selfchain.xyz',
},
},
extra: {
nativeAddress: 'uslf',
},
} as const;
2 changes: 2 additions & 0 deletions packages/react/src/chains/cosmos/testnets/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export * from './allora.testnet.js';
export * from './osmosis.testnet.js';
28 changes: 28 additions & 0 deletions packages/react/src/chains/cosmos/testnets/osmosis.testnet.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { CosmsosChainType } from '../../../types/index.js';

export const osmosisTestnet: CosmsosChainType = {
id: 'osmo-test-5',
chainName: 'osmosisTestnet',
name: 'Osmosis Testnet',
type: 'cosmos',
nativeCurrency: {
name: 'osmo',
symbol: 'osmo',
decimals: 18,
},
rpcUrls: {
default: {
http: ['https://rpc.testnet.osmosis.zone'],
webSocket: ['wss://rpc.testnet.osmosis.zone'],
},
},
blockExplorers: {
default: {
name: 'Osmosis Testnet Explorer',
url: 'https://explorer.testnet.osmosis.zone',
},
},
extra: {
nativeAddress: 'uosmo',
},
} as const;
4 changes: 4 additions & 0 deletions packages/react/src/chains/evm/testnet.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import {
polygonAmoy as vAmoy,
arbitrumSepolia as vArbitrumSepolia,
avalancheFuji as vAvalancheFuji,
holesky as vHolesky,
Expand All @@ -10,3 +11,6 @@ export const sepolia: EVMChain = { ...vSepolia, type: 'evm' } as const;
export const holesky: EVMChain = { ...vHolesky, type: 'evm' } as const;
export const arbitrumSepolia: EVMChain = { ...vArbitrumSepolia, type: 'evm' } as const;
export const avalancheFuji: EVMChain = { ...vAvalancheFuji, type: 'evm' } as const;
export const amoy: EVMChain = { ...vAmoy, type: 'evm' } as const;

export * from './testnets/index.js';
28 changes: 28 additions & 0 deletions packages/react/src/chains/evm/testnets/abstractSepolia.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { EVMChain } from '../../../types/index.js';

export const abstractSepolia: EVMChain = {
id: 11124,
name: 'Abstract Sepolia',
type: 'evm',
nativeCurrency: {
decimals: 18,
name: 'Ether',
symbol: 'ETH',
},
rpcUrls: {
default: {
http: ['https://api.testnet.abs.xyz'],
},
},
blockExplorers: {
default: {
name: 'Abstract Sepolia Explorer',
url: 'https://sepolia.abscan.org',
},
},
contracts: {
multicall3: {
address: '0xF9cda624FBC7e059355ce98a31693d299FACd963',
},
},
};
29 changes: 29 additions & 0 deletions packages/react/src/chains/evm/testnets/beraChain.testnet.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { EVMChain } from '../../../types/index.js';

export const beraChainTestnet: EVMChain = {
id: 80084,
name: 'BeraChain Testnet',
type: 'evm',
nativeCurrency: {
decimals: 18,
name: 'Bera Token',
symbol: 'BERA',
},
rpcUrls: {
default: {
http: ['https://bartio.drpc.org'],
webSocket: ['wss://bartio.drpc.org'],
},
},
blockExplorers: {
default: {
name: 'BeraChain Testnet Explorer',
url: 'https://bartio.beratrail.io',
},
},
contracts: {
multicall3: {
address: '0xcA11bde05977b3631167028862bE2a173976CA11',
},
},
};
28 changes: 28 additions & 0 deletions packages/react/src/chains/evm/testnets/firechain.testnet.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { EVMChain } from '../../../types/index.js';

export const firechainTestnet: EVMChain = {
id: 997,
name: '5irechain Testnet',
type: 'evm',
nativeCurrency: {
decimals: 18,
name: 'Testnet 5ire Token',
symbol: 'T5IRE',
},
rpcUrls: {
default: {
http: ['https://rpc.testnet.5ire.network'],
},
},
blockExplorers: {
default: {
name: '5ireChain Testnet Explorer',
url: 'https://testnet.5irescan.io',
},
},
contracts: {
multicall3: {
address: '0xCDD0e0902eB1d560A316982CBf618b74e21db27D',
},
},
};
8 changes: 8 additions & 0 deletions packages/react/src/chains/evm/testnets/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export * from './abstractSepolia.js';
export * from './beraChain.testnet.js';
export * from './firechain.testnet.js';
export * from './oasisSapphire.testnet.js';
export * from './pentagon.testnet.js';
export * from './soneium.testnet.js';
export * from './storyOdyssey.js';
export * from './unichainSepolia.js';
29 changes: 29 additions & 0 deletions packages/react/src/chains/evm/testnets/oasisSapphire.testnet.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { EVMChain } from '../../../types/index.js';

export const oasisSapphireTestnet: EVMChain = {
id: 23295,
type: 'evm',
name: 'Oasis Sapphire Testnet',
nativeCurrency: {
decimals: 18,
name: 'Sapphire Test Rose Token',
symbol: 'TEST',
},
rpcUrls: {
default: {
http: ['https://testnet.sapphire.oasis.io'],
webSocket: ['wss://testnet.sapphire.oasis.io/ws'],
},
},
blockExplorers: {
default: {
name: 'Oasis Testnet Explorer',
url: 'https://explorer.oasis.io/testnet/sapphire',
},
},
contracts: {
multicall3: {
address: '0xce275dFaB490427301A83A93EeB7df733BE8aa10',
},
},
};
28 changes: 28 additions & 0 deletions packages/react/src/chains/evm/testnets/pentagon.testnet.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { EVMChain } from '../../../types/index.js';

export const pentagonTestnet: EVMChain = {
id: 555555,
name: 'Pentagon Testnet',
type: 'evm',
nativeCurrency: {
decimals: 18,
name: 'Pentagon Token',
symbol: 'PEN',
},
rpcUrls: {
default: {
http: ['https://rpc-testnet.pentagon.games'],
},
},
blockExplorers: {
default: {
name: 'Pentagon Testnet Explorer',
url: 'https://explorer-testnet.pentagon.games',
},
},
contracts: {
multicall3: {
address: '0xb7ab6Acb91F83B27eFf584338fE9555030659EAE',
},
},
};
28 changes: 28 additions & 0 deletions packages/react/src/chains/evm/testnets/soneium.testnet.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { EVMChain } from '../../../types/index.js';

export const soneiumTestnet: EVMChain = {
id: 1946,
name: 'Soneium Testnet',
type: 'evm',
nativeCurrency: {
decimals: 18,
name: 'Ether',
symbol: 'ETH',
},
rpcUrls: {
default: {
http: ['https://rpc.minato.soneium.org'],
},
},
blockExplorers: {
default: {
name: 'Soneium Testnet Explorer',
url: 'https://soneium-minato.blockscout.com',
},
},
contracts: {
multicall3: {
address: '0xcA11bde05977b3631167028862bE2a173976CA11',
},
},
};
28 changes: 28 additions & 0 deletions packages/react/src/chains/evm/testnets/storyOdyssey.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { EVMChain } from '../../../types/index.js';

export const storyOdyssey: EVMChain = {
id: 1516,
name: 'Story Odyssey',
type: 'evm',
nativeCurrency: {
decimals: 18,
name: 'IP Token',
symbol: 'IP',
},
rpcUrls: {
default: {
http: ['https://lightnode-json-rpc-story.grandvalleys.com'],
},
},
blockExplorers: {
default: {
name: 'Story Odyssey Explorer',
url: 'https://odyssey.storyscan.xyz',
},
},
contracts: {
multicall3: {
address: '0xcA11bde05977b3631167028862bE2a173976CA11',
},
},
};
28 changes: 28 additions & 0 deletions packages/react/src/chains/evm/testnets/unichainSepolia.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { EVMChain } from '../../../types/index.js';

export const unichainSepolia: EVMChain = {
id: 1301,
name: 'Unichain Sepolia',
type: 'evm',
nativeCurrency: {
decimals: 18,
name: 'Ether',
symbol: 'ETH',
},
rpcUrls: {
default: {
http: ['https://unichain-sepolia-rpc.publicnode.com'],
},
},
blockExplorers: {
default: {
name: 'Unichain Sepolia Explorer',
url: 'https://unichain-sepolia.blockscout.com',
},
},
contracts: {
multicall3: {
address: '0xcA11bde05977b3631167028862bE2a173976CA11',
},
},
};
26 changes: 26 additions & 0 deletions packages/react/src/constants/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,19 @@ export const CHAIN_ID = {
holesky: '17000',
arbitrumSepolia: '421614',
avalancheFuji: '43113',
amoy: '80002',
fireChainTestnet: '997',
pentagonTestnet: '555555',
soneiumTestnet: '1946',
oasisSapphireTestnet: '23295',
bearChainTestnet: '80084',
unichainSepolia: '1301',
abstractSepolia: '11124',
storyOdyssey: '1516',

// cosmos
osmosisTestnet: 'osmo-test-5',
alloraTestnet: 'allora-testnet-1',
} as const;

export const CHAIN_NAME = Object.keys(CHAIN_ID).reduce(
Expand Down Expand Up @@ -169,6 +182,19 @@ export const CHAIN_DATA: Record<ChainId, ChainData> = {
[CHAIN_ID.arbitrumSepolia]: chains.arbitrumSepolia,
[CHAIN_ID.avalancheFuji]: chains.avalancheFuji,
[CHAIN_ID.sepolia]: chains.sepolia,
[CHAIN_ID.amoy]: chains.amoy,
[CHAIN_ID.fireChainTestnet]: chains.firechainTestnet,
[CHAIN_ID.pentagonTestnet]: chains.pentagonTestnet,
[CHAIN_ID.soneiumTestnet]: chains.soneiumTestnet,
[CHAIN_ID.oasisSapphireTestnet]: chains.oasisSapphireTestnet,
[CHAIN_ID.bearChainTestnet]: chains.beraChainTestnet,
[CHAIN_ID.unichainSepolia]: chains.unichainSepolia,
[CHAIN_ID.abstractSepolia]: chains.abstractSepolia,
[CHAIN_ID.storyOdyssey]: chains.storyOdyssey,

// cosmos testnets
[CHAIN_ID.osmosisTestnet]: chains.osmosisTestnet,
[CHAIN_ID.alloraTestnet]: chains.alloraTestnet,
} as const;

export const CHAIN_TYPE_LABEL: Record<ChainType, string> = {
Expand Down
Loading