Skip to content

Commit aa76408

Browse files
committed
feat(statics): add kavacosmos and tkavacosmos networks
Add new KAVACOSMOS coin family for Cosmos SDK-based Kava chain while preserving the existing KAVA coin family for backward compatibility. TICKET: COIN-7315
1 parent 82e8bf9 commit aa76408

5 files changed

Lines changed: 49 additions & 5 deletions

File tree

.iyarc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,8 @@ GHSA-r6q2-hw4h-h46w
1717
# - Our usage is limited to archive PACKING operations only, not extraction
1818
GHSA-34x7-hfp2-rc4v
1919

20+
# Excluded because:
21+
# - Transitive dependency through @bitgo/key-card and @bitgo/web-demo via jspdf
22+
# - These are vulnerabilities in jspdf package
23+
GHSA-pqxr-3g65-p328
24+
GHSA-95fx-jjr5-f39c

modules/statics/src/allCoinsAndTokens.ts

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1027,7 +1027,7 @@ export const allCoinsAndTokens = [
10271027
6,
10281028
UnderlyingAsset.KAVA,
10291029
BaseUnit.KAVA,
1030-
[...COSMOS_SIDECHAIN_FEATURES, CoinFeature.SHARED_COSMOS_SDK, CoinFeature.SHARED_COSMOS_WP]
1030+
COSMOS_SIDECHAIN_FEATURES
10311031
),
10321032
account(
10331033
'62895d6b-6e99-4eba-82f1-9ce4e7658998',
@@ -1037,6 +1037,26 @@ export const allCoinsAndTokens = [
10371037
6,
10381038
UnderlyingAsset.KAVA,
10391039
BaseUnit.KAVA,
1040+
COSMOS_SIDECHAIN_FEATURES
1041+
),
1042+
account(
1043+
'b7c3d9e1-4f2a-5b8c-9d6e-1a3f5c7e9b2d',
1044+
'kavacosmos',
1045+
'Kava Cosmos',
1046+
Networks.main.kavacosmos,
1047+
6,
1048+
UnderlyingAsset.KAVACOSMOS,
1049+
BaseUnit.KAVACOSMOS,
1050+
[...COSMOS_SIDECHAIN_FEATURES, CoinFeature.SHARED_COSMOS_SDK, CoinFeature.SHARED_COSMOS_WP]
1051+
),
1052+
account(
1053+
'e4f6a8c2-1d3b-5e7f-9a2c-4b6d8e1f3a5c',
1054+
'tkavacosmos',
1055+
'Testnet Kava Cosmos',
1056+
Networks.test.kavacosmos,
1057+
6,
1058+
UnderlyingAsset.KAVACOSMOS,
1059+
BaseUnit.KAVACOSMOS,
10401060
[...COSMOS_SIDECHAIN_FEATURES, CoinFeature.SHARED_COSMOS_SDK, CoinFeature.SHARED_COSMOS_WP]
10411061
),
10421062
account(

modules/statics/src/base.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ export enum CoinFamily {
7373
JOVAYETH = 'jovayeth',
7474
KAIA = 'kaia',
7575
KAVA = 'kava',
76+
KAVACOSMOS = 'kavacosmos',
7677
KAVAEVM = 'kavaevm',
7778
LNBTC = 'lnbtc',
7879
LTC = 'ltc',
@@ -602,6 +603,7 @@ export enum UnderlyingAsset {
602603
JOVAYETH = 'jovayeth',
603604
KAIA = 'kaia',
604605
KAVA = 'kava',
606+
KAVACOSMOS = 'kavacosmos',
605607
KAVAEVM = 'kavaevm',
606608
LNBTC = 'lnbtc',
607609
LTC = 'ltc',
@@ -3620,6 +3622,7 @@ export enum BaseUnit {
36203622
IOTA = 'iota',
36213623
ZETA = 'azeta',
36223624
KAVA = 'ukava',
3625+
KAVACOSMOS = 'ukava',
36233626
DYDX = 'adydx',
36243627
COREUM = 'ucore',
36253628
TCOREUM = 'utestcore', // Coreum testnet uses different name for native coin

modules/statics/src/networks.ts

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -975,9 +975,21 @@ class InjectiveTestnet extends Testnet implements AccountNetwork {
975975
explorerUrl = 'https://testnet.explorer.injective.network/transaction/';
976976
}
977977

978-
class Kava extends Mainnet implements CosmosNetwork {
978+
class Kava extends Mainnet implements AccountNetwork {
979979
name = 'Kava';
980980
family = CoinFamily.KAVA;
981+
explorerUrl = 'https://www.mintscan.io/kava/transactions/';
982+
}
983+
984+
class KavaTestnet extends Testnet implements AccountNetwork {
985+
name = 'KavaTestnet';
986+
family = CoinFamily.KAVA;
987+
explorerUrl = 'https://testnet.mintscan.io/kava-testnet/txs/';
988+
}
989+
990+
class KavaCosmos extends Mainnet implements CosmosNetwork {
991+
name = 'KavaCosmos';
992+
family = CoinFamily.KAVACOSMOS;
981993
explorerUrl = 'https://www.mintscan.io/kava/tx/';
982994
addressPrefix = 'kava';
983995
validatorPrefix = 'kavavaloper';
@@ -987,9 +999,9 @@ class Kava extends Mainnet implements CosmosNetwork {
987999
validDenoms = ['kava', 'ukava'];
9881000
}
9891001

990-
class KavaTestnet extends Testnet implements CosmosNetwork {
991-
name = 'KavaTestnet';
992-
family = CoinFamily.KAVA;
1002+
class KavaCosmosTestnet extends Testnet implements CosmosNetwork {
1003+
name = 'KavaCosmosTestnet';
1004+
family = CoinFamily.KAVACOSMOS;
9931005
explorerUrl = 'https://www.mintscan.io/kava-testnet/tx/';
9941006
addressPrefix = 'kava';
9951007
validatorPrefix = 'kavavaloper';
@@ -2426,6 +2438,7 @@ export const Networks = {
24262438
jovayeth: Object.freeze(new JovayETH()),
24272439
kaia: Object.freeze(new Kaia()),
24282440
kava: Object.freeze(new Kava()),
2441+
kavacosmos: Object.freeze(new KavaCosmos()),
24292442
kavaevm: Object.freeze(new KavaEVM()),
24302443
lnbtc: Object.freeze(new LightningBitcoin()),
24312444
litecoin: Object.freeze(new Litecoin()),
@@ -2539,6 +2552,7 @@ export const Networks = {
25392552
islm: Object.freeze(new IslmTestnet()),
25402553
jovayeth: Object.freeze(new JovayETHTestnet()),
25412554
kava: Object.freeze(new KavaTestnet()),
2555+
kavacosmos: Object.freeze(new KavaCosmosTestnet()),
25422556
kavaevm: Object.freeze(new KavaEVMTestnet()),
25432557
kovan: Object.freeze(new Kovan()),
25442558
goerli: Object.freeze(new Goerli()),

modules/statics/test/unit/fixtures/expectedColdFeatures.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ export const expectedColdFeatures = {
104104
'jovayeth',
105105
'kaia',
106106
'kava',
107+
'kavacosmos',
107108
'megaeth',
108109
'mantle',
109110
'mantra',
@@ -184,6 +185,7 @@ export const expectedColdFeatures = {
184185
'tiota',
185186
'tkaia',
186187
'tkava',
188+
'tkavacosmos',
187189
'tmantle',
188190
'tmantra',
189191
'tnear',

0 commit comments

Comments
 (0)