diff --git a/modules/sdk-core/src/bitgo/environments.ts b/modules/sdk-core/src/bitgo/environments.ts index b29e33b058..e82586d411 100644 --- a/modules/sdk-core/src/bitgo/environments.ts +++ b/modules/sdk-core/src/bitgo/environments.ts @@ -305,6 +305,9 @@ const mainnetBase: EnvironmentTemplate = { hemieth: { baseUrl: 'https://explorer.hemi.xyz/api', }, + inketh: { + baseUrl: 'https://explorer.inkonchain.com/api', + }, fluenteth: { baseUrl: 'https://fluentscan.xyz/api/', }, @@ -513,6 +516,9 @@ const testnetBase: EnvironmentTemplate = { hemieth: { baseUrl: 'https://testnet.explorer.hemi.xyz/api', }, + inketh: { + baseUrl: 'https://explorer-sepolia.inkonchain.com/api', + }, fluenteth: { baseUrl: 'https://testnet.fluentscan.xyz/api/', }, diff --git a/modules/statics/src/allCoinsAndTokens.ts b/modules/statics/src/allCoinsAndTokens.ts index 97bdd59b34..f3fa53b82e 100644 --- a/modules/statics/src/allCoinsAndTokens.ts +++ b/modules/statics/src/allCoinsAndTokens.ts @@ -2342,6 +2342,42 @@ export const allCoinsAndTokens = [ CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY, ] ), + account( + 'fed6d895-61b1-4859-ae9b-2cec125796c2', + 'inketh', + 'Ink Ethereum', + Networks.main.inketh, + 18, + UnderlyingAsset.INKETH, + BaseUnit.ETH, + [ + ...EVM_FEATURES, + CoinFeature.SHARED_EVM_SIGNING, + CoinFeature.SHARED_EVM_SDK, + CoinFeature.EVM_COMPATIBLE_IMS, + CoinFeature.EVM_COMPATIBLE_UI, + CoinFeature.EVM_COMPATIBLE_WP, + CoinFeature.SUPPORTS_ERC20, + ] + ), + account( + 'c868af85-badf-4ac5-84f3-a6f11d6eb33a', + 'tinketh', + 'Testnet Ink Ethereum', + Networks.test.inketh, + 18, + UnderlyingAsset.INKETH, + BaseUnit.ETH, + [ + ...EVM_FEATURES, + CoinFeature.SHARED_EVM_SIGNING, + CoinFeature.SHARED_EVM_SDK, + CoinFeature.EVM_COMPATIBLE_IMS, + CoinFeature.EVM_COMPATIBLE_UI, + CoinFeature.EVM_COMPATIBLE_WP, + CoinFeature.SUPPORTS_ERC20, + ] + ), account( '68d22683-a8f2-47b3-8446-92e02a1963ae', 'hemieth', diff --git a/modules/statics/src/base.ts b/modules/statics/src/base.ts index b225fbae76..c7dd65ca95 100644 --- a/modules/statics/src/base.ts +++ b/modules/statics/src/base.ts @@ -77,6 +77,7 @@ export enum CoinFamily { IRYS = 'irys', ISLM = 'islm', JOVAYETH = 'jovayeth', + INKETH = 'inketh', KAIA = 'kaia', KAVACOSMOS = 'kavacosmos', KAVAEVM = 'kavaevm', @@ -621,6 +622,7 @@ export enum UnderlyingAsset { IRYS = 'irys', ISLM = 'islm', JOVAYETH = 'jovayeth', + INKETH = 'inketh', KAIA = 'kaia', KAVACOSMOS = 'kavacosmos', KAVAEVM = 'kavaevm', diff --git a/modules/statics/src/coins/ofcCoins.ts b/modules/statics/src/coins/ofcCoins.ts index 4280cbb2a7..65d3a67a43 100644 --- a/modules/statics/src/coins/ofcCoins.ts +++ b/modules/statics/src/coins/ofcCoins.ts @@ -346,6 +346,15 @@ export const ofcCoins = [ UnderlyingAsset.HEMIETH, CoinKind.CRYPTO ), + ofc('ae33f818-4fd4-464b-ba1f-b9d0a4c4e1bb', 'ofcinketh', 'Ink Ethereum', 18, UnderlyingAsset.INKETH, CoinKind.CRYPTO), + tofc( + '3ff193a0-dca0-4d78-b694-21e33c796225', + 'ofctinketh', + 'Ink Ethereum Testnet', + 18, + UnderlyingAsset.INKETH, + CoinKind.CRYPTO + ), ofc( 'f43afacc-0db3-4a8a-a987-ff9d93e08cb4', 'ofcjovayeth', diff --git a/modules/statics/src/networks.ts b/modules/statics/src/networks.ts index 10a777af16..ded9851b11 100644 --- a/modules/statics/src/networks.ts +++ b/modules/statics/src/networks.ts @@ -2506,6 +2506,24 @@ class Dogeos extends Mainnet implements EthereumNetwork { nativeCoinOperationHashPrefix = '1234567'; //TODO: WIN-8082 => add when mainnet details available } +class InkEth extends Mainnet implements EthereumNetwork { + name = 'Ink Ethereum'; + family = CoinFamily.INKETH; + explorerUrl = 'https://explorer.inkonchain.com/tx/'; + accountExplorerUrl = 'https://explorer.inkonchain.com/address/'; + chainId = 57073; + nativeCoinOperationHashPrefix = '57073'; +} + +class InkEthTestnet extends Testnet implements EthereumNetwork { + name = 'Testnet Ink Ethereum'; + family = CoinFamily.INKETH; + explorerUrl = 'https://explorer-sepolia.inkonchain.com/tx/'; + accountExplorerUrl = 'https://explorer-sepolia.inkonchain.com/address/'; + chainId = 763373; + nativeCoinOperationHashPrefix = '763373'; +} + class DogeosTestnet extends Testnet implements EthereumNetwork { name = 'Doge OS Testnet'; family = CoinFamily.DOGEOS; @@ -2694,6 +2712,7 @@ export const Networks = { hedera: Object.freeze(new Hedera()), hederaEVM: Object.freeze(new HederaEVM()), hemieth: Object.freeze(new HemiEth()), + inketh: Object.freeze(new InkEth()), hppeth: Object.freeze(new Hppeth()), icp: Object.freeze(new Icp()), ip: Object.freeze(new IP()), @@ -2819,6 +2838,7 @@ export const Networks = { hppeth: Object.freeze(new HppethTestnet()), hederaEVM: Object.freeze(new HederaEVMTestnet()), hemieth: Object.freeze(new HemiEthTestnet()), + inketh: Object.freeze(new InkEthTestnet()), icp: Object.freeze(new IcpTestnet()), ip: Object.freeze(new IPTestnet()), initia: Object.freeze(new InitiaTestnet()), diff --git a/modules/statics/test/unit/fixtures/expectedColdFeatures.ts b/modules/statics/test/unit/fixtures/expectedColdFeatures.ts index d0e364771c..e8f2dc0bee 100644 --- a/modules/statics/test/unit/fixtures/expectedColdFeatures.ts +++ b/modules/statics/test/unit/fixtures/expectedColdFeatures.ts @@ -99,6 +99,7 @@ export const expectedColdFeatures = { 'hash', 'hbarevm', 'hemieth', + 'inketh', 'hoodeth', 'hppeth', 'icp', @@ -173,6 +174,7 @@ export const expectedColdFeatures = { 'th', 'thbarevm', 'themieth', + 'tinketh', 'thoodeth', 'thppeth', 'tjovayeth',