diff --git a/packages/sdk-ui-ts/src/types/bridge.ts b/packages/sdk-ui-ts/src/types/bridge.ts index b35abb330..fbd13bce9 100644 --- a/packages/sdk-ui-ts/src/types/bridge.ts +++ b/packages/sdk-ui-ts/src/types/bridge.ts @@ -32,6 +32,7 @@ export enum BridgingNetwork { Kava = 'kava', Oraichain = 'oraichain', Noble = 'noble', + Celestia = 'celestia', } export const MintScanExplorerUrl = { @@ -48,6 +49,7 @@ export const MintScanExplorerUrl = { [BridgingNetwork.Canto]: 'canto', [BridgingNetwork.Kava]: 'kava', [BridgingNetwork.Noble]: 'noble', + [BridgingNetwork.Celestia]: 'celestia', } as Record export enum BridgeTransactionState { diff --git a/packages/sdk-ui-ts/src/utils/bridge.ts b/packages/sdk-ui-ts/src/utils/bridge.ts index b3cc4cdba..152e9c0e6 100644 --- a/packages/sdk-ui-ts/src/utils/bridge.ts +++ b/packages/sdk-ui-ts/src/utils/bridge.ts @@ -50,6 +50,7 @@ export const KeplrNetworks = [ BridgingNetwork.Kava, BridgingNetwork.Oraichain, BridgingNetwork.Noble, + BridgingNetwork.Celestia, ] export const LeapNetworks = [ @@ -63,6 +64,7 @@ export const LeapNetworks = [ BridgingNetwork.Canto, BridgingNetwork.Kava, BridgingNetwork.Noble, + BridgingNetwork.Celestia, ] export const CosmostationNetworks = [ @@ -80,6 +82,7 @@ export const CosmostationNetworks = [ BridgingNetwork.Canto, BridgingNetwork.Kava, BridgingNetwork.Noble, + BridgingNetwork.Celestia, ] export const CosmosNetworks = [ @@ -98,6 +101,7 @@ export const CosmosNetworks = [ BridgingNetwork.Kava, BridgingNetwork.Oraichain, BridgingNetwork.Noble, + BridgingNetwork.Celestia, ] export const EvmWormholeNetworks = [ @@ -275,6 +279,13 @@ export const tokenDenomsPerNetwork = [ ], symbols: ['usdcnb'], }, + { + network: BridgingNetwork.Celestia, + denoms: [ + 'ibc/F51BB221BAA275F2EBF654F70B005627D7E713AFFD6D86AFD1E43CAA886149F4', + ], + symbols: ['utia'], + }, ] as NetworkConfig[] export const cosmosChainTokenMetaMap = { @@ -450,6 +461,12 @@ export const cosmosChainTokenMetaMap = { denom: 'ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E', }, + [CosmosChainId.Celestia]: { + ...tokenMetaUtils.getMetaBySymbol('TIA'), + tokenType: TokenType.Ibc, + denom: + 'ibc/F51BB221BAA275F2EBF654F70B005627D7E713AFFD6D86AFD1E43CAA886149F4', + }, } as Record export const ibcHashToNativeInjPerNetwork = { @@ -656,6 +673,10 @@ export const getNetworkFromAddress = (sender: string): BridgingNetwork => { return BridgingNetwork.Noble } + if (sender.startsWith('celestia')) { + return BridgingNetwork.Celestia + } + return BridgingNetwork.CosmosHub } diff --git a/packages/token-metadata/src/ibc/channels.ts b/packages/token-metadata/src/ibc/channels.ts index 95bc21ea8..de8e13b42 100644 --- a/packages/token-metadata/src/ibc/channels.ts +++ b/packages/token-metadata/src/ibc/channels.ts @@ -15,6 +15,7 @@ export enum CanonicalChannelToDestinationChannel { Kava = 'channel-143', Oraichain = 'channel-147', Noble = 'channel-148', + Celestia = 'channel-152', } /** @@ -86,6 +87,7 @@ export const canonicalChannelsToChainList = [ { channelId: 'channel-122', chainA: 'Kava', chainB: 'Injective' }, { channelId: 'channel-146', chainA: 'Oraichain', chainB: 'Injective' }, { channelId: 'channel-31', chainA: 'Noble', chainB: 'Injective' }, + { channelId: 'channel-1', chainA: 'Celestia', chainB: 'Injective' }, { channelId: 'channel-1', chainA: 'Injective', chainB: 'CosmosHub' }, { channelId: 'channel-83', chainA: 'Injective', chainB: 'Evmos' }, { channelId: 'channel-8', chainA: 'Injective', chainB: 'Osmosis' }, @@ -106,6 +108,7 @@ export const canonicalChannelsToChainList = [ { channelId: 'channel-143', chainA: 'Injective', chainB: 'Kava' }, { channelId: 'channel-147', chainA: 'Injective', chainB: 'Oraichain' }, { channelId: 'channel-148', chainA: 'Injective', chainB: 'Noble' }, + { channelId: 'channel-152', chainA: 'Injective', chainB: 'Celestia' }, ] export default legacyCanonicalChannels @@ -134,6 +137,7 @@ export const canonicalChannelIds = [ 'channel-143', 'channel-147', 'channel-148', + 'channel-152', ] export const channelIbcDenomToBaseDenomMap = { diff --git a/packages/token-metadata/src/tokens/tokens/tokens.ts b/packages/token-metadata/src/tokens/tokens/tokens.ts index 11aeb40e1..bc15c56c8 100644 --- a/packages/token-metadata/src/tokens/tokens/tokens.ts +++ b/packages/token-metadata/src/tokens/tokens/tokens.ts @@ -1852,6 +1852,16 @@ export default { decimals: 6, logo: 'tia.webp', coinGeckoId: '', + + ibc: { + decimals: 6, + isNative: true, + baseDenom: 'utia', + path: 'transfer/channel-152', + channelId: 'channel-152', + hash: 'F51BB221BAA275F2EBF654F70B005627D7E713AFFD6D86AFD1E43CAA886149F4', + tokenType: TokenType.Ibc, + }, }, TALIS: { diff --git a/packages/ts-types/src/cosmos.ts b/packages/ts-types/src/cosmos.ts index 2966e0977..4d2d1245e 100644 --- a/packages/ts-types/src/cosmos.ts +++ b/packages/ts-types/src/cosmos.ts @@ -22,6 +22,7 @@ export enum CosmosChainId { Kava = 'kava_2222-10', Oraichain = 'Oraichain', Noble = 'noble-1', + Celestia = 'celestia', } export enum TestnetCosmosChainId { diff --git a/packages/wallet-ts/src/utils/wallets/cosmos/endpoints.ts b/packages/wallet-ts/src/utils/wallets/cosmos/endpoints.ts index 455fff24a..57f2ebd51 100644 --- a/packages/wallet-ts/src/utils/wallets/cosmos/endpoints.ts +++ b/packages/wallet-ts/src/utils/wallets/cosmos/endpoints.ts @@ -116,6 +116,11 @@ export const getEndpointsFromChainId = ( rpc: 'https://rpc.cosmos.directory/noble', rest: 'https://rest.cosmos.directory/noble', } + case CosmosChainId.Celestia: + return { + rpc: 'https://rpc.cosmos.directory/celestia', + rest: 'https://rest.cosmos.directory/celestia', + } default: throw new GeneralException( new Error(`Endpoints for ${chainId} not found`),