Skip to content

Commit 088f606

Browse files
Merge pull request #8791 from BitGo/feat/katana-evm-integration
feat(statics): add Katana Network (katanaeth/tkatanaeth) EVM statics
2 parents 9a5642a + 83be67c commit 088f606

7 files changed

Lines changed: 83 additions & 0 deletions

File tree

modules/sdk-core/src/bitgo/environments.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,9 @@ const mainnetBase: EnvironmentTemplate = {
313313
hemieth: {
314314
baseUrl: 'https://explorer.hemi.xyz/api',
315315
},
316+
katanaeth: {
317+
baseUrl: 'https://katanascan.com/api',
318+
},
316319
inketh: {
317320
baseUrl: 'https://explorer.inkonchain.com/api',
318321
},
@@ -543,6 +546,9 @@ const testnetBase: EnvironmentTemplate = {
543546
hemieth: {
544547
baseUrl: 'https://testnet.explorer.hemi.xyz/api',
545548
},
549+
tkatanaeth: {
550+
baseUrl: 'https://explorer-bokuto.katanarpc.com/api',
551+
},
546552
tinketh: {
547553
baseUrl: 'https://explorer-sepolia.inkonchain.com/api',
548554
},

modules/statics/src/allCoinsAndTokens.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2483,6 +2483,42 @@ export const allCoinsAndTokens = [
24832483
CoinFeature.SUPPORTS_ERC20,
24842484
]
24852485
),
2486+
account(
2487+
'd7f76096-3b45-4136-bd1b-74e231c70fef',
2488+
'katanaeth',
2489+
'Katana',
2490+
Networks.main.katanaeth,
2491+
18,
2492+
UnderlyingAsset.KATANAETH,
2493+
BaseUnit.ETH,
2494+
[
2495+
...EVM_FEATURES,
2496+
CoinFeature.SHARED_EVM_SIGNING,
2497+
CoinFeature.SHARED_EVM_SDK,
2498+
CoinFeature.EVM_COMPATIBLE_IMS,
2499+
CoinFeature.EVM_COMPATIBLE_UI,
2500+
CoinFeature.EVM_COMPATIBLE_WP,
2501+
CoinFeature.SUPPORTS_ERC20,
2502+
]
2503+
),
2504+
account(
2505+
'dd0cf6a6-2723-42c4-a020-81a1238d8cc4',
2506+
'tkatanaeth',
2507+
'Testnet Katana',
2508+
Networks.test.katanaeth,
2509+
18,
2510+
UnderlyingAsset.KATANAETH,
2511+
BaseUnit.ETH,
2512+
[
2513+
...EVM_FEATURES,
2514+
CoinFeature.SHARED_EVM_SIGNING,
2515+
CoinFeature.SHARED_EVM_SDK,
2516+
CoinFeature.EVM_COMPATIBLE_IMS,
2517+
CoinFeature.EVM_COMPATIBLE_UI,
2518+
CoinFeature.EVM_COMPATIBLE_WP,
2519+
CoinFeature.SUPPORTS_ERC20,
2520+
]
2521+
),
24862522
account(
24872523
'8bfa7960-008f-4aa0-b49a-589c3127dd46',
24882524
'tinketh',

modules/statics/src/base.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ export enum CoinFamily {
8282
JOVAYETH = 'jovayeth',
8383
KAIA = 'kaia',
8484
KASPA = 'kaspa',
85+
KATANAETH = 'katanaeth', // Katana Network L2
8586
KAVACOSMOS = 'kavacosmos',
8687
KAVAEVM = 'kavaevm',
8788
LNBTC = 'lnbtc',
@@ -659,6 +660,7 @@ export enum UnderlyingAsset {
659660
ISLM = 'islm',
660661
JOVAYETH = 'jovayeth',
661662
KAIA = 'kaia',
663+
KATANAETH = 'katanaeth', // Katana Network L2
662664
KAVACOSMOS = 'kavacosmos',
663665
KAVAEVM = 'kavaevm',
664666
LNBTC = 'lnbtc',

modules/statics/src/coins/ofcCoins.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,15 @@ export const ofcCoins = [
374374
UnderlyingAsset.LINEAETH,
375375
CoinKind.CRYPTO
376376
),
377+
ofc('84fdd183-ee79-478f-af9a-06ff420e654b', 'ofckatanaeth', 'Katana', 18, UnderlyingAsset.KATANAETH, CoinKind.CRYPTO),
378+
tofc(
379+
'4a912718-0ae2-4fbc-ae46-f3561e4b3a2a',
380+
'ofctkatanaeth',
381+
'Testnet Katana',
382+
18,
383+
UnderlyingAsset.KATANAETH,
384+
CoinKind.CRYPTO
385+
),
377386
ofc('b68e22ea-c6b6-458b-87d1-b6b5f79d9648', 'ofcinketh', 'INK', 18, UnderlyingAsset.INKETH, CoinKind.CRYPTO),
378387
tofc(
379388
'4d79941f-58ea-4fca-a784-93cf7acdf508',

modules/statics/src/networkFeatureMapForTokens.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,15 @@ export const networkFeatureMapForTokens: Partial<Record<CoinFamily, CoinFeature[
4141
eos: AccountCoin.DEFAULT_FEATURES,
4242
hbar: AccountCoin.DEFAULT_FEATURES,
4343
opeth: [...AccountCoin.DEFAULT_FEATURES, CoinFeature.EIP1559],
44+
katanaeth: [
45+
...EVM_FEATURES,
46+
CoinFeature.SHARED_EVM_SIGNING,
47+
CoinFeature.SHARED_EVM_SDK,
48+
CoinFeature.EVM_COMPATIBLE_IMS,
49+
CoinFeature.EVM_COMPATIBLE_UI,
50+
CoinFeature.EVM_COMPATIBLE_WP,
51+
CoinFeature.SUPPORTS_ERC20,
52+
],
4453
polygon: POLYGON_TOKEN_FEATURES,
4554
scrolleth: [
4655
...EVM_FEATURES,

modules/statics/src/networks.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2580,6 +2580,23 @@ class HemiEthTestnet extends Testnet implements EthereumNetwork {
25802580
chainId = 743111;
25812581
nativeCoinOperationHashPrefix = '743111';
25822582
}
2583+
class KatanaEth extends Mainnet implements EthereumNetwork {
2584+
name = 'Katana';
2585+
family = CoinFamily.KATANAETH;
2586+
explorerUrl = 'https://katanascan.com/tx/';
2587+
accountExplorerUrl = 'https://katanascan.com/address/';
2588+
chainId = 747474;
2589+
nativeCoinOperationHashPrefix = '747474';
2590+
}
2591+
2592+
class KatanaEthTestnet extends Testnet implements EthereumNetwork {
2593+
name = 'Testnet Katana';
2594+
family = CoinFamily.KATANAETH;
2595+
explorerUrl = 'https://explorer-bokuto.katanarpc.com/tx/';
2596+
accountExplorerUrl = 'https://explorer-bokuto.katanarpc.com/address/';
2597+
chainId = 737373;
2598+
nativeCoinOperationHashPrefix = '737373';
2599+
}
25832600

25842601
class PrividiumETH extends Mainnet implements EthereumNetwork {
25852602
name = 'Prividium Ethereum Mainnet';
@@ -2869,6 +2886,7 @@ export const Networks = {
28692886
jovayeth: Object.freeze(new JovayETH()),
28702887
kaia: Object.freeze(new Kaia()),
28712888
kaspa: Object.freeze(new KaspaMainnet()),
2889+
katanaeth: Object.freeze(new KatanaEth()),
28722890
kavacosmos: Object.freeze(new KavaCosmos()),
28732891
kavaevm: Object.freeze(new KavaEVM()),
28742892
lnbtc: Object.freeze(new LightningBitcoin()),
@@ -2999,6 +3017,7 @@ export const Networks = {
29993017
islm: Object.freeze(new IslmTestnet()),
30003018
jovayeth: Object.freeze(new JovayETHTestnet()),
30013019
kaspa: Object.freeze(new KaspaTestnet()),
3020+
katanaeth: Object.freeze(new KatanaEthTestnet()),
30023021
kavacosmos: Object.freeze(new KavaCosmosTestnet()),
30033022
kavaevm: Object.freeze(new KavaEVMTestnet()),
30043023
kovan: Object.freeze(new Kovan()),

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ export const expectedColdFeatures = {
115115
'jovayeth',
116116
'kaia',
117117
'kaspa',
118+
'katanaeth',
118119
'kavacosmos',
119120
'megaeth',
120121
'mantle',
@@ -212,6 +213,7 @@ export const expectedColdFeatures = {
212213
'tiota',
213214
'tkaia',
214215
'tkaspa',
216+
'tkatanaeth',
215217
'tkavacosmos',
216218
'tmantle',
217219
'tmantra',

0 commit comments

Comments
 (0)