Skip to content

Commit

Permalink
chore: add evm chain configs and move to directory
Browse files Browse the repository at this point in the history
  • Loading branch information
jayeshbhole-rp committed Nov 27, 2024
1 parent 0a69b19 commit c447f42
Show file tree
Hide file tree
Showing 12 changed files with 287 additions and 160 deletions.
6 changes: 6 additions & 0 deletions packages/react/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @tangled3/react

## 1.15.0

### Minor Changes

- added additional evm chains

## 1.14.4

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions packages/react/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@tangled3/react",
"private": false,
"version": "1.14.4",
"version": "1.15.0",
"type": "module",
"license": "MIT",
"main": "./src/index.ts",
Expand Down Expand Up @@ -67,7 +67,7 @@
"react-dom": "^18.2.0",
"tronweb": "6.0.0-beta.4",
"usehooks-ts": "^3.1.0",
"viem": "^2.13.8",
"viem": "^2.21.51",
"wagmi": "^2.9.11",
"zustand": "^4.5.2"
},
Expand Down
28 changes: 28 additions & 0 deletions packages/react/src/chains/evm/arthera.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { EVMChain } from '../../types/index.js';

export const arthera: EVMChain = {
id: 10242,
name: 'Arthera',
type: 'evm',
nativeCurrency: {
decimals: 18,
name: 'Arthera',
symbol: 'AA',
},
rpcUrls: {
default: {
http: ['https://rpc.arthera.net'],
},
},
blockExplorers: {
default: {
name: 'Arthera Explorer',
url: 'https://explorer.arthera.net',
},
},
contracts: {
multicall3: {
address: '0xca11bde05977b3631167028862be2a173976ca11',
},
},
};
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import {
blast as vBlast,
boba as vBoba,
bsc as vBsc,
dogechain as vDogechain,
fireChain as vFirechain,
linea as vLinea,
mainnet as vMainnet,
manta as vManta,
Expand All @@ -14,10 +16,15 @@ import {
optimism as vOptimism,
polygon as vPolygon,
polygonZkEvm as vPolygonZkEvm,
rollux as vRollux,
rootstock as vRootstock,
saakuru as vSaakuru,
scroll as vScroll,
zkSync as vZkSync,
taiko as vTaiko,
zksync as vZkSync,
xLayer as vxLayer,
} from 'viem/chains';
import { EVMChain } from '../types/index.js';
import { EVMChain } from '../../types/index.js';

export const arbitrum: EVMChain = { ...vArbitrum, type: 'evm' } as const;
export const avalanche: EVMChain = { ...vAvalance, type: 'evm' } as const;
Expand All @@ -36,4 +43,15 @@ export const polygon: EVMChain = { ...vPolygon, type: 'evm' } as const;
export const polygonZkEvm: EVMChain = { ...vPolygonZkEvm, type: 'evm' } as const;
export const scroll: EVMChain = { ...vScroll, type: 'evm' } as const;
export const zkSync: EVMChain = { ...vZkSync, type: 'evm' } as const;
export const xLayer: EVMChain = { ...vxLayer, type: 'evm' } as const;
export const rootstock: EVMChain = { ...vRootstock, type: 'evm' } as const;
export const saakuru: EVMChain = { ...vSaakuru, type: 'evm' } as const;
export const taiko: EVMChain = { ...vTaiko, type: 'evm' } as const;
export const dogechain: EVMChain = { ...vDogechain, type: 'evm' } as const;
export const rollux: EVMChain = { ...vRollux, type: 'evm' } as const;
export const firechain: EVMChain = { ...vFirechain, type: 'evm' } as const;

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

export const oasisSapphire: EVMChain = {
id: 23294,
type: 'evm',
name: 'Oasis Sapphire',
nativeCurrency: {
decimals: 18,
name: 'Rose',
symbol: 'ROSE',
},
rpcUrls: {
default: {
http: ['https://sapphire.oasis.io'],
webSocket: ['wss://sapphire.oasis.io/ws'],
},
},
blockExplorers: {
default: {
name: 'Oasis Explorer',
url: 'https://explorer.oasis.io/mainnet/sapphire',
},
},
contracts: {
multicall3: {
address: '0xca11bde05977b3631167028862be2a173976ca11',
},
},
};
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { EVMChain } from '../types/index.js';
import { EVMChain } from '../../types/index.js';

export const routerEvm: EVMChain = {
id: 9600,
Expand Down
29 changes: 29 additions & 0 deletions packages/react/src/chains/evm/tangle.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { EVMChain } from '../../types/index.js';

export const tangle: EVMChain = {
id: 5845,
name: 'Tangle',
type: 'evm',
nativeCurrency: {
decimals: 18,
name: 'Tangle Network',
symbol: 'TNT',
},
rpcUrls: {
default: {
http: ['https://rpc.tangle.tools'],
webSocket: ['wss://rpc.tangle.tools'],
},
},
blockExplorers: {
default: {
name: 'Tangle Explorer',
url: 'https://explorer.tangle.tools',
},
},
contracts: {
multicall3: {
address: '0x0000000000000000000000000000000000000808',
},
},
} as const;
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { sepolia as vSepolia } from 'viem/chains';
import { EVMChain } from '../types/index.js';
import { EVMChain } from '../../types/index.js';

export const sepolia: EVMChain = { ...vSepolia, type: 'evm' } as const;
4 changes: 2 additions & 2 deletions packages/react/src/chains/index.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
export * from './bitcoin.js';
export * from './bitcoin.testnet.js';
export * from './cosmos.js';
export * from './evm.js';
export * from './evm.testnet.js';
export * from './evm/index.js';
export * from './evm/testnet.js';
export * from './injective.js';
export * from './near.js';
export * from './near.testnet.js';
Expand Down
110 changes: 37 additions & 73 deletions packages/react/src/constants/index.ts
Original file line number Diff line number Diff line change
@@ -1,40 +1,4 @@
import {
arbitrum,
avalanche,
base,
binance,
bitcoin,
bitcoinTestnet,
blast,
boba,
ethereum,
injective,
linea,
manta,
mantle,
metis,
mode,
near,
nearTestnet,
optimism,
osmosis,
polygon,
polygonZkEvm,
router,
routerEvm,
scroll,
self,
solana,
solanaDevnet,
solanaTestnet,
sui,
suiTestnet,
tonMainnet,
tonTestnet,
tronMainnet,
tronShasta,
zkSync,
} from '../chains/index.js';
import * as chains from '../chains/index.js';
import { Chain, ChainData, ChainId, ChainType } from '../types/index.js';

export * from './abi/index.js';
Expand Down Expand Up @@ -111,56 +75,56 @@ export const CHAIN_NAME = Object.keys(CHAIN_ID).reduce(
) as Record<ChainId, Chain>;

export const CHAIN_DATA: Record<ChainId, ChainData> = {
[CHAIN_ID.arbitrum]: arbitrum,
[CHAIN_ID.avalanche]: avalanche,
[CHAIN_ID.base]: base,
[CHAIN_ID.binance]: binance,
[CHAIN_ID.blast]: blast,
[CHAIN_ID.boba]: boba,
[CHAIN_ID.ethereum]: ethereum,
[CHAIN_ID.linea]: linea,
[CHAIN_ID.manta]: manta,
[CHAIN_ID.mantle]: mantle,
[CHAIN_ID.metis]: metis,
[CHAIN_ID.mode]: mode,
[CHAIN_ID.optimism]: optimism,
[CHAIN_ID.polygon]: polygon,
[CHAIN_ID.polygon_zkevm]: polygonZkEvm,
[CHAIN_ID.scroll]: scroll,
[CHAIN_ID.zksync]: zkSync,
[CHAIN_ID.routerEvm]: routerEvm,
[CHAIN_ID.arbitrum]: chains.arbitrum,
[CHAIN_ID.avalanche]: chains.avalanche,
[CHAIN_ID.base]: chains.base,
[CHAIN_ID.binance]: chains.binance,
[CHAIN_ID.blast]: chains.blast,
[CHAIN_ID.boba]: chains.boba,
[CHAIN_ID.ethereum]: chains.ethereum,
[CHAIN_ID.linea]: chains.linea,
[CHAIN_ID.manta]: chains.manta,
[CHAIN_ID.mantle]: chains.mantle,
[CHAIN_ID.metis]: chains.metis,
[CHAIN_ID.mode]: chains.mode,
[CHAIN_ID.optimism]: chains.optimism,
[CHAIN_ID.polygon]: chains.polygon,
[CHAIN_ID.polygon_zkevm]: chains.polygonZkEvm,
[CHAIN_ID.scroll]: chains.scroll,
[CHAIN_ID.zksync]: chains.zkSync,
[CHAIN_ID.routerEvm]: chains.routerEvm,

//cosmos
[CHAIN_ID.osmosis]: osmosis,
[CHAIN_ID.injective]: injective,
[CHAIN_ID.self]: self,
[CHAIN_ID.routerchain]: router,
[CHAIN_ID.osmosis]: chains.osmosis,
[CHAIN_ID.injective]: chains.injective,
[CHAIN_ID.self]: chains.self,
[CHAIN_ID.routerchain]: chains.router,

// tron
[CHAIN_ID.tronMainnet]: tronMainnet,
[CHAIN_ID.tronShasta]: tronShasta,
// [CHAIN_ID.tronNile]: tronNile,
[CHAIN_ID.tronMainnet]: chains.tronMainnet,
[CHAIN_ID.tronShasta]: chains.tronShasta,
// [CHAIN_ID.tronNile]: chains.tronNile,

// near
[CHAIN_ID.near]: near,
[CHAIN_ID.nearTestnet]: nearTestnet,
[CHAIN_ID.near]: chains.near,
[CHAIN_ID.nearTestnet]: chains.nearTestnet,

// solana
[CHAIN_ID.solana]: solana,
[CHAIN_ID.solanaTestnet]: solanaTestnet,
[CHAIN_ID.solanaDevnet]: solanaDevnet,
[CHAIN_ID.solana]: chains.solana,
[CHAIN_ID.solanaTestnet]: chains.solanaTestnet,
[CHAIN_ID.solanaDevnet]: chains.solanaDevnet,

//sui
[CHAIN_ID.sui]: sui,
[CHAIN_ID.suiTestnet]: suiTestnet,
[CHAIN_ID.sui]: chains.sui,
[CHAIN_ID.suiTestnet]: chains.suiTestnet,

// ton
[CHAIN_ID.tonMainnet]: tonMainnet,
[CHAIN_ID.tonTestnet]: tonTestnet,
[CHAIN_ID.tonMainnet]: chains.tonMainnet,
[CHAIN_ID.tonTestnet]: chains.tonTestnet,

// bitcoin
[CHAIN_ID.bitcoin]: bitcoin,
[CHAIN_ID.bitcoinTestnet]: bitcoinTestnet,
[CHAIN_ID.bitcoin]: chains.bitcoin,
[CHAIN_ID.bitcoinTestnet]: chains.bitcoinTestnet,

// testnets
// 5: goerli,
Expand Down
2 changes: 1 addition & 1 deletion packages/react/src/utils/getDefaultSupportedChains.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { bitcoin } from '../chains/bitcoin.js';
import * as cosmos from '../chains/cosmos.js';
import * as evm from '../chains/evm.js';
import * as evm from '../chains/evm/index.js';
import { near } from '../chains/near.js';
import { solana } from '../chains/solana.js';
import { sui } from '../chains/sui.js';
Expand Down
Loading

0 comments on commit c447f42

Please sign in to comment.