diff --git a/modules/statics/src/allCoinsAndTokens.ts b/modules/statics/src/allCoinsAndTokens.ts index 2974033fe1..7a772ca02b 100644 --- a/modules/statics/src/allCoinsAndTokens.ts +++ b/modules/statics/src/allCoinsAndTokens.ts @@ -117,6 +117,7 @@ import { SUI_TOKEN_FEATURES_STAKING, TAO_FEATURES, TAO_TOKEN_FEATURES, + TEMPO_FEATURES, TIA_FEATURES, TOKEN_FEATURES_WITH_FRANKFURT, TON_FEATURES, @@ -2488,6 +2489,26 @@ export const allCoinsAndTokens = [ '', 'TARC' ), + account( + '92c6b706-87bc-4a4e-8dd4-2a2c83b724e4', + 'tempo', + 'Tempo', + Networks.main.tempo, + 18, + UnderlyingAsset.TEMPO, + BaseUnit.ETH, + TEMPO_FEATURES + ), + account( + 'dfa99966-438d-43e3-8bf1-a6979fee6822', + 'ttempo', + 'Tempo Testnet', + Networks.test.tempo, + 18, + UnderlyingAsset.TEMPO, + BaseUnit.ETH, + TEMPO_FEATURES + ), canton( '07385320-5a4f-48e9-97a5-86d4be9f24b0', 'canton', diff --git a/modules/statics/src/base.ts b/modules/statics/src/base.ts index 18ffde2612..32967d0dfe 100644 --- a/modules/statics/src/base.ts +++ b/modules/statics/src/base.ts @@ -126,6 +126,7 @@ export enum CoinFamily { FLUENTETH = 'fluenteth', MORPH = 'morph', ARC = 'arc', // ARC network + TEMPO = 'tempo', // Tempo Network } /** @@ -1774,6 +1775,7 @@ export enum UnderlyingAsset { TEINU = 'teinu', TEL = 'tel', TELEGRAMDAO = 'telegramdao', + TEMPO = 'tempo', TEN = 'ten', TENX = 'tenx', TERC = 'terc', diff --git a/modules/statics/src/coinFeatures.ts b/modules/statics/src/coinFeatures.ts index 4bbd0e9ac9..f1f5950aef 100644 --- a/modules/statics/src/coinFeatures.ts +++ b/modules/statics/src/coinFeatures.ts @@ -572,6 +572,7 @@ export const COREDAO_FEATURES = [ CoinFeature.EIP1559, CoinFeature.ERC20_BULK_TRANSACTION, ]; +export const TEMPO_FEATURES = [...EVM_FEATURES]; export const APECHAIN_FEATURES = [ ...ETH_FEATURES, CoinFeature.TSS, diff --git a/modules/statics/src/map.ts b/modules/statics/src/map.ts index 98f46b4b98..083920a5bc 100644 --- a/modules/statics/src/map.ts +++ b/modules/statics/src/map.ts @@ -162,6 +162,8 @@ export class CoinMap { 5734951: 'jovayeth', 2019775: 'tjovayeth', 5042002: 'tarc', + 42428: 'tempo', + 42429: 'ttempo', }; private buildChainIdMap(): Map { diff --git a/modules/statics/src/networks.ts b/modules/statics/src/networks.ts index b82b27ac13..6e77878f77 100644 --- a/modules/statics/src/networks.ts +++ b/modules/statics/src/networks.ts @@ -2229,6 +2229,26 @@ class ArcTestnet extends Testnet implements EthereumNetwork { nativeCoinOperationHashPrefix = '5042002'; } +class Tempo extends Mainnet implements EthereumNetwork { + name = 'Tempo'; + family = CoinFamily.TEMPO; + explorerUrl = 'https://scout.tempo.xyz/tx/'; // TODO: Update with actual mainnet explorer when available + accountExplorerUrl = 'https://scout.tempo.xyz/address/'; // TODO: Update with actual mainnet explorer when available + chainId = 42428; // TODO: Update with actual mainnet chain ID when available + nativeCoinOperationHashPrefix = 'TEMPO'; + tokenOperationHashPrefix = 'TEMPO-TIP20'; +} + +class TempoTestnet extends Testnet implements EthereumNetwork { + name = 'Tempo Testnet'; + family = CoinFamily.TEMPO; + explorerUrl = 'https://scout.tempo.xyz/tx/'; + accountExplorerUrl = 'https://scout.tempo.xyz/address/'; + chainId = 42429; + nativeCoinOperationHashPrefix = '42429'; + tokenOperationHashPrefix = '42429'; +} + export const Networks = { main: { ada: Object.freeze(new Ada()), @@ -2322,6 +2342,7 @@ export const Networks = { soneium: Object.freeze(new Soneium()), susd: Object.freeze(new SUSD()), tao: Object.freeze(new Bittensor()), + tempo: Object.freeze(new Tempo()), tia: Object.freeze(new Tia()), ton: Object.freeze(new Ton()), trx: Object.freeze(new Trx()), @@ -2433,6 +2454,7 @@ export const Networks = { susd: Object.freeze(new SUSDTestnet()), coreum: Object.freeze(new CoreumTestnet()), tao: Object.freeze(new BittensorTestnet()), + tempo: Object.freeze(new TempoTestnet()), tia: Object.freeze(new TiaTestnet()), ton: Object.freeze(new TonTestnet()), trx: Object.freeze(new TrxTestnet()), diff --git a/modules/statics/test/unit/fixtures/expectedColdFeatures.ts b/modules/statics/test/unit/fixtures/expectedColdFeatures.ts index f43b74b44c..df60205082 100644 --- a/modules/statics/test/unit/fixtures/expectedColdFeatures.ts +++ b/modules/statics/test/unit/fixtures/expectedColdFeatures.ts @@ -120,6 +120,7 @@ export const expectedColdFeatures = { 'somi', 'sui', 'tao', + 'tempo', 'vet', 'wemix', 'world', @@ -187,6 +188,7 @@ export const expectedColdFeatures = { 'tstt', 'tsui', 'ttao', + 'ttempo', 'tthorchain:rune', 'ttia', 'tvet',