Skip to content

Commit 3e08302

Browse files
authored
Merge pull request #8506 from BitGo/feat/inketh-integration
feat(statics): add INK L2 EVM chain
2 parents e5fa843 + b0713aa commit 3e08302

File tree

6 files changed

+75
-0
lines changed

6 files changed

+75
-0
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,9 @@ const mainnetBase: EnvironmentTemplate = {
308308
hemieth: {
309309
baseUrl: 'https://explorer.hemi.xyz/api',
310310
},
311+
inketh: {
312+
baseUrl: 'https://explorer.inkonchain.com/api',
313+
},
311314
prividiumeth: {
312315
baseUrl: 'https://explorer.prividium.zksync.dev/api', // TODO: update with mainnet URL when available
313316
},
@@ -525,6 +528,9 @@ const testnetBase: EnvironmentTemplate = {
525528
hemieth: {
526529
baseUrl: 'https://testnet.explorer.hemi.xyz/api',
527530
},
531+
tinketh: {
532+
baseUrl: 'https://explorer-sepolia.inkonchain.com/api',
533+
},
528534
prividiumeth: {
529535
baseUrl: 'https://explorer.testnet-prividium.zksync.dev/api',
530536
},

modules/statics/src/allCoinsAndTokens.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2380,6 +2380,42 @@ export const allCoinsAndTokens = [
23802380
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
23812381
]
23822382
),
2383+
account(
2384+
'e3d32879-e6de-4938-b550-8ff4c19211d1',
2385+
'inketh',
2386+
'INK',
2387+
Networks.main.inketh,
2388+
18,
2389+
UnderlyingAsset.INKETH,
2390+
BaseUnit.ETH,
2391+
[
2392+
...EVM_FEATURES,
2393+
CoinFeature.SHARED_EVM_SIGNING,
2394+
CoinFeature.SHARED_EVM_SDK,
2395+
CoinFeature.EVM_COMPATIBLE_IMS,
2396+
CoinFeature.EVM_COMPATIBLE_UI,
2397+
CoinFeature.EVM_COMPATIBLE_WP,
2398+
CoinFeature.SUPPORTS_ERC20,
2399+
]
2400+
),
2401+
account(
2402+
'8bfa7960-008f-4aa0-b49a-589c3127dd46',
2403+
'tinketh',
2404+
'Testnet INK',
2405+
Networks.test.inketh,
2406+
18,
2407+
UnderlyingAsset.INKETH,
2408+
BaseUnit.ETH,
2409+
[
2410+
...EVM_FEATURES,
2411+
CoinFeature.SHARED_EVM_SIGNING,
2412+
CoinFeature.SHARED_EVM_SDK,
2413+
CoinFeature.EVM_COMPATIBLE_IMS,
2414+
CoinFeature.EVM_COMPATIBLE_UI,
2415+
CoinFeature.EVM_COMPATIBLE_WP,
2416+
CoinFeature.SUPPORTS_ERC20,
2417+
]
2418+
),
23832419
account(
23842420
'68d22683-a8f2-47b3-8446-92e02a1963ae',
23852421
'hemieth',

modules/statics/src/base.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ export enum CoinFamily {
7373
HOODETH = 'hoodeth', // Robinhood Chain
7474
HPPETH = 'hppeth', // House Party Protocol
7575
ICP = 'icp',
76+
INKETH = 'inketh', // INK L2
7677
INITIA = 'initia',
7778
INJECTIVE = 'injective',
7879
IOTA = 'iota',
@@ -619,6 +620,7 @@ export enum UnderlyingAsset {
619620
HOODETH = 'hoodeth', // Robinhood Chain
620621
HPPETH = 'hppeth', // House Party Protocol
621622
ICP = 'icp',
623+
INKETH = 'inketh', // INK L2
622624
IP = 'ip', // Story Chain
623625
INITIA = 'initia',
624626
INJECTIVE = 'injective',

modules/statics/src/coins/ofcCoins.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,15 @@ export const ofcCoins = [
346346
UnderlyingAsset.LINEAETH,
347347
CoinKind.CRYPTO
348348
),
349+
ofc('b68e22ea-c6b6-458b-87d1-b6b5f79d9648', 'ofcinketh', 'INK', 18, UnderlyingAsset.INKETH, CoinKind.CRYPTO),
350+
tofc(
351+
'4d79941f-58ea-4fca-a784-93cf7acdf508',
352+
'ofctinketh',
353+
'INK Testnet',
354+
18,
355+
UnderlyingAsset.INKETH,
356+
CoinKind.CRYPTO
357+
),
349358
ofc(
350359
'bdab1ab0-215d-4d59-b698-7cc624e5027a',
351360
'ofchemieth',

modules/statics/src/networks.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2512,6 +2512,24 @@ class PrividiumETHTestnet extends Testnet implements EthereumNetwork {
25122512
nativeCoinOperationHashPrefix = '8022834';
25132513
}
25142514

2515+
class InkEth extends Mainnet implements EthereumNetwork {
2516+
name = 'INK Mainnet';
2517+
family = CoinFamily.INKETH;
2518+
explorerUrl = 'https://explorer.inkonchain.com/tx/';
2519+
accountExplorerUrl = 'https://explorer.inkonchain.com/address/';
2520+
chainId = 57073;
2521+
nativeCoinOperationHashPrefix = '57073';
2522+
}
2523+
2524+
class InkEthTestnet extends Testnet implements EthereumNetwork {
2525+
name = 'INK Testnet';
2526+
family = CoinFamily.INKETH;
2527+
explorerUrl = 'https://explorer-sepolia.inkonchain.com/tx/';
2528+
accountExplorerUrl = 'https://explorer-sepolia.inkonchain.com/address/';
2529+
chainId = 763373;
2530+
nativeCoinOperationHashPrefix = '763373';
2531+
}
2532+
25152533
class PlumeTestnet extends Testnet implements EthereumNetwork {
25162534
name = 'PlumeTestnet';
25172535
family = CoinFamily.PLUME;
@@ -2751,6 +2769,7 @@ export const Networks = {
27512769
hedera: Object.freeze(new Hedera()),
27522770
hederaEVM: Object.freeze(new HederaEVM()),
27532771
hemieth: Object.freeze(new HemiEth()),
2772+
inketh: Object.freeze(new InkEth()),
27542773
hppeth: Object.freeze(new Hppeth()),
27552774
prividiumeth: Object.freeze(new PrividiumETH()),
27562775
icp: Object.freeze(new Icp()),
@@ -2880,6 +2899,7 @@ export const Networks = {
28802899
prividiumeth: Object.freeze(new PrividiumETHTestnet()),
28812900
hederaEVM: Object.freeze(new HederaEVMTestnet()),
28822901
hemieth: Object.freeze(new HemiEthTestnet()),
2902+
inketh: Object.freeze(new InkEthTestnet()),
28832903
icp: Object.freeze(new IcpTestnet()),
28842904
ip: Object.freeze(new IPTestnet()),
28852905
initia: Object.freeze(new InitiaTestnet()),

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ export const expectedColdFeatures = {
101101
'hash',
102102
'hbarevm',
103103
'hemieth',
104+
'inketh',
104105
'hoodeth',
105106
'hppeth',
106107
'icp',
@@ -178,6 +179,7 @@ export const expectedColdFeatures = {
178179
'th',
179180
'thbarevm',
180181
'themieth',
182+
'tinketh',
181183
'thoodeth',
182184
'thppeth',
183185
'tjovayeth',

0 commit comments

Comments
 (0)