Skip to content

Commit b4402cd

Browse files
imkushagra12-bitgocursoragent
authored andcommitted
feat(statics): add Katana Network EVM chain (katanaeth/tkatanaeth)
Add Katana Network (OP Stack L2, chainId 747474/737373): - CoinFamily/UnderlyingAsset enums in correct K-section - KatanaEth/KatanaEthTestnet network classes - katanaeth/tkatanaeth coin entries with SHARED_EVM_SDK feature set - ofckatanaeth/ofctkatanaeth OFC entries - networkFeatureMapForTokens EIP1559 support - environments.ts explorer baseUrls - expectedColdFeatures fixture in correct K-section CECHO-808 Session-Id: 8ab51e6b-82e3-4e7e-ba09-df6ac12d5dc1 Task-Id: d5295202-8f29-446c-9376-7ea07893f1fd Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 5b9b14b commit b4402cd

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
@@ -312,6 +312,9 @@ const mainnetBase: EnvironmentTemplate = {
312312
hemieth: {
313313
baseUrl: 'https://explorer.hemi.xyz/api',
314314
},
315+
katanaeth: {
316+
baseUrl: 'https://katanascan.com/api',
317+
},
315318
inketh: {
316319
baseUrl: 'https://explorer.inkonchain.com/api',
317320
},
@@ -540,6 +543,9 @@ const testnetBase: EnvironmentTemplate = {
540543
hemieth: {
541544
baseUrl: 'https://testnet.explorer.hemi.xyz/api',
542545
},
546+
tkatanaeth: {
547+
baseUrl: 'https://explorer-bokuto.katanarpc.com/api',
548+
},
543549
tinketh: {
544550
baseUrl: 'https://explorer-sepolia.inkonchain.com/api',
545551
},

modules/statics/src/allCoinsAndTokens.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2460,6 +2460,42 @@ export const allCoinsAndTokens = [
24602460
CoinFeature.SUPPORTS_ERC20,
24612461
]
24622462
),
2463+
account(
2464+
'd7f76096-3b45-4136-bd1b-74e231c70fef',
2465+
'katanaeth',
2466+
'Katana',
2467+
Networks.main.katanaeth,
2468+
18,
2469+
UnderlyingAsset.KATANAETH,
2470+
BaseUnit.ETH,
2471+
[
2472+
...EVM_FEATURES,
2473+
CoinFeature.SHARED_EVM_SIGNING,
2474+
CoinFeature.SHARED_EVM_SDK,
2475+
CoinFeature.EVM_COMPATIBLE_IMS,
2476+
CoinFeature.EVM_COMPATIBLE_UI,
2477+
CoinFeature.EVM_COMPATIBLE_WP,
2478+
CoinFeature.SUPPORTS_ERC20,
2479+
]
2480+
),
2481+
account(
2482+
'dd0cf6a6-2723-42c4-a020-81a1238d8cc4',
2483+
'tkatanaeth',
2484+
'Testnet Katana',
2485+
Networks.test.katanaeth,
2486+
18,
2487+
UnderlyingAsset.KATANAETH,
2488+
BaseUnit.ETH,
2489+
[
2490+
...EVM_FEATURES,
2491+
CoinFeature.SHARED_EVM_SIGNING,
2492+
CoinFeature.SHARED_EVM_SDK,
2493+
CoinFeature.EVM_COMPATIBLE_IMS,
2494+
CoinFeature.EVM_COMPATIBLE_UI,
2495+
CoinFeature.EVM_COMPATIBLE_WP,
2496+
CoinFeature.SUPPORTS_ERC20,
2497+
]
2498+
),
24632499
account(
24642500
'8bfa7960-008f-4aa0-b49a-589c3127dd46',
24652501
'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',
@@ -653,6 +654,7 @@ export enum UnderlyingAsset {
653654
ISLM = 'islm',
654655
JOVAYETH = 'jovayeth',
655656
KAIA = 'kaia',
657+
KATANAETH = 'katanaeth', // Katana Network L2
656658
KAVACOSMOS = 'kavacosmos',
657659
KAVAEVM = 'kavaevm',
658660
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
@@ -2530,6 +2530,23 @@ class HemiEthTestnet extends Testnet implements EthereumNetwork {
25302530
chainId = 743111;
25312531
nativeCoinOperationHashPrefix = '743111';
25322532
}
2533+
class KatanaEth extends Mainnet implements EthereumNetwork {
2534+
name = 'Katana';
2535+
family = CoinFamily.KATANAETH;
2536+
explorerUrl = 'https://katanascan.com/tx/';
2537+
accountExplorerUrl = 'https://katanascan.com/address/';
2538+
chainId = 747474;
2539+
nativeCoinOperationHashPrefix = '747474';
2540+
}
2541+
2542+
class KatanaEthTestnet extends Testnet implements EthereumNetwork {
2543+
name = 'Testnet Katana';
2544+
family = CoinFamily.KATANAETH;
2545+
explorerUrl = 'https://explorer-bokuto.katanarpc.com/tx/';
2546+
accountExplorerUrl = 'https://explorer-bokuto.katanarpc.com/address/';
2547+
chainId = 737373;
2548+
nativeCoinOperationHashPrefix = '737373';
2549+
}
25332550

25342551
class PrividiumETH extends Mainnet implements EthereumNetwork {
25352552
name = 'Prividium Ethereum Mainnet';
@@ -2819,6 +2836,7 @@ export const Networks = {
28192836
jovayeth: Object.freeze(new JovayETH()),
28202837
kaia: Object.freeze(new Kaia()),
28212838
kaspa: Object.freeze(new KaspaMainnet()),
2839+
katanaeth: Object.freeze(new KatanaEth()),
28222840
kavacosmos: Object.freeze(new KavaCosmos()),
28232841
kavaevm: Object.freeze(new KavaEVM()),
28242842
lnbtc: Object.freeze(new LightningBitcoin()),
@@ -2948,6 +2966,7 @@ export const Networks = {
29482966
islm: Object.freeze(new IslmTestnet()),
29492967
jovayeth: Object.freeze(new JovayETHTestnet()),
29502968
kaspa: Object.freeze(new KaspaTestnet()),
2969+
katanaeth: Object.freeze(new KatanaEthTestnet()),
29512970
kavacosmos: Object.freeze(new KavaCosmosTestnet()),
29522971
kavaevm: Object.freeze(new KavaEVMTestnet()),
29532972
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',
@@ -211,6 +212,7 @@ export const expectedColdFeatures = {
211212
'tiota',
212213
'tkaia',
213214
'tkaspa',
215+
'tkatanaeth',
214216
'tkavacosmos',
215217
'tmantle',
216218
'tmantra',

0 commit comments

Comments
 (0)