From 202dfb9042e32723a0f01e14989ff2bb8cc86b42 Mon Sep 17 00:00:00 2001 From: Ringo Kim Date: Fri, 11 Mar 2022 15:20:43 +0900 Subject: [PATCH] Add Axelar and Terra basic info --- src/components/ChainSelector/index.tsx | 18 +++++++++++++++ src/constants/cosmos-chains.ts | 22 ++++++++++++++++++- src/constants/tokens/axelar-terra-tokens.json | 9 ++++++++ src/constants/tokens/index.ts | 8 +++++++ src/constants/tokens/terra-axelar-tokens.json | 9 ++++++++ .../cosmos-wallet/cosmos-wallet-manager.ts | 8 +++++-- src/services/util/chain-helper.ts | 8 +++++-- src/types.ts | 8 +++++-- 8 files changed, 83 insertions(+), 7 deletions(-) create mode 100644 src/constants/tokens/axelar-terra-tokens.json create mode 100644 src/constants/tokens/terra-axelar-tokens.json diff --git a/src/components/ChainSelector/index.tsx b/src/components/ChainSelector/index.tsx index d819588..f575320 100644 --- a/src/components/ChainSelector/index.tsx +++ b/src/components/ChainSelector/index.tsx @@ -87,6 +87,24 @@ const SUPPORTED_CHAIN_MAP: Record = { toChains: [SupportedChain.GravityBridge], head: 8, tail: 8 + }, + [SupportedChain.Axelar]: { + chain: SupportedChain.Axelar, + name: 'Axelar', + image: StargazeChainLogo, + supportedWallets: [CosmosWalletType.Keplr], + toChains: [SupportedChain.Terra], + head: 8, + tail: 8 + }, + [SupportedChain.Terra]: { + chain: SupportedChain.Terra, + name: 'Terra', + image: StargazeChainLogo, + supportedWallets: [CosmosWalletType.Keplr], + toChains: [SupportedChain.Axelar], + head: 8, + tail: 8 } }; diff --git a/src/constants/cosmos-chains.ts b/src/constants/cosmos-chains.ts index 78571b3..5ce34d6 100644 --- a/src/constants/cosmos-chains.ts +++ b/src/constants/cosmos-chains.ts @@ -38,11 +38,31 @@ const stargaze: CosmosChainInfo = { } }; +const axelar: CosmosChainInfo = { + chainId: 'axelar-dojo-1', + lcd: 'https://lcd-axelar.cosmostation.io', + denom: 'uaxl', + ibcChannels: { + [SupportedCosmosChain.Terra]: 'channel-0' + } +}; + +const terra: CosmosChainInfo = { + chainId: 'columbus-5', + lcd: 'https://lcd.terra.dev', + denom: 'uluna', + ibcChannels: { + [SupportedCosmosChain.Axelar]: 'channel-19' + } +}; + const chainInfoMap: Record = { gravityBridge, cosmos, osmosis, - stargaze + stargaze, + axelar, + terra }; export default chainInfoMap; diff --git a/src/constants/tokens/axelar-terra-tokens.json b/src/constants/tokens/axelar-terra-tokens.json new file mode 100644 index 0000000..8eac141 --- /dev/null +++ b/src/constants/tokens/axelar-terra-tokens.json @@ -0,0 +1,9 @@ +{ + "ibc/4627AD2524E3E0523047E35BB76CC90E37D9D57ACF14F0FCBCEB2480705F3CB8": { + "name": "Luna", + "denom": "ibc/4627AD2524E3E0523047E35BB76CC90E37D9D57ACF14F0FCBCEB2480705F3CB8", + "symbol": "LUNA", + "decimals": 6, + "logoURI": "https://raw.githubusercontent.com/cosmostation/cosmostation_token_resource/master/coin_image/tokens/token-stargaze.svg" + } +} diff --git a/src/constants/tokens/index.ts b/src/constants/tokens/index.ts index bb858b2..fa17958 100644 --- a/src/constants/tokens/index.ts +++ b/src/constants/tokens/index.ts @@ -1,9 +1,11 @@ +import axelarToTerraTokens from 'constants/tokens/axelar-terra-tokens.json'; import cosmosToGravityBridgeTokens from 'constants/tokens/cosmos-gb-tokens.json'; import gravityBridgeToEthTokens from 'constants/tokens/gb-eth-tokens.json'; import gravityBridgeToOsmosisTokens from 'constants/tokens/gb-osmosis-tokens.json'; import gravityBridgeToStargazeTokens from 'constants/tokens/gb-stargaze-tokens.json'; import osmosisToGravityBridgeTokens from 'constants/tokens/osmosis-gb-tokens.json'; import stargazeToGravityBridgeTokens from 'constants/tokens/stargaze-gb-tokens.json'; +import terraToAxelarTokens from 'constants/tokens/terra-axelar-tokens.json'; import { SupportedChain } from 'types'; export type CosmosTokenWithoutChainId = { @@ -30,5 +32,11 @@ export const ibcTokenFromToMap: Record = { [SupportedCosmosChain.GravityBridge]: undefined, [SupportedCosmosChain.Osmosis]: undefined, [SupportedCosmosChain.Stargaze]: undefined, - [SupportedCosmosChain.Cosmos]: undefined + [SupportedCosmosChain.Cosmos]: undefined, + [SupportedCosmosChain.Axelar]: undefined, + [SupportedCosmosChain.Terra]: undefined }; async function init (): Promise { diff --git a/src/services/util/chain-helper.ts b/src/services/util/chain-helper.ts index 8479278..d36726a 100644 --- a/src/services/util/chain-helper.ts +++ b/src/services/util/chain-helper.ts @@ -5,7 +5,9 @@ const nameMap: Record = { [SupportedChain.GravityBridge]: 'Gravity Bridge', [SupportedChain.Osmosis]: 'Osmosis', [SupportedChain.Stargaze]: 'Stargaze', - [SupportedChain.Cosmos]: 'Cosmos' + [SupportedChain.Cosmos]: 'Cosmos', + [SupportedChain.Axelar]: 'Axelar', + [SupportedChain.Terra]: 'Terra' }; const linkMap: Record = { @@ -13,7 +15,9 @@ const linkMap: Record = { [SupportedChain.GravityBridge]: 'https://www.mintscan.io/gravity-bridge/txs', [SupportedChain.Osmosis]: 'https://www.mintscan.io/osmosis/txs', [SupportedChain.Stargaze]: 'https://www.mintscan.io/stargaze/txs', - [SupportedChain.Cosmos]: 'https://www.mintscan.io/cosmos/txs' + [SupportedChain.Cosmos]: 'https://www.mintscan.io/cosmos/txs', + [SupportedChain.Axelar]: 'https://www.mintscan.io/axelar/txs', + [SupportedChain.Terra]: 'https://finder.terra.money/mainnet/tx' }; function getChainName (chain: SupportedChain): string { diff --git a/src/types.ts b/src/types.ts index 69a180e..1da537b 100644 --- a/src/types.ts +++ b/src/types.ts @@ -17,7 +17,9 @@ export enum SupportedChain { GravityBridge = 'gravityBridge', Osmosis = 'osmosis', Stargaze = 'stargaze', - Cosmos = 'cosmos' + Cosmos = 'cosmos', + Axelar = 'axelar', + Terra = 'terra' } export enum SupportedEthChain { @@ -28,7 +30,9 @@ export enum SupportedCosmosChain { GravityBridge = 'gravityBridge', Osmosis = 'osmosis', Stargaze = 'stargaze', - Cosmos = 'cosmos' + Cosmos = 'cosmos', + Axelar = 'axelar', + Terra = 'terra' } export interface IERC20Token {